O'Reilly logo

Patterns for Parallel Software Design by Jorge Luis Ortega-Arjona

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

2.2. 2.2 Factors that Influence the Performance of a Parallel Program

Parallel programming is a complex activity that is aimed at developing the specifications of parallel processes that execute simultaneously and non-deterministically to obtain gains in execution time. The performance obtained when applying parallel programming is affected by the hardware platform, the programming language and the problem to be solved [Pan96]. Some important features of these factors are described below.

2.1.1. The Hardware Platform

A parallel computer is generally considered as any collection of processing elements connected through some type of communication network, where a 'processing element' is composed of hardware devices such as a processor and its associated memory. Contemporary parallel computers range in price and size from a single multi-core chip, through a group of workstations connected through a LAN, to a high-performance (and cost) computer involving hundreds or thousands of processors connected via a high-speed network. The performance of any parallel application is ultimately bounded by the speed, capacity and interfaces of each processing element.

Programming a parallel computer depends on how the memory of the hardware platform is organized or divided among the processors. There are two commonly used memory organizations: shared memory and distributed memory. Depending on which is used for a parallel computer, different mechanisms for process communication are selected for ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required