Technology & Research

Intel® Technology Journal Home

Volume 11, Issue 04

Multi-Core Software


Intel Technology Journal - Featuring Intel's recent research and development

ISSN 1535-864X DOI 10.1535/itj.1104.03

  • Volume 11
  • Issue 04
  • Published November 15, 2007

Multi-Core Software

Section 1 of 12  

Parallel Software Development with Intel® Threading Analysis Tools

Lihui Wang, Intel Information Technology, Intel Corporation
Xianchao Xu, Intel Information Technology, Intel Corporation

Index words: Intel® Threading Analysis Tools, multi-core, parallel programming, development cycle, threading methodology

Citations for this paper. Wang, L.; Xu, X. "Parallel Software Development with Intel® Threading Analysis Tools." Intel Technology Journal. http://www.intel.com/technology/itj/2007/
v11i4/3-development/1-abstract.htm
(November 2007).

ABSTRACT

While multi-core processors are designed for greater performance with optimal power consumption, the parallel algorithm design and software development that is needed to maximize the performance potential of multi-core systems are much more complicated than those associated with serial computing. Even though parallel computing has long been studied by researchers, there is no general framework to implement parallel programming for different software applications. Programmers face three immediate challenges when applying parallelism to software development: scalability, correctness, and maintainability. Applicable parallel methodology and new software development tools are greatly needed by programmers working in this environment. To keep software applications in sync with the multi-core processors that are becoming mainstream in the marketplace, Intel provides a whole set of threading software products.

A multiple pattern matching algorithm is the core algorithm of the detection engine in the rule-based Intrusion Detection System (IDS). Most of the research on improving the performance of this algorithm is based on serial computing. Actually, the performance of the algorithm can be improved greatly through parallelization on multi-core systems. By threading and tuning a typical multiple pattern matching algorithm, we show how to apply parallel principles during each phase of a generic development cycle while utilizing Intel® Threading Analysis Tools to pinpoint the bottlenecks and thread-safety errors and to improve overall performance. Moreover, we specifically compare the implementation method and performance gain of the Windows* Threading API against that of Intel® Threading Building Blocks (Intel® TBB), when implementing the parallel multiple pattern matching algorithm with the experimental performance data presented.

Section 1 of 12  

Back to Top

In this article

Download a PDF of this article.