Presentation is loading. Please wait.

Presentation is loading. Please wait.

Parallel Software Development with Intel Threading Analysis Tools

Similar presentations


Presentation on theme: "Parallel Software Development with Intel Threading Analysis Tools"— Presentation transcript:

1 Parallel Software Development with Intel Threading Analysis Tools
Author: Lihui Wang, Xianchao Xu Publisher: Intel Technology Journal Presenter: 歐子揚, 劉楷陽 Date: 2013/01/17

2 Outline Introduction Principles of Parallel Application Design
Challenges of Parallel Programming Multiple Pattern Matching Algorithm Parallelization with the Win32 Threading Library Parallel Computing with Intel TBB Results

3 Introduction As multi-core processors become mainstream in the market place, software needs to be parallel to take advantage of multiple cores. In order to make life easier for developers, Intel provides a set of threading tools targeting various phases of the development cycle. In a generic development cycle, program development can be divided into four phases : Analysis phase Design/implementation phase Debug phase Testing/tuning phase

4 Intel’s threading tools provide aids for developers from performance analysis to implementation and debugging: Intel VTune Performance Analyzer Intel Thread Profiler Intel Thread Checker Intel Threading Building Blocks (Intel TBB)

5 Principles of Parallel Application Design
Decomposition Techniques Functional decomposition Data decomposition Parallel Models Data parallel model Task parallel model Hybrid models

6 Amdahl’s Law

7 Challenges of Parallel Programming
Parallel Overhead Synchronization Load Balance Granularity

8 Multiple Pattern Matching Algorithm Aho-Corasick Boyer-Moore Algorithm

9

10 Parallelization with the Win32 Threading Library

11 ms -> ms

12

13 ms -> ms

14 ms -> ms ms -> ms The scalability compared to serial processing is / = 1.54 (the ideal is 1.867)

15 Parallel Computing with Intel TBB
While the Win32 threading library gives programmers great flexibility by giving them detailed control over threads, the library brings challenges for them too. To make it easier for programmers to realize parallelism, Intel TBB provides a high-level generic implementation of parallel patterns and concurrent data structures.

16

17 Results

18 The average Scalability tbb=1. 655, and the average Scalabilitywin32=1
Considering the ideal scalability is 1.867, Intel TBB demonstrates good scaling performance on a dual core system.


Download ppt "Parallel Software Development with Intel Threading Analysis Tools"

Similar presentations


Ads by Google