previous | contents | next

Section 4 ½ Multiple-Processor Systems 333

Meanwhile, multiprocessor systems were evolving. A multiprocessor system is distinguished from a network in that in the former, processors share memory, whereas in the latter, processors intercommunicate by a preestablished message protocol. As with networks, there are many reasons for justifying individual multiprocessor structures. A partial list might include:

Peak computing power. The entire system can he devoted to a single problem. A multiprocessor system can solve problems with higher or more frequent interprocessor communication than a network, since interprocessor communications are more efficient.

Performance/cost. Advanced technology produces low-cost processors whose instruction/second/dollar ratio is 10 to 100 times better than that of large, high-speed processors. Even though these low-cost processors have minimal functionality (simple instruction set, limited data types), there are special applications for which this functionality is adequate.

Availability and graceful degradation. Multiprocessor systems can be designed with no central, critical component. Thus failures can be configured out of a system for only an incremental loss in computing power. Multiprocessors are more cost-effective than uniprocessors with respect to the relative cost of redundancy. A uniprocessor system requires redundant hardware for failure detection, diagnosis, and recovery. A multiprocessor need only have hardware for failure detection while relying on the nonaffected processors to perform the diagnosis and recovery in software.

Modular growth. Systems can be designed so that processors, memories, and I/O subsystems can be added incrementally. Thus systems can be tailored to individual applications or grow incrementally to meet demand.

Functional specialization. Functionally specialized processors can be added to improve performance for a particular application.

The next section examines some generic processor interconnection schemes and illustrates the continuum of computer structures between networks and multiprocessors. Subsequently, parameters of this design space are presented and the space illustrated by examples of existing multiple-processor systems.


General Multiple-Processor Structures: A Continuum

The computer structure space ranging from networks to multiprocessors can be viewed as a near continuum where cost and performance increase as more functions are built into hardware (Figs. 1-3). Table 1 depicts the generic interconnection mechanisms for a two-processor system. The mechanisms can be contrasted along several dimensions:

Data-transfer protocol. The effort required to transfer a single item of information. This may vary from complete coordination of software running on both processors for each individual item (e.g., serial line) to requests resolved automatically by hardware (e.g., multiported memory).

Performance. Maximum number of bits transferred per second.

Interpretation. Whether the information items can be used directly by the other processor (as in shared memory), or whether the total or partial information has to be interpreted (as in messages).

Initialization protocol. The effort to establish an information transfer.

Table 1 Generic Processor Interconnection Mechanisms

System type


Data transfer rate, bit/s

Cost, $

Cost/bit/s, $


Multicomputer systems(networks)

Serial line

7 ´ l03



Software data transfer
Software initialization

Serial bus

1 ´ 106



Hardware data transfer
Software initialization

Bus link

8 ´ 106



Hardware data transfer
Software initialization

Multiprocessor systems

Bus switch

18 ´ 106



Hardware initialization

Bus window

19 ´ 106



Hardware initialization and transfer
Software-initialized mapping

Multiported (shared) memory

25 ´ 106



Hardware initialization and transfer

previous | contents | next