360 likes | 673 Views
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
E N D
Distributed Systems Distributed systems—principles and paradigms, Tanenbaum Distributed systems—concepts and design, George Coulouris 分布式系统, 李西宁, 科学出版社, 2006
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.1 Introduction 1. What is a distributed system? (P2) A distributed system is a collection of indepen-dent 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.
Kmap1 1976 21 30 Kmap3 Kmap4 Kmap2 31 20 40 11 Kmap5 1 41 50 10 Cm* Carnegie Mellon University
1982 LSI Now: Web service, Grid, P2P ZCZ Nanjing University
Characteristics: • multiple computers • communication • resource sharing • decentralized • parallel processing • transparency • independent failures
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 P5 Transparency in a Distributed System Different forms of transparency in a distributed system.
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 LAN Distributed system Resource Location Cooperate Distance Now Network Distributed system private, shared shared, private not transparent no yes small or large small resources sharing basis resources integration middleware
Network Operating System General structure of a network operating system. Resource management? 1-19
Distributed Operating Systems P28 General structure of a multicomputer operating system 1.14
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 Success: • Many concepts and techniques were proposed • Centralized computing distributed computing Failure: • The system was not accepted DOS DOS DOS
2) Distributed System organized as middleware P3 Note that the middleware layer extends over multiple machines.
DCE NOS1 DCE NOS2 DCE NOSi Lang1 Lang2 Lang3 prog o ORB NOS1 ORB NOS2 ORB NOS3 obj obj • Distributed Computing Environment • CORBA
Web services 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)
3) Distributed object technique combines AI technique P173 Software agents • An autonomous process capable of reacting to, andinitiating 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 provideuniversal service in a heterogeneous world. Communication Interoperability TCP/IP interface/XML/others Hete. OS Hete. language Hete. network Hete. OS, net
System Description Main Goal DOS operating system for homogeneous multicomputers Hide and managehardware resources NOS Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) Offer local services to remote clients Middleware Additional layer atop of NOS implementing general-purpose services Provide distribution transparency P23 Software Concepts An overview between • DOS (Distributed Operating Systems) • NOS (Network Operating Systems) • Middleware P36
Item Distributed OS Network OS Middleware-based OS Multiproc. Multicomp. 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 Messages Files Model specific Resource management Global, central Global, distributed Per node Per node Scalability No Moderately Yes Varies Openness Closed Closed Open Open P41 Comparison between Systems A comparison between multiprocessor operating systems, multicomputer operating systems, network operating systems, and middleware based distributed systems.
Clients and Servers General interaction between a client and a server. 1.25
Multitiered Architectures An example of a server acting as a client. 1-30
Multitiered Architectures Alternative client-server organizations (a) – (e). 1-29
Another architectures An example of horizontal distribution of a Web service. 1-31
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 tpds@computer.org • 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/