1 / 36

Distributed (Operating) Systems -Introduction-

Distributed (Operating) Systems -Introduction-. Fall 2011 Kocaeli University Computer Engineering Department. Course Outline. Introduction What, why, basics... Distributed Architectures Interprocess Communication RPCs, RMI, message- and stream-oriented communication.

ide
Download Presentation

Distributed (Operating) Systems -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. Distributed (Operating) Systems-Introduction- Fall 2011 Kocaeli University Computer Engineering Department

  2. Course Outline • Introduction • What, why, basics... • Distributed Architectures • Interprocess Communication • RPCs, RMI, message- and stream-oriented communication. • Processes and their scheduling • Thread/process scheduling, code/process migration, virtualization. • Naming and location management • Entities, addresses, access points

  3. Course Outline • Canonical problems and solutions • Mutual exclusion, leader election, clock synchronization, … • Resource sharing, replication and consistency • DFS, consistency issues, caching and replication • Fault-tolerance • Node failure or network failure ? • Security in distributed Systems • Distributed middleware • Advanced topics: web, cloud computing, green computing, multimedia, and mobile systems.

  4. Why Distributed Systems? • Many systems that we use on a daily basis are distributed • World wide web, Google • Face-book • Peer-to-peer file sharing systems • SETI@Home • Grid and cluster computing • Banks (Cash machines) • Useful to understand how such real-world systems work • Course covers basic principles for designing distributed systems

  5. Definition of a Distributed System • A distributed system: • Multiple connected CPUs working together • A collection of independent computers that appears to its users as a single coherent system • Examples: parallel machines, networked machines • Advantages • Communication and resource sharing possible • Economics – price-performance ratio • Reliability, scalability • Potential for incremental growth • Disadvantages • Distribution-aware PLs, OSs and applications • Network connectivity essential • Security and privacy

  6. Transparency in a Distributed System Transparency is a GOAL of Distributed Systems

  7. Degree of Transparency • Transparency is • Not always desirable • Users located in different continents (context-aware) • Not always possible • Hiding failures (you can distinguish a slow computer from a failing one) • Trade-off between a high degree of transparency and the performance of the system

  8. Openness (Another goal of DS) • Offer services that are described a priori • Syntax and semantics are known via protocols • Servies specified via interfaces • Benefits • Interoperability • Portability • Extensibility • Open system evolve over time and should be extensible to accommodate new functionality. • Separate policy from mechanism

  9. Scalability Problems Examples of scalability limitations Three different dimensions of Scalability • Size (the number of users and/or processes) • Geographical (maximum distance betweenparticipants) • Administrative (number of administrativedomains)

  10. Scaling Techniques • Characteristics of decentralized algorithms • No machine has complete state • Make decision based on local information • A single failure does not bring down the system • No global clock • Techniques • Asynchronous communication (for geographical scalability) • Distribution (slide no 12) • Caching and replication

  11. Scaling Techniques (1) • The difference between letting: • A server or • A client check forms as they are being filled

  12. Scaling Techniques (2) An example of dividing the DNS name space into zones.

  13. Distributed Systems Models • Distributed Computing Systems • Cluster Computing • Grid Computing • Cloud Computing • Distributed Information Systems • Distributed Embedded Systems

  14. Cluster Computing Systems • Collection of similar workstations and PCs closely connected by means of high-speed local area network

  15. Grid Computing Systems • Collection of distributed systems where each system may fall under a different administrative domain. • Hardware, software and network are most probably very different Grid middleware layer

  16. Cloud Computing • Cloud computing is a type of Grid computing OR evaluation result of Grid computing • Grid says: “Let’s join our domains and efforts by shaing your resurces in order to get more computational power”. • Cloud says: “We can provide you more computational power than what you need. Just tell us what you want and we will give it to you”.

  17. Emerging Models • Distributed Pervasive Systems • “smaller” nodes with networking capabilities • Computing is “everywhere” • lack of human admin control • Home networks: TiVO, Windows Media Center, … • Mobile computing: smart phones, iPODs, Car-based PCs • Sensor networks* • Health-care: personal area networks*

  18. Pervasive/Ubiquitous Computing • Move beyond desktop machine • Computing is embedded everywhere in the environment • Computing capabilities, any time, any place • “Invisible” resources • Machines sense users’ presence and act accordingly

  19. Sensor Networks (1) • Questions concerning sensor networks: • How do we (dynamically) set up an efficient tree in a sensor network? • How does aggregation of results take place? Can it be controlled? • What happens when network links fail?

  20. Sensor Networks (2) • Organizing a sensor network database, while storing and processing data (a) only at the operator’s site or …

  21. Sensor Networks (3) • Organizing a sensor network database, while storing and processing data … or (b) only at the sensors

  22. Electronic Health Care Systems (1) • Questions to be addressed for health care systems: • Where and how should monitored data be stored? • How can we prevent loss of crucial data? • What infrastructure is needed to generate and propagate alerts? • How can physicians provide online feedback? • How can extreme robustness of the monitoring system be realized? • What are the security issues and how can the proper policies be enforced?

  23. Electronic Health Care Systems (2) • Figure 1-12. Monitoring a person in a pervasive electronic health care system, using (a) a local hub or • (b) a continuous wireless connection.

  24. Types of Operating Systems

  25. Uniprocessor Operating Systems • An OS acts as a resource manager or an arbitrator • Manages CPU, I/O devices, memory • OS provides a virtual interface that is easier to use than hardware • Structure of uniprocessor operating systems • Monolithic (e.g., MS-DOS, early UNIX) • One large kernel that handles everything • Layered design • Functionality is decomposed into N layers • Each layer uses services of layer N-1 and implements new service(s) for layer N+1

  26. Uniprocessor Operating Systems • Microkernel architecture • Small kernel • user-level servers implement additional functionality

  27. Distributed Operating System • Manages resources in a distributed system • Seamlessly and transparently to the user • Looks to the user like a centralized OS • But operates on multiple independent CPUs • Provides transparency • Location, migration, concurrency, replication,… • Presents users with a virtual uniprocessor

  28. Multiprocessor Operating Systems • Multi-core • Like a uniprocessor operating system • Manages multiple CPUs transparently to the user • Shared main memory and controlled by a single OS instance • Each processor has its own hardware cache • Maintain consistency of cached data

  29. Distributed Operating Systems (1) • Example: MOSIX cluster - single system image

  30. Distributed Operating Systems (2) • Gives illusion of single system • Users not aware of multiplicity of machines • Access to remote resources similar to access to local resources • Data Migration – transfer data by transferring entire file, or transferring only those portions of the file necessary for the immediate task • Computation Migration – transfer the computation, rather than the data, across the system

  31. Network Operating System (1)

  32. Network Operating System (2) • Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by: • Remote logging into the appropriate remote machine (telnet, ssh) • Remote Desktop (Microsoft Windows) • Transferring data from remote machines to local machines, via the File Transfer Protocol (FTP) mechanism

  33. Middleware-based Systems

  34. Types of Distributed OSs

  35. Comparison between Systems

  36. Pitfalls when Developing Distributed Systems • False assumptions made by first time developer: • The network is reliable. • The network is secure. • The network is homogeneous. • Latency is zero. • Bandwidth is infinite. • Transport cost is zero. • There is one administrator.

More Related