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 9 of 12  

Parallel Software Development with Intel® Threading Analysis Tools

CONCLUSION

As multi-core processors become mainstream in the marketplace, software development needs to go parallel to fully exploit the performance potential of multi-core systems. For the rule-based IDS such as Snort, the parallel pattern matching algorithm in its detection engine can greatly improve the performance of intrusion detection, which in turn improves the performance of the overall IDS. As the IDS becomes more and more important in network security, and the efficiency of its detection engine contributes more to the overall performance of the IDS, it is worth it to parallelize the detection engine to attain the greatest performance gain in a multi-core environment.

Intel® Threading Analysis Tools help developers write high-performance parallel software in all of the phases of the development cycle. By parallelizing the Aho-Corasick_Boyer-Moore algorithm using both the Win32 threading API and Intel® TBB, we show how to parallelize and tune applications with Intel threading tools. We also show how to apply the parallel methodology to the real application during the analysis, design, and tuning phases. After performance tuning, both threading methods achieve much better performance than their serial counterparts. The Intel TBB attains a greater performance gain compared to the Win32* threading API, and it provides a more generic threading model to ease the implementation of parallelism.

  Section 9 of 12  

Back to Top

In this article

Download a PDF of this article.