The Cosmic Cube

The Cosmic Cube

ARTCLES THE COSMIC CUBE Sixty-four small computers are connected by a network of point-to-point communication channels in the plan of a binary 6-cube. This “Cosmic Cube” computer is a hardware simulation of a future VLSI implementation that will consist of single-chip nodes. The machine offers high degrees of concurrency in applications and suggests that future machines with thousands of nodes are both feasible and attractive. CHARLES L. SEITZ The Cosmic Cube is an experimental computer for ex- highly concurrent systems of this type are an effective ploring the practice of highly concurrent computing. means of achieving faster and less expensive computing The largest of several Cosmic Cubes currently in use at in the near future. The Cosmic Cube nodes were de- Caltech consists of 64 small computers that work con- signed as a hardware simulation of what we expect to currently on parts of a larger problem and coordinate be able to integrate onto one or two chips in about five their computations by sending messages to each other. years. Future machines with thousands of nodes are We refer to these individual small computers as nodes. feasible, and for many demanding computing problems, Each node is connected through bidirectional, asyn- these machines should be able to outperform the fastest chronous, point-to-point communication channels to uniprocessor systems. Even with current microelec- six other nodes, to form a communication network that tronic technology, the 64-node machine is quite power- follows the plan of a six-dimensional hypercube, what ful for its cost and size: It can handle a variety of de- we call a binary 6-cube (see Figure 1). An operating manding scientific and engineering computations five system kernel in each node schedules and runs proc- to ten times faster than a VAX1 l/780. esses within that node, provides system calls for proc- esses to send and receive messages,and routes the mes- THE MESSAGE-PASSING ARCHITECTURE sages that flow through the node. A significant difference between the Cosmic Cube and The excellent performance of the Cosmic Cube on a most other parallel processors is that this multiple- variety of complex and demanding applications and its instruction multiple-data machine uses messagepassing modest cost and open-ended expandability suggest that instead of shared variables for communication between concurrent processes. This computational model is re- The research described in this paper was sponsored by the Defense Advanced Research Projects Agency, ARPA order number 3771, and monitored by the flected in the hardware structure and operating system, Office of Naval Research under contract number Nooo14-79-C-0597. and is also the explicit communication and synchroni- 0 1985 ACM OOOl-0782/85/0100-00’22 756 zation primitive seen by the programmer. 22 Communications of the ACM ]anuary 1985 Volume 28 Number 2 Articles The hardware structure of a message-passing ma- different latencies. It is possible, therefore, to take ad- chine like the Cosmic Cube differs from a shared- vantage of communication locality in placing processes storage multiprocessor in that it employs no switching in nodes. network between processors and storage (see Figure 2). Message-passing machines are simpler and more eco- The advantage of this architecture is in the separation nomical than shared-storage machines; the greater the of engineering concerns into processor-storage commu- number of processors, the greater this advantage. How- nication and the interprocess communication. The crit- ever, the more tightly coupled shared-storage machine ical path in the communication between an instruction is more versatile, since it is able to support code and processcr and its random-access storage, the so-called data sharing. Indeed, shared-storage machines can eas- von Neumann bottleneck, can be engineered to exhibit ily simulate message-passing primitives, whereas a much smaller latency when the processor and storage message-passing machines do not efficiently support are physically localized. The processor and storage ‘code and data sharing. might occupy a single chip, hybrid package, or circuit Figure z emphasizes the differences between shared- board, depending on the technology and complexity of storage and message-passing organizations by represent- the node. ing the extreme cases. We conjecture that shared- It was a premise of the Cosmic Cube experiment that storage organizations will be preferred for systems with the internode communication should scale well to very tens of processors, and message-passing organizations large numbers of nodes. A direct network like the hy- for systems with hundreds or thousands of processing percube satisfies this requirement, with respect to both nodes. Hybrid forms employing local or cache storage the aggregate bandwidth achieved across the many con- with each processor, with a message-passing approach current Icommunication channels and the feasibility of to nonlocal storage references and cache coherence, the implementation. The hypercube is actually a dis- may well prove to be the most attractive option for tributed variant of an indirect logarithmic switching systems having intermediate numbers of processors. network like the Omega or banyan networks: the kind that might be used in shared-storage organizations. With the! hypercube, however, communication paths PROCESS PROGRAMMING traverse different numbers of channels and so exhibit The hardware structure of the Cosmic Cube, when viewed at the level of nodes and channels, is a difficult target for programming any but the most highly regular computing problems. The resident operating system of the Cosmic Cube creates a more flexible and machine- independent environment for concurrent computations. This process model of computation is quite similar to the hardware structure of the Cosmic Cube but is use- fully abstracted from it. Instead of formulating a prob- lem to fit on nodes and on the physical communication channels that exist only between certain pairs of nodes, the programmer can formulate problems in terms of processes and “virtual” communication channels be- tween processes. The basic unit of these computations is the process, which for our purposes is a sequential program that sends and receives messages.A single node may con- tain many processes. All processes execute concur- rently, whether by virtue of being in different nodes or by being interleaved in execution within a single node. Each process has a unique (global) ID that serves as an address for messages.All messages have headers con- taining the destination and the sender ID, and a mes- sage type and length. Messages are queued in transit, but message order is preserved between any pair of processes. The semantics of the message-passing opera- A hypercube connects N = 2” small computers, called nodes, tions are independent of the placement of processes in through point-to-point communication channels in the Cosmic nodes. Cube. Shown here is a two-dimensional projection of a six- Process programming environments with interprocess dimensional hypercube, or binary G-cube, which corresponds to communication by messagesare common to many mul- a 64-node machine. tiprogramming operating systems. A copy of the resi- dent operating system of the Cosmic Cube, called the FIGURE1. A Hypercube (also known as a binary cube or a “kernel,” resides in each node. All of these copies are Boolean mcube) concurrently executable. The kernel can spawn and January 1585 Volume 28 Number 1 Communications of the ACM 23 Articles kill processes within its own node, schedule their exe- PROCESS DISTRIBUTION cution, spy on them through a debug process, manage It was a deliberate decision in the design of the kernel storage, and deal with error conditions. The kernel also that once a process was instantiated in a node, the handles the queuing and routing of messagesfor proc- kernel would not relocate it to another nod% One con- esses in its node, as well as for messagesthat may pass sequence of this restriction is that the physical node through its node. Many of the functions that we would number can be included in the ID for a process. This expect to be done in hardware in a future integrated eliminates the awkward way in which a distributed node, such as message routing, are done in the kernel map from processes to nodes would otherwise scale in the Cosmic Cube. We are thus able to experiment with the number of nodes. Messages are routed accord- with different algorithms and implementations of low- ing to the physical address part of the destination proc- level node functions in the kernel. ess ID in the message header. The Cosmic Cube has no special programming nota- This decision was also consistent with the notion that tion. Process code is written in ordinary sequential pro- programmers should be able to control the distribution gramming languages (e.g., Pascal or C) extended with f nrocesses onto the nodes on the basis of an under- statements or external procedures to control the send- standin of the structure of the concurrent computation ing and receiving of messages.These programs are com- &+- erformed.natively, since-- it is only the effi- piled on other computers and loaded into and relocated ciency of a multiple-process program that is influenced within a node as binary code, data, and stack segments. by process placement, the choice of the node in which t s s S S S S S S Storage . modules I I I ' A I I I I I I Switching network I I . I I I I ’ P P P P P P P P Processors . (a) Most multiprocessors are structured with a switching well to large sizes. Communication between processes run- network, either a crossbar connection of buses or a multi- ning concurrently in different processors occurs through stage routing network, between the processors and storage. shared variables and common access to one large address The switching network introduces a latency in the communi- space.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    12 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us