OpenMP - Performance Expectations

Performance Expectations

One might expect to get an N times speedup when running a program parallelized using OpenMP on a N processor platform. However, this seldom occurs for these reasons:

  • When a dependency exists, a process must wait until the data it depends on is computed.
  • When multiple processes share a non-parallel proof resource (like a file to write in), their requests are executed sequentially. Therefore each thread must wait until the other thread releases the resource.
  • A large part of the program may not be parallelized by OpenMP, which means that the theoretical upper limit of speedup is limited according to Amdahl's law.
  • N processors in a symmetric multiprocessing (SMP) may have N times the computation power, but the memory bandwidth usually does not scale up N times. Quite often, the original memory path is shared by multiple processors and performance degradation may be observed when they compete for the shared memory bandwidth.
  • Many other common problems affecting the final speedup in parallel computing also apply to OpenMP, like load balancing and synchronization overhead.

Read more about this topic:  OpenMP

Famous quotes containing the words performance and/or expectations:

    No performance is worth loss of geniality. ‘Tis a cruel price we pay for certain fancy goods called fine arts and philosophy.
    Ralph Waldo Emerson (1803–1882)

    It’s important to remember that feminism is no longer a group of organizations or leaders. It’s the expectations that parents have for their daughters, and their sons, too. It’s the way we talk about and treat one another. It’s who makes the money and who makes the compromises and who makes the dinner. It’s a state of mind. It’s the way we live now.
    Anna Quindlen (20th century)