Architecture of high performance computers

Architecture of high performance computers

426 Book Reviews Architecture of High Performance Computers, Volumes I and II, by R. N. IBBETT and N. P. TOPHAM, Macmillan C o m p u t e r Science S...

109KB Sizes 0 Downloads 96 Views

426

Book Reviews

Architecture of High Performance Computers, Volumes I and II, by R. N. IBBETT and N. P. TOPHAM, Macmillan C o m p u t e r Science Series (1989), ISBN 0-333-46362-5 Vol. 1 pbk, ISBN 0-333-48988-8 Vol. 2 pbk High performance computers are continuing their path of rapid change. Advanced architectures and faster circuits promise enhanced processing speed, and better price/ performance in emerging systems. From the earliest days, it has been common practice that high performance computers used a large amount of underlying parallel hardware. In the last five years, this trend was extended by new multiprocessor architectures, to encompass complete parallel processing systems. Among the many examples, we have the CRAY Y-MP, the Connection Machine CM-1, the BBN Butterfly, NCUBE, the Intel iPSC/2 and the Meiko Computing Surface. The proliferation of high performance computers, often accompanied with marketing hype, makes the arrival of these two volumes and in particular Volume II, timely. Volume I, is a revised version of the 1982 original edition and by necessity deals with historical uniprocessors, mostly vector machines. What the authors set out to show is that these high performance structures described in Volume I, are applicable to the design of elements of todays parallel processors. The architectural genealogy of high performance computers can be traced back to the 1960s. The simple Flynn taxonomy classifies most machines as it distinguishes SISD (single instruction single data), SIMD (single instruction multiple data) and MIMD (multiple instruction multiple data) computers. Variants of these systems have developed based on type of memory, whether shared, hierarchical or distributed, and type of topology the architecture uses; whether the CPUs are tightly coupled, are arranged as a hybercube, a grid array, a network or as a hybrid. The first volume starts with the work done over the years at Manchester University, where Kilburn, Turin and Professor Ibbett learned and practised their trade. In Chs 1 and 2 we are treated to the Ferranti Mark I (1951), the Mercury (1957) and the MU5, an experimental machine designed in the late 1960s and prototyped in the early 1970s, as a design vehicle for the ICL 2900 series. The authors then proceed to describe the various elements of the main high performance computers, from the CDC 6600, CDC 7600, the IBM 360/195, to later vector processors such as the CRAY-1 and Cyber 205. The architecture of these machines is accurately described. Processor organization elements elaborated, varied from the CDC 6600 scratch pad registers, instruction stack, the scoreboard and functional units, to the virtual memory page mechanism of the ATLAS machine. The various cache implementations of the IBM systems and the instruction buffers of the CRAY-1 are also discussed and their functionality explained. Pipelining as a concept and as implemented in the CRAY-1 and the Cyber 205 is treated in depth. By Ch. 7 most of the architectural elements embodied in computers of the 1960s and 1970s includirlg the Burroughs BSP, and the Texas Instruments ASC have been briefly dealt with. The next two chapters deal with the CRAY-1 and the Cyber 205 series. Throughout this volume appropriate elements of the MU5 architecture are interposed as case

studies. Ibbett and Topham presumably intended this as a counterpoint to the other systems but, it also provides first hand insights of the difficult choices and trade-offs computer designers have to make when implementing a particular architecture. This difficulty is compounded by the technology constraints imposed upon them. The last chapter deals with the theoretical aspects of performance of vector machines. Both Amdahl's law for a two state machine and the n~/2 measure of parallelism of Hockney are elaborated and mathematically formulated. The clarity of Fig. 10.3 can be improved by presenting maximum speedup as the ratio of the vector to the scalar speed. Volume I is clear, accurate, and well presented but, suffers a little from too much dependence on the MU5, a machine not exposed to the rigours of production and hence its architecture is essentially unproven. Volume II is dedicated to SIMD array processors and MIMD multiprocessor systems. Chapters 1, 2, 4 and 5 deal with array processors and Chs 6-9 with MIMD multiprocessors. Chapter 3 deals with interconnection structures, relevant to all parallel systems. This is a pivotal chapter and if properly understood it sheds light on the limits of present and future high performance computers. Analysis of "massively" parallel processors shows that the impact of communication delays between processors, even in idealized models, is non-linear. On present systems, highly parallelized problems still reach a relatively low level of overall system utilization as a consequence of interprocessor communications. The case studies of the ICL DAP and the Connection Machine CM-I fully illustrate the SIMD architecture, and their treatment is detailed and well presented. Two clases of MIMD machines are described. The ones with shared memory, the CRAY Y-MP, Sequent Balance, Encore Multimax and the BBN Butterfly; and message passing multiprocessors as for example, the NCUBE, Intel iPSC and the Meiko computing surface. Once again, aspects of performance are fully dealt with, in Ch. 10. The choice of languages for illustrating parallelism, LISP for the CM-I, Ada and OCCAM for the transputer based machines, reflects existing reality and also highlights a major weakness of these systems. Scientific computing is overwhelmingly programmed in Fortran for the simple reason that Fortran has a long tradition of standards and portability. A choice of any other language for parallel machines has been a marketing disaster. Danny Hillis the CM-1 designer has admitted recently at the Supercomputer 90 conference in New York that choosing LISP instead of Fortran was a mistake. Overall, these two volumes provide a useful compilation of existing architectures of high performance computers and excellent material for an undergraduate course.

University of London Computer Centre

C. LAZOU