Next: Routing in Message Passing
Up: Message Passing Architecture
Previous: Message Passing Architecture
Contents
Introduction to Message Passing
- A message passing architecture is used to communicate data among a set of processors without the need for a global memory.
- The elimination of the need for a large global memory together with
its synchronization requirement, gives message passing schemes an edge over
shared memory schemes.
- Each processor has its own address space. Nodes communicate with each other by
- links (called external channels)
- via an interconnection network, normally a static-type network.
- In particular, hypercubes and the nearest-neighbor two-dimensional and three-dimensional mesh interconnection networks have received considerable attention over the years.
- Two important factors must be considered in designing message passing interconnection networks:
- link bandwidth; defined as the number of bits that can be transmitted per unit of time (bits/s).
- network latency; defined as the time to complete a message transfer through the network.
- In executing a given application program, the program is divided into concurrent processes; each is executed on a separate processor.
- If the number of processes is larger than the number of processors, then more than one process will have to be executed on a processor in a time-shared fashion.
- Processes running on a given processor use what is called internal channels to exchange messages among themselves.
- Processes running on different processors use the external channels to exchange messages (see Fig. 6.2, in this figure, a horizontal line represents the execution of each process and lines extended among processes represent messages exchanged among these processes.).
- An important advantage of this form of data exchange is the elimination of the need for synchronization constructs, such as semaphores, which results in performance improvement.
- In addition, a message passing scheme offers flexibility in accommodating a large number of processors in addition to being readily scalable.
Figure 6.2:
An example of a message passing system.
|
- A message is defined as a logical unit for internode communication;
it is considered as a collection of related information that travels together as an entity. A message can be
- an instruction,
- data,
- synchronization,
- interrupt signals.
- A message passing system interacts with the outside world by receiving input message(s) and/or outputting message(s). It is essential that the outside world perceives a consistent behavior of a given message passing system.
- Process Granularity; The size of a process in a message passing system can be described by a parameter called process granularity.
Three types of granularity can be distinguished. These are:
- Coarse granularity: Each process holds a large number of sequential instructions and takes a substantial amount of time to execute.
- Medium granularity: Since the process communication overhead increases as the granularity decreases, medium granularity describes a middle ground where communication overhead is reduced.
- Fine granularity: Each process contains a few sequential instructions (as few as just one instruction).
Message passing multiprocessors uses mostly medium or coarse granularity.
Next: Routing in Message Passing
Up: Message Passing Architecture
Previous: Message Passing Architecture
Contents
Cem Ozdogan
2006-12-27