File Name: computer architecture and parallel processing .zip
The most exciting development in parallel computer architecture is the convergence of traditionally disparate approaches on a common machine structure. This book explains the forces behind this convergence of shared-memory, message-passing, data parallel, and data-driven computing architectures. It then examines the design issues that are critical to all parallel architecture across the full range of modern design, covering data access, communication performance, coordination of cooperative work, and correct implementation of useful semantics.
Published simultaneously in Canada. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning, or otherwise, except as permitted under Section or of the United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, Inc. No warranty may be created or extended by sales representatives or written sales materials.
The advice and strategies contained herein may not be suitable for your situation. You should consult with a professional where appropriate. For general information on our other products and services please contact our Customer Care Department within the U. Wiley also publishes its books in a variety of electronic formats. Some content that appears in print, however, may not be available in electronic format.
Single processor supercomputers have achieved great speeds and have been pushing hardware technology to the physical limit of chip manufacturing. But soon this trend will come to an end, because there are physical and architectural bounds, which limit the computational power that can be achieved with a single processor system.
In this book, we study advanced computer architectures that utilize parallelism via multiple processing units. While parallel computing, in the form of internally linked processors, was the main form of parallelism, advances in computer networks has created a new type of parallelism in the form of networked autonomous computers. Instead of putting everything in a single box and tightly couple processors to memory, the Internet achieved a kind of parallelism by loosely connecting every-thing outside of the box.
To get the most out of a computer system with internal or external parallelism, designers and software developers must understand the interaction between hardware and software parts of the system.
This is the reason we wrote this book. We want the reader to understand the power and limitations of multiprocessor systems. The material in this book is organized in 10 chapters, as follows. Both shared-memory and the message passing systems and their interconnection networks are introduced.
It discusses the different topologies used for interconnecting multi-processors. Taxonomy for interconnection networks based on their topology is introduced.
Dynamic and static interconnection schemes are also studied. The bus, crossbar, and multi-stage topology are introduced as dynamic interconnections. In the static interconnection scheme, three main mechanisms are covered.
These are the hypercube topology, mesh topology, andk-aryn-cube topology. A number of performance aspects are introduced including cost, latency, diameter, node degree, and symmetry. Chapter 3 is about performance. New measures of performance, such as speedup, are discussed.
This chapter examines several versions of speedup, as well as other performance measures and benchmarks. Chapters 4 and 5 cover shared memory and message passing systems, respect-ively.
The main challenges of shared memory systems are performance degradation due to contention and the cache coherence problems. Performance of shared memory system becomes an issue when the interconnection network connecting the processors to global memory becomes a bottleneck. Local caches are typically used to alleviate the bottleneck problem. But scalability remains the main drawback of shared memory system.
The introduction of caches has created consistency problem among caches and between memory and caches.
In Chapter 4, we cover several cache coherence protocols that can be categorized as either snoopy protocols or directory based protocols. In Chapter 5, we discuss the architecture and the work models of message passing systems.
We shed some light on routing and net-work switching techniques. We conclude with a contrast between shared memory and message passing systems. Chapter 6 covers abstract models, algorithms, and complexity analysis. We discuss a shared-memory abstract model PRAM , which can be used to study parallel algorithms and evaluate their complexities. We also outline the basic elements of a formal model of message passing systems under the synchronous model. We design and discuss the complexity analysis of algorithms described in terms of both models.
Chapters 7 — 10 discuss a number of issues related to network computing, in which the nodes are stand-alone computers that may be connected via a switch, local area network, or the Internet. Chapter 8 illustrates the parallel virtual machine PVM programming system.
It shows how to write programs on a network of heterogeneous machines. Chapter 9 covers the message-passing interface MPI standard in which portable distributed parallel programs can be developed.
Chapter 10 addresses the problem of allocating tasks to processing units. The scheduling problem in several of its variations is covered. We survey a number of solutions to this important problem. We cover program and system models, optimal algorithms, heuristic algorithms, scheduling versus allocation techniques, and homogeneous versus heterogeneous environments.
For example, a one-semester course in Advanced Computer Architecture may cover Chapters 1 — 5, 7, and 8, while another one-semester course on Parallel Processing may cover Chapters 1 — 4, 6, 9, and This book has been class-tested by both authors. These experiences have been incorporated into the present book.
Our students corrected errors and improved the organization of the book. We would like to thank the students in these classes. We owe much to many students and colleagues, who have contributed to the production of this book. Langston, and A. Naseer read drafts of the book and all contributed to the improvement of the original manuscript. Ted Lewis has contributed to earlier versions of some chapters. We are indebted to the anonymous reviewers arranged by John Wiley for their suggestions and corrections.
Special thanks to Albert Y. Of course, respon-sibility for errors and inconsistencies rests with us. Finally, and most of all, we want to thank our wives and children for tolerating all the long hours we spent on this book. Hesham would also like to thank Ted Lewis and Bruce Shriver for their friendship, mentorship and guidance over the years.
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 phys-ical 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 proces-sing 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. In message passing systems, the interconnection network is divided into static and dynamic.
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 consist-ing of a number of sconsist-ingle processors is expected to be more cost-effective than build-ing a high-performance sbuild-ingle 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. In this table, major character-istics of the different computing paradigms are associated with each decade of computing, starting from 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. Its transistor circuits were reasonably fast. Power users could order magnetic core memories with up to one megabyte of bit words. This machine was large enough to support many programs in memory at the same time, even though the central processing unit had to switch from one program to another.
These advances in hardware technology spawned the minicomputer era. They were small, fast, and inexpensive enough to be spread throughout the company at the divisional level. By the s it was clear that there existed two kinds of commercial or business computing: 1 centralized data processing mainframes, and 2 time-sharing minicomputers. In parallel with small-scale machines, supercomputers were coming into play.
Personal computers PCs , which were introduced in by Altair, Processor Technology, North Star, Tandy, Commodore, Apple, and many others, enhanced the productivity of end-users in numerous departments. Personal computers from Compaq, Apple, IBM, Dell, and many others soon became pervasive, and changed the face of computing. Local area networks LAN of powerful personal computers and workstations began to replace mainframes and minis by The power of the most capable big machine could be had in a desktop model for one-tenth of the cost.
However, these individual desktop computers were soon to be connected into larger complexes of computing by wide area networks WAN. The fourth era, or network paradigm of computing, is in full swing because of rapid advances in network technology. Network technology outstripped processor tech-nology throughout most of the s. This explains the rise of the network paradigm listed in Table 1.
Parallel processing has been developed as an effective technology in modern computers to meet the demand for higher performance, lower cost and accurate results in real-life applications. Modern computers have powerful and extensive software packages. To analyze the development of the performance of computers, first we have to understand the basic development of hardware and software. Modern computers evolved after the introduction of electronic components. High mobility electrons in electronic computers replaced the operational parts in mechanical computers. For information transmission, electric signal which travels almost at the speed of a light replaced mechanical gears or levers.
Skip to search form Skip to main content You are currently offline. Some features of the site may not work correctly. Hwang and F. Hwang , F. The book is intended as a text to support two semesters of courses in computer architecture at the college senior and graduate levels. There are excellent problems for students at the end of each chapter.
Skip to search form Skip to main content You are currently offline. Some features of the site may not work correctly. DOI:
Parallel computing is a type of computation where many calculations or the execution of processes are carried out simultaneously. There are several different forms of parallel computing: bit-level , instruction-level , data , and task parallelism. Parallelism has long been employed in high-performance computing , but has gained broader interest due to the physical constraints preventing frequency scaling. Parallel computing is closely related to concurrent computing —they are frequently used together, and often conflated, though the two are distinct: it is possible to have parallelism without concurrency such as bit-level parallelism , and concurrency without parallelism such as multitasking by time-sharing on a single-core CPU.
Xavier and S. Siva Ram Murthy, K. Cook and Sajal K. This book is printed on acid-free paper. All rights reserved. Published simultaneously in Canada.
Он получал информацию со 148 камер кабельного телевидения, 399 электронных дверей, 377 устройств прослушивания телефонов и еще 212 жучков, установленных по всему комплексу АНБ. Директора АН Б дорого заплатили за осознание того факта, что двадцать шесть тысяч сотрудников не только огромная ценность, но и источник больших неприятностей. Все крупные провалы в сфере безопасности в истории агентства происходили внутри этого здания. В обязанности Мидж как эксперта по обеспечению внутренней безопасности входило наблюдение за всем, что творилось в стенах АНБ… в том числе и в кладовке столовой агентства. Бринкерхофф поднялся со своего места, словно стоя ему было легче защищаться, но Мидж уже выходила из его кабинета.
Сьюзан понимающе кивнула. Это звучало вполне логично: Танкадо хотел заставить АНБ рассказать о ТРАНСТЕКСТЕ всему миру. По сути, это был самый настоящий шантаж. Он предоставил АНБ выбор: либо рассказать миру о ТРАНСТЕКСТЕ, либо лишиться главного банка данных. Сьюзан в ужасе смотрела на экран.
Да будет. - Хейл вроде бы затрубил отбой. - Теперь это не имеет значения. У вас есть ТРАНСТЕКСТ. У вас есть возможность мгновенно получать информацию.
УМБРА, что было высшим уровнем секретности в стране. Никогда еще государственные секреты США не были так хорошо защищены. В этой недоступной для посторонних базе данных хранились чертежи ультрасовременного оружия, списки подлежащих охране свидетелей, данные полевых агентов, подробные предложения по разработке тайных операций. Перечень этой бесценной информации был нескончаем. Всяческие вторжения, способные повредить американской разведке, абсолютно исключались.
Крошечная сноска гласила: Предел ошибки составляет 12. Разные лаборатории приводят разные цифры. ГЛАВА 127 Собравшиеся на подиуме тотчас замолчали, словно наблюдая за солнечным затмением или извержением вулкана - событиями, над которыми у них не было ни малейшей власти. Время, казалось, замедлило свой бег.
Она присела на решетчатой площадке. - Коммандер. Стратмор даже не повернулся. Он по-прежнему смотрел вниз, словно впав в транс и не отдавая себе отчета в происходящем.
Solo? - Клюквенный сок популярен в Испании, но пить его в чистом виде - неслыханное. - Si, - сказал Беккер. - Solo. - Echo un poco de Smirnoff? - настаивал бармен. - Плеснуть чуточку водки.
- Если не скажешь, тебе меня больше не видать. - Врешь. Она ударила его подушкой. - Рассказывай. Немедленно.
Мир кругом казался расплывчатым, каким-то водянистым. И снова этот голос. Он присел на корточки и в десяти метрах от себя увидел чей-то силуэт. - Мистер.
Скажи, что ты ушел с поста декана.
Your email address will not be published. Required fields are marked *