Difference between revisions of "Distributed memory programming"

From SNIC Documentation
Jump to: navigation, search
(Created page with "Category:Parallel programming Distributed memory programming is a form of parallel programming.")
 
Line 1: Line 1:
 
[[Category:Parallel programming]]
 
[[Category:Parallel programming]]
Distributed memory programming is a form of parallel programming.
+
Distributed memory programming is a form of [[:Category:Parallel programming|parallel programming]].  When executing a distributed memory program a number of actual programs, commonly referred to as tasks, are executed simultaneously.  Each task has its own private memory space, which is not normally allowed to be accessed by any of the other tasks.  The data of the entire calculation has to be distributed by the programmer onto these private memory spaces, hence the name.
 +
Many distributed memory programs require frequent and rapid data exchanges between the tasks.  Explicit [[message passing]] is typically deployed to facilitate these data exchanges.
 +
 
 +
Distributed memory programs using message passing are suitable to be executed on a wide variety of compute platforms, ranging from multi-core desktop systems to the largest supercomputers in the world.  Distributed memory programming is typically the programming model of choice for a clustered HPC system, when the program requirements towards computational speed and/or main memory exceed the capabilities of a single node.  The HPC clusters available at the [[:Category:SNIC_centre|SNIC centres]] provide high performance communication networks to minimise the message passing overheads.

Revision as of 15:53, 24 October 2011

Distributed memory programming is a form of parallel programming. When executing a distributed memory program a number of actual programs, commonly referred to as tasks, are executed simultaneously. Each task has its own private memory space, which is not normally allowed to be accessed by any of the other tasks. The data of the entire calculation has to be distributed by the programmer onto these private memory spaces, hence the name. Many distributed memory programs require frequent and rapid data exchanges between the tasks. Explicit message passing is typically deployed to facilitate these data exchanges.

Distributed memory programs using message passing are suitable to be executed on a wide variety of compute platforms, ranging from multi-core desktop systems to the largest supercomputers in the world. Distributed memory programming is typically the programming model of choice for a clustered HPC system, when the program requirements towards computational speed and/or main memory exceed the capabilities of a single node. The HPC clusters available at the SNIC centres provide high performance communication networks to minimise the message passing overheads.