Introduction to Advanced Computer Architecture and Parallel Processing

Computer architects have always strived to increase the performance of their computer architectures. High performance may come from fast dense circuitry, packaging technology, and parallelism. Single-processor supercomputers have achieved unheard of speeds and have been pushing hardware technology to the physical limit of chip manufacturing. However, this trend will soon come to an end, because there are physical and architectural bounds that limit the computational power that can be achieved with a single-processor system. In this book we will study advanced computer architectures that utilize parallelism via multiple processing units. Parallel processors are computer systems consisting of multiple processing units connected via some interconnection network plus the software needed to make the processing units work together. There are two major factors used to categorize such systems: the processing units themselves, and the interconnection network that ties them together. The processing units can communicate and interact with each other using either shared memory or message passing methods. The interconnection network for shared memory systems can be classified as bus-based versus switch-based. In message passing systems, the interconnection network is divided into static and dynamic. Static connections have a fixed topology that does not change while programs are running. Dynamic connections create links on the fly as the program executes. The main argument for using multiprocessors is to create powerful computers by simply connecting multiple processors. A multiprocessor is expected to reach faster speed than the fastest single-processor system. In addition, a multiprocessor consisting of a number of single processors is expected to be more cost-effective than building a high-performance single processor. Another advantage of a multiprocessor is fault tolerance. If a processor fails, the remaining processors should be able to provide continued service, albeit with degraded performance. Most computer scientists agree that there have been four distinct paradigms or eras of computing. These are: batch, time-sharing, desktop, and network. Table 1.1 is modified from a table proposed by Lawrence Tesler. In this table, major characteristics of the different computing paradigms are associated with each decade of computing, starting from 1960. By 1965 the IBM System/360 mainframe dominated the corporate computer centers. It was the typical batch processing machine with punched card readers, tapes and disk drives, but no connection beyond the computer room. This single main-frame established large centralized computers as the standard form of computing for decades. The IBM System/360 had an operating system, multiple programming languages, and 10 megabytes …

[1]  Daniel H. Linder,et al.  An Adaptive and Fault Tolerant Wormhole Routing Strategy for k-Ary n-Cubes , 1994, IEEE Trans. Computers.

[2]  Jack Dongarra,et al.  Experimental parallel computing architectures , 1987 .

[3]  Péter Kacsuk,et al.  Advanced computer architectures - a design space approach , 1997, International computer science series.

[4]  Richard M. Fujimoto,et al.  Multicomputer Networks: Message-Based Parallel Processing , 1987 .

[5]  Allan Gottlieb,et al.  Highly parallel computing , 1989, Benjamin/Cummings Series in computer science and engineering.

[6]  Ralph Duncan,et al.  A survey of parallel computer architectures , 1990, Computer.

[7]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[8]  Chuan-Lin Wu,et al.  Interconnection Networks for Parallel and Distributed Processing , 1984 .

[9]  Subrata Dasgupta,et al.  Computer Architecture: A Modern Synthesis , 1988 .

[10]  Dharma P. Agrawal,et al.  Evaluating the performance of multicomputer configurations , 1986 .

[11]  Benjamin W. Wah,et al.  A Contention-Based Bus-Control Scheme for Multiprocessor Systems , 1991, IEEE Trans. Computers.

[12]  K.M. Al-Tawil,et al.  A survey and comparison of wormhole routing techniques in a mesh networks , 1997, IEEE Network.

[13]  Angel L. DeCegama,et al.  The technology of parallel processing: parallel processing architectures and VLSI hardware (vol. 1) , 1989 .

[14]  Hee Yong Youn,et al.  A Comprehensive Performance Evaluation of Crossbar Networks , 1993, IEEE Trans. Parallel Distributed Syst..

[15]  Dharma P. Agrawal,et al.  Performance of multiprocessor interconnection networks , 1989, Computer.

[16]  S. G. Zaky,et al.  Communication performance in multiple-bus systems , 1988, IEEE Trans. Computers.

[17]  Barry Wilkinson,et al.  Computer architecture - design and performance , 1991 .

[18]  Lionel M. Ni,et al.  A survey of wormhole routing techniques in direct networks , 1993, Computer.

[19]  Hesham El-Rewini,et al.  Distributed and Parallel Computing , 1998 .

[20]  Janak H. Patel Performance of Processor-Memory Interconnections for Multiprocessors , 1981, IEEE Transactions on Computers.

[21]  Krishnan Padmanabhan,et al.  Performance of the Direct Binary n-Cube Network for Multiprocessors , 1989, IEEE Trans. Computers.

[22]  R. N. Ibbett,et al.  Architecture of High Performance Computers , 1989, Macmillan Computer Science Series.

[23]  Tilak Agerwala,et al.  Performance Analysis of Future Shared Storage Systems , 1984, IBM J. Res. Dev..

[24]  Jang-Ping Sheu,et al.  Performance Analysis of Multiple Bus Interconnection Networks with Hierarchical Requesting Model , 1991, IEEE Trans. Computers.

[25]  Samuel T. Chanson,et al.  Process groups and group communications: classifications and requirements , 1990, Computer.

[26]  Zdenek Hanzalek Parallel processing: From applications to systems , 1997 .

[27]  Mehdi R. Zargham,et al.  Computer Architecture: Single and Parallel Systems , 1996 .

[28]  Kai Hwang,et al.  Computer architecture and parallel processing , 1984, McGraw-Hill Series in computer organization and architecture.

[29]  Michael J. Flynn,et al.  Computer Architecture: Pipelined and Parallel Processor Design , 1995 .

[30]  Laxmi N. Bhuyan,et al.  High-performance computer architecture , 1995, Future Gener. Comput. Syst..

[31]  Hesham El-Rewini,et al.  Introduction to Parallel Computing , 1992 .