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:

    There are people who think that wrestling is an ignoble sport. Wrestling is not sport, it is a spectacle, and it is no more ignoble to attend a wrestled performance of suffering than a performance of the sorrows of Arnolphe or Andromaque.
    Roland Barthes (1915–1980)

    Hope is itself a species of happiness, and, perhaps, the chief happiness which this world affords: but, like all other pleasures immoderately enjoyed, the excesses of hope must be expiated by pain; and expectations improperly indulged must end in disappointment.
    Samuel Johnson (1709–1784)