Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Introduction Distributed Systems Goals of Distributed Systems Hardware and Software Concepts.

Similar presentations


Presentation on theme: "CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Introduction Distributed Systems Goals of Distributed Systems Hardware and Software Concepts."— Presentation transcript:

1 CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Introduction Distributed Systems Goals of Distributed Systems Hardware and Software Concepts Client-Server Model

2 CS-495 Distributed Systems 2 Distributed System A distributed system is a collection of (1) independent computers that (2) appears to its users as a single coherent system. e.g. NOW Workflow information system WWW

3 CS-495 Distributed Systems 3 Goals To make them worth the effort –Connecting users and resources make easy to access remote resources & share them in a controlled way –Transparency – hide the fact that resources are distributed –Openness – so that they can be Applications can be portable Different implementations can interoperate DS are flexible and extensible –Scalability – world-wide connectivity Scalable in –Size - # of users/resources –Geographic span –Administratively

4 CS-495 Distributed Systems 4 Transparency Kinds of transparency Degree of transparency TransparencyDescription AccessHide differences in data representation and how a resource is accessed LocationHide where a resource is located MigrationHide that a resource may move to another location RelocationHide that a resource may be moved to another location while in use ReplicationHide that a resource may be shared by several competitive users ConcurrencyHide that a resource may be shared by several competitive users FailureHide the failure and recovery of a resource PersistenceHide whether a (software) resource is in memory or on disk

5 CS-495 Distributed Systems 5 Scalability Impediments to scalability ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line telephone book Centralized algorithmsDoing routing based on complete information

6 CS-495 Distributed Systems 6 Scaling Techniques Hiding communication latency – avoid waiting for responses to remote service request when possible –Asynchronous communication –Reduce overall communication Distribution – split a component into parts & distribute them across the system Replication –Increase availability –Helps balance the load –May hide communication latency

7 CS-495 Distributed Systems 7 Hardware Concepts Multiprocessors Multicomputers Single address space shared by all

8 CS-495 Distributed Systems 8 Multiprocessors Single address space shared by all –Coherency is easy but scalability a problem Solution – cache – now coherency is an issue

9 CS-495 Distributed Systems 9 Multiprocessors – switch-based Competition for the bus is still an issue Switch-based systems? –Crossbar switch & Omega switching network

10 CS-495 Distributed Systems 10 Multicomputers Easier to build – problem is interconnection –Homogenous – System Area Network Homogeneous nodes rack mounted and Interconnected by a high-performance network (e.g. grid, hypercube) –Heterogeneous – both in the nodes and the interconnection network Problem – hiding heterogeneity is hard

11 CS-495 Distributed Systems 11 Software Concepts OS for multicomputers/multiprocessors can be divided in two categories –Distributed OS – tightly-coupled systems –Network OS – loosely-coupled systems From a NOW, to get a distributed system you need middleware SystemDescriptionMain Goal DOS Tightly-coupled operating system for multi-processors and homogeneous multicomputers Hide and manage hardware 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

12 CS-495 Distributed Systems 12 Uniprocessor Operating Systems OS for distributed systems and uniprocessors are very much alike –They act as resource managers for the underlying hardware –Provide a virtual machine that hide the intricacies of the underlying hardware Part of enabling resource sharing is protecting apps from each other –Dual mode of operation – monolithic OSs Microkernels –Pros and cons

13 CS-495 Distributed Systems 13 Multiprocessors Operating Systems From uniprocessors to multiprocessors – a natural step Protect OS data structures against concurrent access to guarantee consistency –Semaphores –Monitors

14 CS-495 Distributed Systems 14 Multicomputer Operating Systems No shared memory – communication through message passing You can –Exposed message passing to application –Hide it through distributed shared memory

15 CS-495 Distributed Systems 15 Distributed Shared Memory Since MP seems to be more difficult to program for Distributed Shared Memory –AS divided into pages –Pages distributed among machines Performance improvements –Replicate read-only pages –Replicate all pages –Weaker than strict consistency –Larger pages sizes potential problem of false sharing CPU 1 references page 10 Page 10 is read only and replication is used

16 CS-495 Distributed Systems 16 Network Operating System Various machines interconnected; users can access remote resources No assumptions of –Homogeneous underlying hardware –Managed as a single system Pros and Cons –Harder to use –Harder to manage –Very easy to scale

17 CS-495 Distributed Systems 17 Middleware Remember the definition of a distributed system –Distributed OS – not intended to handle independent machines –Network OS – does not provide a view of a single coherent system Most distributed systems are built from NOS + middleware

18 CS-495 Distributed Systems 18 Middleware Models and Services To make development and integration simple – adopt a paradigm –Everything is a file –Remote Procedure Calls –Distributed Objects –Distributed Documents Services common to many middleware systems –Communication –Naming –Persistence –Distributed Transaction –Security Middleware and openness

19 CS-495 Distributed Systems 19 Comparison between Systems Item Distributed OS Network OS Middleware- based OS Multiproc.Multicomp. a) Degree of transparency b) Same OS on all nodes c) Number of copies of OS d) Basis for communication e) Resource management f) Scalability g) Openness a) High/Low b) Yes/No c) 1/N d) Shared memory/messages/files/model specific e) Global central/global distributed/per node f) No/Yes/So-So g) Closed/Open

20 CS-495 Distributed Systems 20 Comparison between Systems Item Distributed OS Network OS Middleware- based OS Multiproc.Multicomp. Degree of transparencyVery HighHighLowHigh Same OS on all nodesYes No Number of copies of OS1NNN Basis for communicationShared memoryMessagesFilesModel specific Resource managementGlobal, centralGlobal, distributedPer node ScalabilityNoModeratelyYesVaries OpennessClosed Open

21 CS-495 Distributed Systems 21 Client-Server Model Clients and Servers as a model for distributed applications Layering: general organization of an Internet search engine into 3 different layers

22 CS-495 Distributed Systems 22 Multitiered Architectures The three logical levels many physical distributions and potentially multiple tiers Alternative client-server organizations

23 CS-495 Distributed Systems 23 Modern Architectures Distribution can be –Vertical – what we have seen so far –Horizontal – distributing the clients and servers themselves Distributed web server. P2P system

24 CS-495 Distributed Systems 24 Hints for Computer System Design Why it helps?/ Where it helps? FunctionalitySpeedFault-tolerance CompletenessSeparate normal & worst case Safety first Shed load End-to-End InterfaceDo one thing well Dont generalize Get it right Dont hide power Use procedure arguments Leave it to the client Keep basic interface stable Keep a place to stand Make it fast Split resources Static analysis Dynamic translation End-to-End Log updates Make actions atomic ImplementationPlan to throw one away Keep secrets Use a good idea again Divide and conquer Cache answers Use hints Use brute force Compute in background Batch processing Make actions atomic Use hints


Download ppt "CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Introduction Distributed Systems Goals of Distributed Systems Hardware and Software Concepts."

Similar presentations


Ads by Google