Distributed Shared Memory


Book Description

The papers present in this text survey both distributed shared memory (DSM) efforts and commercial DSM systems. The book discusses relevant issues that make the concept of DSM one of the most attractive approaches for building large-scale, high-performance multiprocessor systems. The authors provide a general introduction to the DSM field as well as a broad survey of the basic DSM concepts, mechanisms, design issues, and systems. The book concentrates on basic DSM algorithms, their enhancements, and their performance evaluation. In addition, it details implementations that employ DSM solutions at the software and the hardware level. This guide is a research and development reference that provides state-of-the art information that will be useful to architects, designers, and programmers of DSM systems.







Hierarchical Scheduling in Parallel and Cluster Systems


Book Description

Multiple processor systems are an important class of parallel systems. Over the years, several architectures have been proposed to build such systems to satisfy the requirements of high performance computing. These architectures span a wide variety of system types. At the low end of the spectrum, we can build a small, shared-memory parallel system with tens of processors. These systems typically use a bus to interconnect the processors and memory. Such systems, for example, are becoming commonplace in high-performance graph ics workstations. These systems are called uniform memory access (UMA) multiprocessors because they provide uniform access of memory to all pro cessors. These systems provide a single address space, which is preferred by programmers. This architecture, however, cannot be extended even to medium systems with hundreds of processors due to bus bandwidth limitations. To scale systems to medium range i. e. , to hundreds of processors, non-bus interconnection networks have been proposed. These systems, for example, use a multistage dynamic interconnection network. Such systems also provide global, shared memory like the UMA systems. However, they introduce local and remote memories, which lead to non-uniform memory access (NUMA) architecture. Distributed-memory architecture is used for systems with thousands of pro cessors. These systems differ from the shared-memory architectures in that there is no globally accessible shared memory. Instead, they use message pass ing to facilitate communication among the processors. As a result, they do not provide single address space.




Introduction to Parallel Processing


Book Description

THE CONTEXT OF PARALLEL PROCESSING The field of digital computer architecture has grown explosively in the past two decades. Through a steady stream of experimental research, tool-building efforts, and theoretical studies, the design of an instruction-set architecture, once considered an art, has been transformed into one of the most quantitative branches of computer technology. At the same time, better understanding of various forms of concurrency, from standard pipelining to massive parallelism, and invention of architectural structures to support a reasonably efficient and user-friendly programming model for such systems, has allowed hardware performance to continue its exponential growth. This trend is expected to continue in the near future. This explosive growth, linked with the expectation that performance will continue its exponential rise with each new generation of hardware and that (in stark contrast to software) computer hardware will function correctly as soon as it comes off the assembly line, has its down side. It has led to unprecedented hardware complexity and almost intolerable dev- opment costs. The challenge facing current and future computer designers is to institute simplicity where we now have complexity; to use fundamental theories being developed in this area to gain performance and ease-of-use benefits from simpler circuits; to understand the interplay between technological capabilities and limitations, on the one hand, and design decisions based on user and application requirements on the other.




Tools and Environments for Parallel and Distributed Computing


Book Description

Zugänge zur parallelen Rechentechnik: Dieses Buch behandelt ein breites Spektrum verschiedener Ansätze! Sie erhalten einen aufschlussreichen Überblick über die leistungsfähigsten derzeit gebräuchlichen Tools. Fallstudien stellen besonders erfolgreiche Implementationen (u. a. Stanford, MIT) vor. Im Vordergrund der Diskussion steht die Performance der Lösungen. Die Autoren arbeiten am renommierten Northeast Parallel Architectures Center.




Computational Physics


Book Description

The use of computation and simulation has become an essential part of the scientific process. Being able to transform a theory into an algorithm requires significant theoretical insight, detailed physical and mathematical understanding, and a working level of competency in programming. This upper-division text provides an unusually broad survey of the topics of modern computational physics from a multidisciplinary, computational science point of view. Its philosophy is rooted in learning by doing (assisted by many model programs), with new scientific materials as well as with the Python programming language. Python has become very popular, particularly for physics education and large scientific projects. It is probably the easiest programming language to learn for beginners, yet is also used for mainstream scientific computing, and has packages for excellent graphics and even symbolic manipulations. The text is designed for an upper-level undergraduate or beginning graduate course and provides the reader with the essential knowledge to understand computational tools and mathematical methods well enough to be successful. As part of the teaching of using computers to solve scientific problems, the reader is encouraged to work through a sample problem stated at the beginning of each chapter or unit, which involves studying the text, writing, debugging and running programs, visualizing the results, and the expressing in words what has been done and what can be concluded. Then there are exercises and problems at the end of each chapter for the reader to work on their own (with model programs given for that purpose).




COMPUTER ORGANIZATION AND ARCHITECTURE


Book Description

Designed as an introductory text for the students of computer science, computer applications, electronics engineering and information technology for their first course on the organization and architecture of computers, this accessible, student friendly text gives a clear and in-depth analysis of the basic principles underlying the subject. This self-contained text devotes one full chapter to the basics of digital logic. While the initial chapters describe in detail about computer organization, including CPU design, ALU design, memory design and I/O organization, the text also deals with Assembly Language Programming for Pentium using NASM assembler. What distinguishes the text is the special attention it pays to Cache and Virtual Memory organization, as well as to RISC architecture and the intricacies of pipelining. All these discussions are climaxed by an illuminating discussion on parallel computers which shows how processors are interconnected to create a variety of parallel computers. KEY FEATURES  Self-contained presentation starting with data representation and ending with advanced parallel computer architecture.  Systematic and logical organization of topics.  Large number of worked-out examples and exercises.  Contains basics of assembly language programming.  Each chapter has learning objectives and a detailed summary to help students to quickly revise the material.




Languages, Compilers, and Run-Time Systems for Scalable Computers


Book Description

This book constitutes the strictly refereed post-workshop proceedings of the 4th International Workshop on Languages, Compilers, and Run-Time Systems for Scalable Computing, LCR '98, held in Pittsburgh, PA, USA in May 1998. The 23 revised full papers presented were carefully selected from a total of 47 submissions; also included are nine refereed short papers. All current issues of developing software systems for parallel and distributed computers are covered, in particular irregular applications, automatic parallelization, run-time parallelization, load balancing, message-passing systems, parallelizing compilers, shared memory systems, client server applications, etc.







Euro-Par 2004 Parallel Processing


Book Description

This book constitutes the refereed proceedings of the 10th International Conference on Parallel Computing, Euro-Par 2004, held in Pisa, Italy in August/September 2004. The 122 revised papers presented together with 3 invited papers were carefully reviewed and selected from 352 submissions. The papers are organized in topical sections on support tools and environments, performance evaluation, scheduling and load balancing, compilers and high performance, parallel and distributed databases, grid and cluster computing, applications on high performance clusters, parallel computer architecture and ILP, distributed systems and algorithms, parallel programming, numerical algorithms, high performance multimedia, theory and algorithms for parallel computing, routing and communication in interconnection networks, mobile computing, integrated problem solving environments, high performance bioinformatics, and peer-to-peer and Web computing.