Parallel and Distributed Computing Handbook - IEEE Computer Society

1 downloads 0 Views 245KB Size Report
reviewed by Marcin Paprzycki, University of Southern Mississippi. An Introduction to. High-Performance. Scientific Computing by Lloyd D. Fosdick,. Elizabeth R.
.

Book Reviews

Technical Editor: Marcin Paprzycki Dept. of Computer Science and Statistics Univ. of Southern Mississippi Southern Station 1506 Hattiesburg, MS 39406-1506 [email protected]

An Introduction to High-Performance Scientific Computing reviewed by Marcin Paprzycki, University of Southern Mississippi

An Introduction to High-Performance Scientific Computing by Lloyd D. Fosdick, Elizabeth R. Jessup, Carolyn J.C. Schauble, and Gitta Domik 760 pages $55 MIT Press Cambridge, Mass. 1996 ISBN 0-262-06181-3

July–September 1997

Lloyd Fosdick started collecting the material for this textbook in 1985, when he created a course in parallel computing for undergraduate and graduate students at the University of Colorado in Boulder. One could say that this book was 10 years in the making. As we will see, this is a rather mixed blessing. The book is designed to support a course for upper-division undergraduate students in engineering and science (and is definitely not intended for computer science majors). To introduce non-computer scientists to high-performance computing, Parts I through III provide extended background material. Part I discusses numerical analysis, IEEE arithmetic, Unix, and Fortran. Part II presents three tools for scientific computing: Matlab, IDL (Interactive Data Language), and AVS (Application Visualization System). Part III summarizes the basic issues in scientific visualization. These three parts use a hands-on approach and are filled with exercises designed for a laboratory environment. Parts IV (Architectures) and V (Applications) present high-performance computing. Part IV starts by covering basic issues in computer performance, including benchmarks and the effects of optimizing compilers. It then presents basic descriptions and introduces the programming issues for three high-performance computer architectures: vector computers; distributed-memory multiple-instruction, multiple-data computers; and single-instruction, multiple-data computers. Part V discusses three interdisciplinary applications of high-performance com-

