Book review: A VLSI Architecture for Concurrent Data Structures by William J. Dally (Kluwer 1988)
暂无分享,去创建一个
William J. Dally, in his P h . D . thesis, presented a view of designing and programming concurrent computers that promises to influence the methods used by future computers to solve hard problems. A VLSI Archi tecture for Concurrent Data Structures, which won the Clauser prize at Cal Tech in 1986, is presented along with new material based on further research at MIT. This book incorporates a full blown architecture designed to support concurrent ob jec t -o r i en ted p rog ramming and describes a system which encompasses the design of a programming language, data structures and algorithms, as well as hardware to complement these functions. Dally's Concurrent Smalltalk (CST), a derivative of Smalltalk-80, allows the programmer to specify objects that are distributed over the nodes on a concurrent computer. These distributed objects have const i tuent objects, and thereby process many messages simultaneously. CST computes by having objects send messages to other objects. Objects never wait for or explicit ly receive messages. Instead, objects are reactive, since arrival of a message triggers an action at the object. Actions (such as modifying the state of an object, transmitting control messages, or creating new objects) are the primitives upon which computation is built. Each action is atomic, so it is possible to order totally the actions for a single object. Methods are constructed by sequenc ing act ions with messages . Often a method sends a message to an object and waits for a reply, but in other cases methods send several messages before waiting for any reply. Dally i l lustrates this by designing parallel algorithms and CST programs. These algorithms use a new data s t ruc ture for imp lemen t ing ordered sets, the balanced cube, which eliminates the root bottleneck of conventional ordered set structures such as trees. In the balanced cube processing may begin at any node, o f fe r ing s ign i f i can t ly improved c o n c u r r e n c y . This language independent s t ructure and the addition of distributed objects to Smal l ta lk-80 con t r ibu te s ignif i cantly to algorithm development. A system with so many messages passing demands fast access to objects, and Dally provides this with the selftimed Torus Routing Chip (TRC), which enables node to -node communica t ion times in an ensemble of processors that approach main memory access times of sequential machines. Thus with careful placement among nodes so that objects frequently communicat ing reside adjacent to each other, message latency is minimized. Dally further reduces the overhead of interpreting the messages by designing a processor that matches the behavior of the objectbased model of computation. He removes a level of interpretation by designing a messagedriven processor, i. e., messages are the instructions of the processor. Noting the advantages gained by special purpose computers over general purpose computers for solving hard problems, Dally suggests cons t ruct ing a machine around object experts, or hardware accelerators for operations on common data structures, with several object experts clustered at each general-purpose processor. Since these object experts specialize in data s t ruc tures ra ther than appl ica t ions , the machine is not strictly tied to a particular class of applications. Dally writes in a clear, fr iendly style and uses the first person rather than resort to the passive voice found