ebook img

Distributed system design PDF

488 Pages·1999·29.762 MB·English
by  WuJie
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Distributed system design

Distributed System Design Distributed System Design JieWu Department of Computer Science and Engineering Florida Atlantic University 0 ~!~F~~~~~"P Boca Raton London New York CRC Press is an imprint of the Taylor & Francis Group, an informa business CRC Press 6000 Broken Sound Parkway, NW Suite 300, Boca Raton, FL 33487 270 Madison Avenue New York, NY 10016 2 Park Square, Milton Park Abingdon, Oxon OX14 4RN, UK To my grandmother Preface It is becoming apparent that future requirements for computing speed, system reliability, and cost effectiveness will entail the development of al- ternative computers to replace the traditional Von Neumann organization. As computing networks come into being, a new dream is now possible- dis- tributed computing. Distributed computing brings transparent access to as much computer power and data as the user needs to accomplish any given task, and at the same time, achieves the high performance and reliability objectives. Interest in distributed computing systems has grown rapidly in the last decade. The subject of distributed computing is diverse, and many researchers are investigating various issues concerning the structure of dis- tributed hardware and the design of distributed software so that potential parallelism and fault tolerance can be exploited. Distributed computing systems (or distributed systems) take many forms and cover a variety of system architectures. To some users a distributed system is a collection of multiple processors working closely together to solve a single problem. To other users a distributed system may mean a computer network that is a collection of geographically dispersed, indepen- dent processors linked together to allow the sharing of various resources. However, the term distributed systems has been applied to such a wide range of computer systems that its usage has become somewhat devalued. Much of this confusion stems from the lack of distinction between the phys- ical and the logical distribution. By distinguishing the two it is possible to characterize more precisely the properties of a distributed system. We use the following definition for distributed systems: A distributed system is one that looks to its users like an ordinary system, but runs on a set of autonomous processing elements (PEs} where each PE has a separate physical memory space and the message transmission delay is not negligible. There is close cooperation among these PEs. The system should support an arbitrary number of processes and dynamic extensions of PEs. Motivation The main motivations for building a distributed system are • Inherently distributed applications. Distributed systems have come into existence in some very natural ways, e.g., in our society people are distributed and information should also be distributed. In a dis- tributed database system, information is generated at different branch offices (sub-databases) so local access can be done quickly. On the other hand, the system also provides a global view to support various global operations. • Performance/cost. The parallelism of distributed systems reduces processing bottlenecks and provides improved all-around performance, i.e., distributed systems offer a better price-performance ratio. • Resource sharing. Distributed systems can efficiently support infor- mation and resource (hardware and software) sharing for users at different locations. • Flexibility and extensibility. Distributed systems are capable of incre- mental growth and have the added advantage of facilitating modifi- cation or extension of a system to adapt to a changing environment without disrupting its operations .. • Availability and fault tolerance. With the multiplicity of storage units and processing elements, distributed systems have the potential abil- ity to continue operation in the presence of failures in the system. • Scalability. Distributed systems can be easily scaled to include addi- tional resources (both hardware and software). Overview and Audience In this book an attempt is made to present some important issues in the area of distributed systems which address the basic concepts, issues, and some possible solutions. This book is intended as a graduate course in distributed system design. It can also be used for an upper-level under- graduate or graduate course in advanced operating systems. It introduces students to several design aspects that are unique to distributed systems. This book concentnites on the software aspects of design since most of the corresponding hardware aspects are well covered in many textbooks on computer networks and parallel computers. All the high-level designs and algorithms in this book are expressed us- ing a proposed CSP-like distributed control description language (DCDL). (CSP stands for communicating sequential processes.) Although it is impos- sible to cover here all the issues related to distributed computing systems, we aim to give basic groundwork on each of the issues covered. Students are encouraged to do more research on these issues through term projects, MS theses, and Ph.D. dissertations. It is assumed that students are famil- iar with at least one high-level programming language, basic concepts of operating systems and computer architecture and fundamental aspects of discrete mathematics. Most of the material in the book has been derived from original sources, research papers from contemporary literature, and the author's own re- search results in this field. The broad scope of distributed processing is re- flected in the organization of this book. There are twelve chapters that can be roughly divided into three parts: introduction and foundations (Chap- ters 1 to 3), various issues in distributed systems (Chapters 4 to 11), and applications (Chapter 12). Some related topics were not included, such as distributed real-time systems and distributed system software. We tried to include just enough material for a one-semester course. Contents Chapter 1 introduces some basic concepts, discusses the motivation of distributed computing systems, and presents the scope of distributed com- puting systems. A brief overview of the book is also provided. Chapter 2 surveys general distributed programming languages and intro- duces a CSP-like distributed control description language (DCDL). This language is used to describe several control issues such as expressing paral- lelism, interprocess communication and synchronization, and fault-tolerant design. A list of commonly used symbols in DCDL appears in the Ap- pendix. Chapter 3 treats distributed systems in a formal way. Several concepts such as clock, event, and state are introduced as well as two approaches

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.