Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Distributed Systems • Distributed systems—principles and paradigms, Tanenbaum • Distributed systems—concepts and design, George Coulouris • 分布式系统, 李西宁, 科学出版社, 2006 = Supercomputer Table of Contents 1. Introduction (Evolution) 2. Some system models 3. Communication in distributed systems 4. Distributed programming 5. Distributed OS: Processes, Naming, Synchronization 6. Distributed object-based systems: CORBA, DCOM 7. Web services 8. DDM: Consistency, replication, concurrency (DNS) 9. Peer-to-peer computing 10. Grid 11. Fault tolerance 12. Security 1. Introduction 1.1 Introduction 1. What is a distributed system? (P2) A distributed system is a collection of independent computers that appears to its users as a single coherent system. A distributed computing system consists of multiple autonomous computers (or processors) that do not share primary memory, but cooperate by sending message over a communication network. 1976 21 30 Kmap3 Kmap4 31 Kmap2 40 Kmap5 41 11 20 1 10 Kmap1 50 Cm* Carnegie Mellon University 1982 LSI ZCZ Nanjing University Now: Web service, Grid, P2P Characteristics: multiple computers communication resource sharing decentralized parallel processing transparency independent failures Transparency in a Distributed System Transparency Description Access Hide differences in data representation and how a resource is accessed Location Hide where a resource is located Migration Hide that a resource may move to another location Relocation Hide that a resource may be moved to another location while in use Replication Hide that a resource may be replicated Concurrency Hide that a resource may be shared by several competitive users Failure Hide the failure and recovery of a resource Persistence Hide whether a (software) resource is in memory or on disk Different forms of transparency in a distributed system. P5 Advantages • • • • • • robustness maintenance extensibility (scalability) efficiency (performance/cost) people are distributed information is distributed DNS Disadvantages: network can cause problems security is a problem software is needed About openness --- a goal P8 1) A open distributed system is a system that offers services according to standard rules. * resources sharing --- Web * parallel distributed computing (cooperative computing) --- communication Computer network --- protocols Distributed system --- IDL, XML, protocols P8 2) Advantages interoperability portability 2. Differences between network and D.S Early Resource Location Cooperate Distance Now LAN private, shared not no small Distributed system shared, private transparent yes small or large Network Distributed system resources sharing basis resources integration middleware Network Operating System Resource management? 1-19 General structure of a network operating system. Distributed Operating Systems 1.14 General structure of a multicomputer operating system P28 3. Is Internet a distributed system? Motivation for Internet If one part of system is broken or destroyed, the other will continue to work. It is impossible to destroy something that has no headquarters, no leader and not just one machine doing all work. • Internet计算的第二波将受到不断扩展的分布式 计算构架的推动。 • Internet使分布式计算具有新的潜力, 人们对分 布式计算提出了新的要求 4. Evolution 1) Distributed computer system DOS DOS DOS Success: – Many concepts and techniques were proposed – Centralized computing distributed computing Failure: – The system was not accepted 2) Distributed System organized as middleware P3 Note that the middleware layer extends over multiple machines. • Distributed Computing Environment DCE NOS1 DCE NOS2 DCE NOSi • CORBA prog Lang1 o ORB NOS1 obj Lang2 ORB NOS2 obj Lang3 ORB NOS3 Success: – Distributed object technique and some products appeared. CORBA DCOM EJB/J2EE Result: promote the development of distributed application system. (develop and assemble distributed object) Issue: – not unify (not openness) Web services 3) Distributed object technique combines AI technique P173 Software agents • An autonomous process capable of reacting to, and initiating changes in its environment, possibly in collaboration with users and other agents. • To act on its own, to take initiative where appropriate 3) Wide-area distributed system (a) Grid Infrastructure that facilitates controlled sharing of resources across organizational boundaries. – “网络”实现了计算机硬件的连通, “Web”实现了网页 连通 – “网格”在应用层面实现所有资源的全面连通, 包括计 算, 存储,软件,数据, 仪器设备… • Computational grid • Data grid • Earthquake Grid Computing • 网格计算就是基于网格的问题求解。 • Use hardware & software facilities, that research institutes in the world have, to solve very complicated scientific research and computational problems. (b) Web services -- distributed system combines WWW • identified by URIs; • accessible via standard Web protocols; • capable of sending, receiving, and acting on XML based message; and • capable of interacting with applications and programs that are not directly human-driven user interfaces Windows .NET or Java Tomcat CORBA, DCOM, EJB (c) Peer to peer system • Computers operating as peers collaborate to achieve an end result without a central authority • P2P computing has both technical and social components Napster --- share MP3 files Hierarchy Distributed application system Distributed support system: middleware Grid, P2P, Web service Network OS, Internet LAN, WAN 5. Key issue provide universal service in a heterogeneous world. Communication TCP/IP Hete. OS Hete. network Interoperability interface/XML/others Hete. language Hete. OS, net P23 Software Concepts System Description DOS operating system for homogeneous multicomputers NOS Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) Middleware Additional layer atop of NOS implementing general-purpose services An overview between • DOS (Distributed Operating Systems) • NOS (Network Operating Systems) • Middleware P36 Main Goal Hide and manage hardware resources Offer local services to remote clients Provide distribution transparency Comparison between Systems Distributed OS P41 Multiproc. Multicomp. Network OS Degree of transparency Very High High Low High Same OS on all nodes Yes Yes No No Number of copies of OS 1 N N N Basis for communication Shared memory Global, central Messages Files Model specific Global, distributed Per node Per node Item Resource management Middlewarebased OS Scalability No Moderately Yes Varies Openness Closed Closed Open Open A comparison between multiprocessor operating systems, multicomputer operating systems, network operating systems, and middleware based distributed systems. Clients and Servers 1.25 General interaction between a client and a server. Multitiered Architectures 1-30 An example of a server acting as a client. Multitiered Architectures 1-29 Alternative client-server organizations (a) – (e). Another architectures 1-31 An example of horizontal distribution of a Web service. Summary 1. Concepts 2. Evolution – local area ---> medium ---> Internet (wide area) – distributed OS --> middleware --> protocols, specifications 3. Multiprocessor system – Hardware purposes? Network; Distributed system; Parallel computer – Software NOS; Middleware, support systems…; DOS Related magazines • IEEE Transaction on Parallel and Distributed Systems http://computer.org/tpds [email protected] • Distributed Computing http://link.springer.de/comp/ http://link.springer-ny.com • Journal of Parallel and Distributed Computing http://www.academicpress.com/jpdc home page http://www.idealibrary.com papers • Internet Computing http://computer.org/internet/