CSC/ECE 506 Fall 2007/wiki1 6 r8e: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
== Communication Architecture Background ==
== Communication Architecture Background ==
Parallel computers must have two types of architectures.  One of these is this computer architecture, or that of the individual processors that are interconnected.  Each processor has an instruction set architecture and microarchitecture, or a system of computer organization at a very low level that make of the computer architecture.  The second type of architecture that is needed for parallel computing is that of a commuincation architecture, or a way in which the individual processors can communicate and work together to do useful things, this includes synchronization among the processors.   
Parallel computers must have two types of architectures.  One of these is this computer architecture, or that of the individual processors that are interconnected.  Each processor has an instruction set architecture and microarchitecture, or a system of computer organization at a very low level that make of the computer architecture.  The second type of architecture that is needed for parallel computing is that of a commuincation architecture, or a way in which the individual processors can communicate and work together to do useful things, this includes synchronization among the processors.  Also, the commuincation architecture is closely linked with the hardware of the parallel computer because the hardware must be able to accomodate the communication operations.   


== Three Parallel Programming Models ==
== Parallel Programming Models ==
Many parallel programming models exist, however the most common are described below.
Many parallel programming models exist, the most common are described below. In the beginning of parallel computing a single programming model was used for one sytem.  The hardware was constructed to support only the communication operations that the specific programming model needed.  As parallel computing became more widespread though their has been a convergence of programming models. 


=== Shared Address Space ===
=== Shared Address Space ===
Line 9: Line 9:


=== Message Passing ===
=== Message Passing ===
Message passing machines convey information in a way similar to that of a phone call or a letter.  There are very specific events that trigger the movement of information from a unique sender to a unique receiver.
Message passing machines convey information in a way similar to that of a phone call or a letter.  There are very specific events that trigger the movement of information from a unique sender to a unique receiver.


=== Data Parallel ===
=== Data Parallel ===
Data parallel programming is by far the most regulated of the three parallel programming models.  In this type of programming work is carried out on different elements of a data set by different operators.  Once all operations are finished information is exchanged among all, basically after the work is done a "global reorganization of data" is carried out.
Data parallel programming is by far the most regulated of the three parallel programming models.  In this type of programming work is carried out on different elements of a data set by different operators.  Once all operations are finished information is exchanged among all, basically after the work is done a global data organization is performed.

Revision as of 22:15, 5 September 2007

Communication Architecture Background

Parallel computers must have two types of architectures. One of these is this computer architecture, or that of the individual processors that are interconnected. Each processor has an instruction set architecture and microarchitecture, or a system of computer organization at a very low level that make of the computer architecture. The second type of architecture that is needed for parallel computing is that of a commuincation architecture, or a way in which the individual processors can communicate and work together to do useful things, this includes synchronization among the processors. Also, the commuincation architecture is closely linked with the hardware of the parallel computer because the hardware must be able to accomodate the communication operations.

Parallel Programming Models

Many parallel programming models exist, the most common are described below. In the beginning of parallel computing a single programming model was used for one sytem. The hardware was constructed to support only the communication operations that the specific programming model needed. As parallel computing became more widespread though their has been a convergence of programming models.

Shared Address Space

Shared address space programming can be understood best when related to a message or bulletin board. Anyone can post a message on this board, and anyone can read what others have written. The key to the shared address space model is the fact that all of the vital information is posted in shared locations that can be accessed by all.

Message Passing

Message passing machines convey information in a way similar to that of a phone call or a letter. There are very specific events that trigger the movement of information from a unique sender to a unique receiver.

Data Parallel

Data parallel programming is by far the most regulated of the three parallel programming models. In this type of programming work is carried out on different elements of a data set by different operators. Once all operations are finished information is exchanged among all, basically after the work is done a global data organization is performed.