1 / 32

COSC3657:Distributed Systems

COSC3657:Distributed Systems. Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002. Instructor. Haibin Zhu, Ph. D. Assistant Professor Department of CS and Math Nipissing University Room: A124A Ext.: 4434 Email: haibinz@nipissingu.ca

Download Presentation

COSC3657:Distributed Systems

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. COSC3657:Distributed Systems Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University (C) 2002

  2. Instructor • Haibin Zhu, Ph. D. • Assistant Professor • Department of CS and Math • Nipissing University • Room: A124A • Ext.: 4434 • Email: haibinz@nipissingu.ca • URL: http://www.nipissingu.ca/faculty/haibinz • Office Hour: Mon.-Fri. 2:30pm-4:30pm, and by appointment

  3. Course • Introduction to computer networks and computer systems interconnected by networks, including both the hardware and software of selected LANs and WANs, the issues of reliable and secure communication, layered models, distributed file systems and concurrency will be discussed. • In this course, we will study some of the most important concepts in the design of distributed operating systems.

  4. Introduction to Distributed Systems • Distributed Systems • Network OSs vs distributed OSs • Research and design issues • Reading: CDK, chapters 1

  5. What is a distributed system? • CDK’s Definition: • A system in which hardware and software components located on networked computers communicate and coordinate their actions only by passing messages. • Galli’s Definition • A distributed system is a collection of heterogeneous computers and processors connected via a network. This collection works closely together to accomplish a common goal.

  6. To understand the definition • This definition allows for concurrent execution of programs, but prevents the possibility of a global clock and means that components can fail independently of one another.

  7. Problems • Why do we require distributed systems? • How does this compare with a traditional operating system such as Unix? • What implications does this definition have on implementation?

  8. Distributed Operating Systems • Requirements: • Provide user with convenient virtual computer. • Hide distribution of resources. • Mechanisms for protecting resources. • Secure communication. • Definition • Distributed OS looks to user like ordinary centralized OS, but runs on multiple, independent CPUs. • Use of multiple processors is invisible. • User views system as virtual uniprocessor.

  9. Distributed vs Centralized Systems • Advantages of Distributed Systems: • Reliability. • Sharing of resources. • Aggregate computing power. • Openness/Scalability • Disadvantages of distributed systems: • Security. • Physical distribution of resources vs demand. • Computing power per node is limited.

  10. Distributed vs Networked OS • Transparency: • How aware are users of the fact that multiple computers are being used? • Network OS: • Users are aware where resources are located • Network OS is built on top of centralized OS. • Handles interfacing and coordination between local OSs. • Distributed OS: • Designed to control and optimize operations and resources in distributed system.

  11. Network OSs • Definition: • A network OS is a collection of OSs of computers connected through a network incorporating modules to provide access to remote resources. • Characteristics: • Each computer has a private OS. • A user works on his own machine and remotely logs in to other computers. • Users are aware of location of files. • Limited fault tolerance.

  12. Internet • The Internet is a very large distributed system that allows users throughout the world to make use of its services.

  13. intranet % % ISP % % backbone satellite link desktop computer: server: network link: Figure 1.1A typical portion of the Internet

  14. Intranet • An intranet is a part of the Internet that is separately administered and uses a firewall to enforce its own local security policies. Users in an intranet share data by means of file services.

  15. Figure 1.2A typical intranet

  16. Mobile computing • Distributed systems techniques are equally applicable to mobile computing (involving laptops, PDAs and wearable computing devices) as well as ubiquitous computing (involving the small computers embedded in appliances).

  17. Fig. 1.3 Portable and handheld devices in a distributed system

  18. http://www.google.comlsearch?q=kindberg www.google.com Browsers Web servers Internet www.cdk3.net http://www.cdk3.net/ www.w3c.org http://www.w3c.org/Protocols/Activity.html File system of Protocols www.w3c.org Activity.html Fig. 1.4 Web servers and web browsers

  19. Date Web servers Computers 188 0 1979, Dec. 1989, July 130,000 0 1999, July 56,218,000 5,560,866 Figure 1.5Computers in the Internet 2003 171, 638, 297 35, 424, 956 605, 600, 000 2004 ???

  20. Date Computers Web servers Percentage 1,776,000 130 0.008 1993, July 1995, July 6,642,000 23,500 0.4 1997, July 19,540,000 1,203,096 6 1999, July 56,218,000 6,598,697 12 Figure 1.6Computers vs Web servers in the Internet 2001 25 31, 299, 592 125, 888, 197 42, 298, 371 2003

  21. World Wide Web • Ultimate distributed system. • Developed in 1989 in CERN Switzerland for document exchange among physicists. • Documents have a hypertext structure. • New resources are located by following these hypertext links. • Uses a client-server model. • A browser (client) on a user machine makes requests and handles the displayNew document formats can be handled by plug-ins or helpers without changing the browser software. • .The web server only delivers documents and is not concerned with user interfaces or document format.

  22. World Wide Web Components • HTML (HyperText Markup Language) - specifies the format for the documents delivered by the server URL (Uniform Resource Locator) - specifies a resource that is accessible via the web. • HTTP (HyperText Transfer Protocol) - specifies the interaction between browsers and web servers

  23. HTML format for web documents • Text format can be created using Text editor or HTML tool. • Uses tags to specify content: • <P> A paragraph </P> • <IMG SRC=“Book.gif”> • <A HREF=“http://www.nipissingu.ca”>NU</A> • The <A HREF…..> X</A> specifies a link identified by X in the text.

  24. URLS • Format • scheme: scheme-specific-location • Format of scheme-specific-location when scheme is HTTP: • http://servername[:port][/pathOnServer][/arguments] • Examples • http://www.nipissingu.ca • http://www.nipissingu.ca/faculty/haibinz • http://www.google.ca/search?q=distributed+systems

  25. HTTP • Built using TCP socket connections. • Request-reply protocol: • Client initiates with a request (GET) • Server responds with requested document or an error • Content types identify document types for browser. • HTTP 1.0 - need a separate request for each resource • HTTP 1.1 - requests pipelined and served by a single connection. • Executables: • CGI (Common Gateway Interface) executes on server • Java Applets execute on browser

  26. Research and Design Issues • Communication model • Paradigms for process interaction • Transparency • Heterogeneity • Autonomy and/or interdependence • Reliable distributed computing • Replication

  27. Challenges • Heterogeneity • Networks • Hardware • OS • Programming languages • Different implementations • Openness • System can be extended and re-implemented • interfaces published • uniform mechanism to access resources • heterogeneous h/w and software, provided that they conform to the specification. • Security • naming • capacity, e.g., factor of 105 for Web servers

  28. Challenges cont’d • Failure handling • hardware redundancy • software recovery • Concurrency • Many users, hence many concurrent pieces of work • Servers need to be responsible to many clients, so they need to be concurrent • Many computers, hence many resources available for parallelism • Concurrency ?parallelism • Transparency

  29. Transparency • Transparency: Make the network invisible to user/applications. • Various degrees of transparency: • Access Transparency • Location Transparency • Name Transparency • Data Transparency • Execution Transparency • Performance Transparency • Scaling transparency

  30. Figure 1.7Transparencies Access transparency: enables local and remote resources to be accessed using identical operations. Location transparency: enables resources to be accessed without knowledge of their location. Concurrency transparency: enables several processes to operate concurrently using shared resources without interference between them. Replication transparency: enables multiple instances of resources to be used to increase reliability and performance without knowledge of the replicas by users or application programmers. Failure transparency: enables the concealment of faults, allowing users and application programs to complete their tasks despite the failure of hardware or software components. Mobility transparency: allows the movement of resources and clients within a system without affecting the operation of users or programs. Performance transparency: allows the system to be reconfigured to improve performance as loads vary. Scaling transparency: allows the system and applications to expand in scale without change to the system structure or the application algorithms.

  31. Autonomy and Interdependence • Disadvantage generated by interdependence: • cannot work stand-alone • globally controlled • difficult to identify source of authority and responsibility • what about mutual suspicion? • Reasons for autonomy: • policy freedom • robustness • cooperation between mutually suspicious users

  32. Summary • Distributed Systems Definitions • One system • Many computers • Connected by network • Cooperate on the same task • Internet and World Wide Web • Challenges • Heterogeneity • Openness • Security • Failure handling • Concurrency • Transparency

More Related