puters in more depth: molecular dynamics, advection, and computerized tomography. What is most impressive about this book is how well it is rooted in years of teaching experience. The introduction suggests in detail how instructors can use the book’s material in a one-year or a two-semester course. An additional set of materials are also available from an anonymous FTP site (ftp:// ftp.cs.colorado.edu/pub/HPSC/). Anyone with teaching experience can easily see how to use the material in Parts I–III effectively to ease engineering and science students into the basics of computing. The book is written very clearly, at an appropriate level for the course it is intended to support. The interdisciplinary nature of the examples will be attractive to a broad spectrum of prospective scientists and engineers. The book could also be used for self-instruction (it requires only a minimal background in computing and mathematics). Unfortunately, the book has some serious flaws. The most basic problem is the age of the material. It is obvious that the book’s core was written in the late eighties and that only a small amount of material has been added since. This is particularly evident in Part IV. The computer architectures that illustrate the authors’ basic points often represent the history—not the state of the art—of highperformance computing. The performance data in various tables concentrates on machines produced between 1988 and 1991. Almost no information appears regarding the turbulent period of 1993 to 1995, when substantial changes occurred in the world of 73

.

high-performance computing. Especially troubling is the lack of discussion of sharedmemory parallel computing and its successor, distributed shared-memory computing. The latter seems the most promising development in high-performance computing and is supported by all but one supercomputer vendor (the Tera Computer Company). Why did this important book take so long to appear on the market that it became almost obsolete? Even though An Introduction to High-Perfor-

mance Scientific Computing has some problems, more books like it are clearly needed. A new edition that corrected some of the flaws would make an excellent textbook. Advanced publishing technology (already supported by some publishers) could greatly aid potential users. Because the book is almost 800 pages, many teachers might decide to cover only a subsection of the material. An instructor should be able to select chapters and their order to tailor a text to the prospective audience.

Parallel and Distributed Computing Handbook reviewed by N. Ranganathan, University of South Florida

Parallel and Distributed Computing Handbook edited by Albert Zomaya 1,232 pages $99.50 McGraw-Hill New York 1996 ISBN 0-07-073020-2

74

Since Flynn’s classification emerged in 1966, research in parallel and distributed processing has progressed significantly. A huge number of papers have been published in various journals and conferences and many textbooks have come out. More works on this topic might seem unnecessary. However, Parallel and Distributed Computing Handbook is a unique, excellent collection of papers reflecting the present and future state of the art. The book would be an excellent reference for researchers and students as well as for practitioners who design and develop parallel and distributed machines. It could also serve as a text for an advanced graduate seminar. The book is a comprehensive collection of topics divided into three parts: Theory, Architectures and Technologies, and Tools and Applications. The book’s most outstanding feature is that it covers almost the entire field, with many of the 41 chapters written by top experts. Each chapter includes a bibliography that directs the reader to material beyond the initial inquiry. The foreword comes from Michael J. Flynn himself. The Theory part has three sections: Foundations, Models, and Algorithms. The Foundations section starts with a chapter by Albert Zomaya that nicely introduces parallel and distributed processing, providing a high-level perspective of the various issues and challenges. The rest of the section covers formal methods, complexity issues, and distributed-computing theory. The Models section discusses PRAM and other models of parallel com-

putation, dataflow, partitioning and scheduling, checkpointing, and open distributed software systems. Each chapter briefly introduces its topic, discusses the state of the art, and offers conclusions and directions for future research. Small examples support the algorithms wherever possible. I especially liked the chapters on complexity issues and PRAM models, which provide tutorial material. The Algorithms section starts with a solid introduction to the field of parallel algorithms by Joseph JaJa, who is an appropriate choice (his book on parallel algorithms is well known). The other chapters discuss parallel graph algorithms, computational geometry, data structures, data-parallel algorithms, systolic and VLSI processor arrays, direct interconnection networks, and Hypercube multiprocessors. In Part II, the Architectures section covers RISC, superscalar and VLIW processors, SIMD, MIMD, and memory models. The section introduces, analyzes, and compares the various models. Although the book covers general-purpose parallel computing architectures well, it does not discuss application-specific parallel architectures, an important current and future topic. Two significant reasons why parallel processing has not had the expected commercial impact have been cost and the gap between the hardware architectures and the parallel software. The cost of general-purpose parallel machines has been high, and the ability of a particular machine model to run many different types of applications IEEE Concurrency

.

efficiently has been low. So, the investigation of multi- and special-purpose architectures is important to high-performance computing. The Technologies section covers heterogeneous computing, cluster computing, optical interconnections, and ATM. The chapters are well written and provide good insights. I was disappointed not to see a chapter about microelectronics technology and its impact on parallel processing. However, for a single book to touch every aspect is practically impossible. In Part III, the Development Tools section discusses parallel languages, portable computing, visualization, numerical libraries, and parallel program testing: an ideal set of topics covered very well. The Applications section is also interesting. Eight chapters cover scientific computation, discrete-event systems simulation, image understanding, genetic and protein sequence analysis, stochastic linear systems, genetic algorithms, robotic compu-

tations, and flight simulation. I liked this choice of applications because of their widely varying nature, specifications, and requirements. However, I would have liked an introductory chapter that summed up the range of applications, providing not an in-depth but a broad view or a taxonomy-level perspective. A chapter offering insight into the requirements and specifications often encountered in different applications would have been especially useful. Nevertheless, you can obtain this insight by reading the various chapters, so it is not entirely missing. Parallel and Distributed Computing Handbook uses good illustrations and clear diagrams. It is easy to read and contains hardly any errors or typos. Although different authors wrote each chapter, the text formatting and figures are consistent throughout. Those already working in parallel and distributed processing and those who are contemplating entering this field will welcome this book.

Local Area Networks: A Client/Server Approach reviewed by Przemyslaw Stpiczynski, Marie Curie-Sklodowska University

Local Area Networks: A Client/Server Approach by James E. Goldman 751 pp. $46.95 John Wiley & Sons New York 1997 ISBN 0-471-14162-3

July–September 1997

The book is a business-oriented, comprehensive introduction to LANs and clientserver architectures. With its modular structure, it is intended as a handbook for a variety of courses—for example, an introductory course on LANs, on information technology and client-server architectures, or on networking and telecommunications. The text comprises six parts, which can be studied separately. The first two are introductory. Part I introduces LANs and clientserver architectures. Goldman presents basic definitions and concepts as well as business motivations, together with the potential benefits and drawbacks of these architectures. Part II surveys client-server technology and trends. Goldman describes all the components of PC hardware. The reader can find out almost everything about processors, memories, buses, and storage devices. The author presents various client operating systems for PCs. Next, he describes the various

server architectures, and discusses four kinds of parallel processing. The last chapter of this part presents a client-server approach to Internet connectivity. The author covers the basic concepts of TCP/IP and the Internet, and presents the most popular Internet services. Part III gives detailed information about LAN architectures, hardware, and software. Goldman describes the logical and physical topologies of network architectures. He discusses current architectures such as Ethernet, Token Ring, and FDDI (Fiber-Distributed Data Interface), and high-speed networks such as 100BaseT, 100VG-AnyLAN, and isoEthernet. Next, he presents the elements of LAN hardware. Part IV covers the most popular network operating systems: Novell NetWare 4.1, Windows NT, and the Unix-TCP/IP family. The most interesting chapter describes TCP/IP protocol and remote-access protocols such as SLIP (Serial Line Internet Protocol) and PPP 75

.

(Point-to-Point Protocol), and explains how to establish remote connections to LANs. Part V summarizes the basics of internetwork design: bridging, routing, and switching. Goldman explains the important contribution of protocols to successful inter-networking design and implementation. Finally, Goldman discusses all aspects of LAN remote access. Part VI gives the motivation and necessary details for building enterprise networks. It also describes basic kinds of enterprise network applications, such as database and security applications. The book is on a high editorial level; the chapters have a nice appearance, and the book is easy to read. It contains many figures and tables that help readers understand the material, and it clearly summarizes the presented concepts. Each chapter contains some special sections—for example,

“In Sharper Focus,” “Managerial Perspective,” “Applied Problem Solving,” and “Practical Advice & Information”—that give more details for interested readers. Each chapter ends with a summary of its contents, a list of key terms with cross references, and a rich list of references for more detailed study. A section in each chapter contains review questions and business cases useful for classroom discussion. I warmly recommend Local Area Networks: A Client/Server Approach as a handbook for introductory courses about LANs and client-server architectures, especially business-oriented courses. In addition, novices will find it an excellent introduction and a good starting point for more detailed studies or practical activities. Advanced readers will find it a valuable source of information that can help systematize their knowledge.

Security in Distributed Computing: Did You Lock the Door? reviewed by Sebastian Anita, Al. I. Cuza University, Romania

Security in Distributed Computing: Did You Lock the Door? by Glen Bruce and Rob Dempsey 456 pp. $44 Prentice Hall PTR Upper Saddle River, N.J. 1997 ISBN 0-13-182908-4

76

Security, one of the biggest issues in computing today, is attracting a great deal of attention. Security in Distributed Computing: Did You Lock the Door? identifies and explains the key issues of this complex problem. The authors, Glen Bruce and Rob Dempsey, are consultants with the Hewlett-Packard Professional Services Organization, which specializes in helping clients solve security problems in distributed-computing and open systems. Part I, “Understanding the Problem,” surveys computing security, presenting some security incidents and the factors that contribute to the security challenge. Part II, “Foundations,” reviews the basics of computing security. Bruce and Dempsey introduce common concepts and the necessary terminology, and present an architecture, or model, for security in a distributedcomputing environment. This architecture provides a reference point to compare the requirements and various security mecha-

nisms of a distributed system. The authors also discuss the creation of a computing security policy. Part III, “Technologies,” provides an overview of the leading technologies in distributed computing and the solutions they offer to the security problem. Bruce and Dempsey survey network operating systems and the element of trust these systems bring to a distributed environment. They also explore the specific security issues and implications of client-server and middleware computing. Next, the authors examine the security aspects of Unix, Windows NT, and the Internet, and discuss cryptography, the Kerberos authentication model, and DCE (Distributed Computing Environment) security. In addition, they examine how Open Systems Foundation middleware helps solve some security issues in distributed computing, and they discuss security in transaction processing. Part IV, “Solving the Problem,” outlines IEEE Concurrency

.

how to design security and deploy it in infrastructure applications. The authors discuss security management and present a successful methodology for creating a security strategy. A general view of the future of computing security ends the book. Security in Distributed Computing: Did You Lock the Door? illuminates both the

problems of computing security and their potential solutions. It presents detailed, up-to-date information and valuable recommendations on how to design and implement a security strategy. It is written very clearly, in an accessible style, and is sufficiently selfcontained. This book is for anyone interested in computing security.

Future Codes: Essays in Advanced Computer Technology and the Law, Curtis E.A. Karnow, 276 pp., $75, Artech House, Boston, 1997, ISBN 0-89006-942-5.

Real-Time Systems: Design Principles for Distributed Embedded Applications, Hermann Kopetz, 352 pp., $72.50, Kluwer Academic Publishers, Boston, 1997, ISBN 0-7923-9894-7.

New Books Associative Processing and Processors, Anargyros Krikelis and Charles C. Weems, 360 pp., $50, IEEE Computer Society Press, Los Alamitos, Calif., 1997, ISBN 0-8186-7661-2.

Communication and Computing for Distributed Multimedia Systems, Guojun Lu, 394 pp., $69, Artech House, Boston, 1997, ISBN 0-89006-884-4.

Computability and Complexity: From a Programming Perspective, Neil D. Jones, 466 pp., $45, MIT Press, Cambridge, Mass., 1997, ISBN 0-262-10064-9.

Data Modeling and Design for Today’s Architectures, Angelo R. Bobak, 394 pp., $69, Artech House, Boston, 1997, ISBN 0-89006-877-1.

Distributed and Multi-Database Systems, Angelo R. Bobak, 476 pp., $65, Artech House, Boston, 1996, ISBN 089006-614-0. July–September 1997

Heterogeneous Computing, Mary M. Eshaghian, ed., 375 pp., $77, Artech House, Boston, 1996, ISBN 0-89006552-7.

iWARP: Anatomy of a System, Thomas Gross and David R. O’Hallaron, 530 pp., $45, MIT Press, Cambridge, Mass., 1997, ISBN 0-262-07183-5.

Open Distributed Systems, Jon Crowcroft, 386 pp., $60, Artech House, Boston, 1996, ISBN 0-89006-839-9.

Real-Time Database Systems: Issues and Applications, Azer Bestavros, Kwei-Jay Lin, and Sang Hyuk Son, 384 pp., $138.50, Kluwer Academic Publishers, Boston, 1997, ISBN 0-7923-9897-1.

Second-Generation Client-Server Computing, Dawna Travis Dewire, 421 pp., $49.95, McGraw-Hill, New York, 1997, ISBN 0-07-016736-2.

Security in Distributed Computing: Did You Lock the Door?, Glen Bruce and Rob Dempsey, 456 pp., $44, Prentice Hall PTR, Upper Saddle River, N.J., 1997, ISBN 0-13-182908-4.

Videoconferencing and Videotelephony: Technology and Standards, Richard Schaphorst, 199 pp., $69, Artech House, Boston, 1996, ISBN 0-89006844-5. 77

Suggest Documents