Performance - Basic Concepts (E1)
Description: This module introduces the performance aspects of parallel computing. This is an important module as it provides motivations of parallel computing. The module looks into fundamental terminologies and concepts of parallel computing such as level of parallelism, speedup, Amdahls law. As sequential Quicksort is one of the most popular sequential sorting algorithms, a parallel Quicksort algorithm is introduced to demonstrate the concept of speedup and performance gains
Recommended Length: Two lectures (~2:30 min)
Recommended Course: Data Structures, Compilers
Topics and Learning outcomes (per NSF/IEEE-TCPP PDC Curriculum):
- [Architecture]Two facets of performance: time and units of work
- [Architecture] Key factors in performance: number of instructions; average # of clock cycles per instruction; clock cycle time
- [Architecture] Limit of increasing clock rate; Moores law
- [Architecture] Level of parallelism: (a) Bit level parallelism; (b) Instructional level; (c) Data level; (d) Task level
- [Architecture] Trend in parallel computing architecture
- [Algorithm] Speedup
- [Architecture, Algorithm] Amdahls law and its significance
- [Programming] Parallel Quicksort: (a) Basic concept; (b) The algorithm; (c) Performance analysis
Lecture Material: [ PDF ] [ PPT ]
Sample Source Code:
Pedagogical Notes: available for instructors only
Sample Exam Question: available for instructors only