Professional Documents
Culture Documents
Understanding Parallelism
• Definition of Parallelism in Computing
• Rationale for Adopting Parallelism
• Key Advantages of Parallel Computing
Types of Parallelism
• Understanding Data Parallelism
• Understanding Task Parallelism
• Comparative Analysis of Data and Task Parallelism
Data Parallelism
• Basic Principles Behind Data Parallelism
• Partitioning
• Synchronization
• Typical Applications Using Data Parallelism
• Array and Vector Operations
• Image Processing
• Machine Learning
• Strengths and Limitations of Data Parallelism
• Scalability – Linear speed-up
• Simplicity
• Overhead
Task Parallelism
• Basic Principles Behind Task Parallelism
• Independence of tasks
• Coordination and communication
• Dynamic task scheduling
• Typical Applications Using Task Parallelism
• Simulations
• Web servers
• Graphic Rendering
• Strengths and Limitations of Task Parallelism
Task Parallelism
• Strengths and Limitations of Task Parallelism
• Maximized CPU utilization
• Better load balancing
• Overhead
• Complexity
Amdahl's Law
• Mathematical Formulation of Amdahl's Law
• It quantifies the maximum speedup achievable by parallelizing a
program.