Figure 6:
Left: Tightly coupled system. Right: The Cray-2, the world's fastest computer from 1985 to 1989.
|
- The desire for increased throughput has led to system designs in which multiple streams of processing occurs in parallel. Tightly coupled systems have two or more processors in close communication, sharing the computer bus and sometimes the clock, memory, and peripheral devices. Communication usually takes place through the shared memory. (see Fig. 6left)
- Multiprocessor systems have three main advantages:
- Increased throughput. By increasing the number of processors, we expect to get more work done in less time. When multiple processors cooperate on a task, a certain amount of overhead is incurred in keeping all the parts working correctly. This overhead, plus contention for shared resources, lowers the expected gain from additional processors.
- Economy of scale. Multiprocessor systems can cost less than equivalent multiple single-processor systems, because they can share peripherals, mass storage, and power supplies.
- Increased reliability. If functions can be distributed properly among several processors, then the failure of one processor will not halt the system, only slow it down. If we have ten processors and one fails, then each of the remaining nine processors can pick up a share of the work of the failed processor. Thus, the entire system runs only 10 percent slower, rather than failing altogether.
- The multiple-processor systems in use today are of two types.
- Some systems use asymmetric multiprocessing, in which each processor is assigned a specific task. A master processor controls the system; the other processors either look to the master for instruction or have predefined tasks. This scheme defines a master-slave relationship.
- The most common systems use symmetric multiprocessing (SMP), in which each processor performs all tasks within the OS. SMP means that all processors are peers; no master-slave relationship exists between processors (see Fig. 7).
Figure 7:
Symmetric multiprocessing architecture.
|
- The benefit of SMP model is that many processescan run simultaneously. However, we must carefully control I/O to ensure that the data reach the appropriate processor. Also, since the CPUs are separate, one may be sitting idle while another is overloaded,
resulting in inefficiencies.
- Virtually all modern OSs-including Windows, Windows XP, Mac OS x, and Linux-now provide support for SMP.
- The difference between symmetric and asymmetric multiprocessing may result from either hardware or software. Special hardware can differentiate the multiple processors, or the software can be written to allow only one master and multiple slaves.
- A recent trend in CPU design is to include multiple compute cores on a single chip (see Fig. 8). In essence, these are multiprocessor chips. Aside from architectural considerations such as cache, memory, and bus contention, these multi-core CPus look to the OS just as N standard processors.
Figure 8:
A Dual-Core Design.
|
Cem Ozdogan
2010-02-20