1 / 24

Introduction

Introduction. Distributed Systems Goals of Distributed Systems Hardware and Software Concepts Client-Server Model. 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

feryal
Download Presentation

Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction Distributed Systems Goals of Distributed Systems Hardware and Software Concepts Client-Server Model

  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. 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. Transparency • Kinds of transparency • Degree of transparency

  5. Scalability • Impediments to scalability

  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. Hardware Concepts Multiprocessors Multicomputers Single address space shared by all

  8. Multiprocessors • Single address space shared by all • Coherency is easy but scalability a problem • Solution – cache – now coherency is an issue

  9. Multiprocessors – switch-based • Competition for the bus is still an issue • Switch-based systems? • Crossbar switch & Omega switching network

  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. 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

  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. Multiprocessors Operating Systems • From uniprocessors to multiprocessors – a natural step • Protect OS data structures against concurrent access to guarantee consistency • Semaphores • Monitors

  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. 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. 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. 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. 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. Comparison between Systems 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. Comparison between 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. Multitiered Architectures • The three logical levels → many physical distributions and potentially multiple tiers • Alternative client-server organizations

  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. Hints for Computer System Design

More Related