Module 10: Open Multi-Processing
  Lecture 19: What is Parallelization?
 


Open Multi-Processing

What is Parallelization?

Parallelization

Simultaneous use of more than one processor to complete some work is parallelization of the work.

  • This work can be:
    • A collection of program statements
    • An algorithm
    • A part of program
    • The problem you are trying to solve

Parallel Overhead

  • Overhead is introduced during parallelization due to :
    • Creation of threads(fork())
    • Joining of threads (join())
    • Thread synchronization and communication e.g. critical
    • sections
    • False sharing
    • Overhead is introduced during parallelization due to :
  • Creation of threads(fork())
    • Joining of threads (join())
    • Thread synchronization and communication e.g. critical
    • sections
    • False sharing
    • Overhead increases with number of threads
    • Efficient parallelization is minimizing this overheads