1 / 20

Lecture 1 – Introduction to Distributed Systems

[1 차시 ]. Lecture 1 – Introduction to Distributed Systems. 염익준 (yeom@cs.kaist.ac.kr). Contents. Syllabus Introduction to Distributed Systems Project 1. CS 642: Distributed Systems. Instructor: 염익준 Email: yeom@cs.kaist.ac.kr Web page: http://cnlab.kaist.ac.kr/~ikjun/DS/ds2002.html

basil
Download Presentation

Lecture 1 – Introduction to 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. [1차시] Lecture 1 – Introduction to Distributed Systems 염익준 (yeom@cs.kaist.ac.kr)

  2. Contents • Syllabus • Introduction to Distributed Systems • Project 1

  3. CS 642: Distributed Systems • Instructor: 염익준 • Email: yeom@cs.kaist.ac.kr • Web page: http://cnlab.kaist.ac.kr/~ikjun/DS/ds2002.html • Office: 전산학동 1419호 • Phone: 3544 • Office hour: 강의 후 한시간

  4. Course Description • Textbooks: • Distributed Systems: Concepts and Design authored by G. Coulouris et al. • Distributed Operating Systems authored by A. Tanenbaum. • Grading policy: • Midterm (30%), Final (30%), Projects (40%) • Projects • Implementing some important parts of distributed systems. • Should be implemented in UNIX/LINUX environment using C/C++. • Grading: Report (50%), Demo (50%).

  5. Tentative Schedule

  6. Distributed Systems • A system in which hardware or software components located at networked computers communicate and coordinate their actions only by passing messages. • Properties: • Concurrency • No global clock • Independent failures • Examples of distributed systems • Internet, Intranet, Mobile and ubiquitous computing

  7. intranet % % ISP % % backbone satellite link desktop computer: server: network link: A typical Portion of the Internet

  8. A Typical Intranet

  9. Portable and Handheld Devices

  10. Distributed vs. Centralized Systems • Advantages of distributed systems: • Reliability • Sharing of resources • Aggregate computing power • Openness/Scalability • Disadvantages of distributed systems: • Security • Software • Communication network

  11. Challenges (1/3) • Heterogeneity • Networks • Computer hardware • Operating systems • Programming languages • Openness • Open systems are characterized by the fact that their key interfaces are published. • Open distributed systems are based on the provision of a uniform communication mechanism and published interfaces for access to shared resources.

  12. Challenges (2/3) • Security • Scalability • Scalable if will remain effective when there is a significant increase in the number of resources and the number of users. • Failure handling • Detecting failures: checksum, etc. • Masking failures: retransmission, mirroring. • Tolerating failures: Internet telephony • Recovery from failures: checkpoint and rollback recovery.

  13. Challenges (3/3) • Concurrency -> consistency • Transparency • Access transparency • Location transparency • Concurrency transparency • Replication transparency • Failure transparency • Mobility transparency • Performance transparency • Scaling transparency

  14. Client invocation result Server Client Key: Process: Computer: System Architectures (1/2) A Client-server model With multiple servers

  15. System Architecture (2/2) Web proxy server Peer-to-peer

  16. An Example - Whiteboard • Client-server or peer-to-peer? • Consistency? • Performance?

  17. Project 1 A Text-Based P2P System • Implement a text based peer-to-peer system which • takes text based UNIX commands with location. • displays results. • Example) $ TP2P :: cnlab<ls Temp Work :: cnlab<ls –l drwx------ 2 ikjun users 4096 Jul 29 01:00 Temp drwx------ 2 ikjun users 4096 Aug 13 15:12 Work

  18. Specifications and Requirements • Location is specified as follows: • LOCATION<command • LOCATION can be an IP address or a host and domain name. • If a command is given without a location, run in the local host. • For ‘ALL’ in location, run in all the host connected. • For ‘ANY’ in location, run in a host which is expected to answer most promptly. • There should be a special command, listHost, implemented to list all the host connected.

  19. Design Issues • TCP or UDP? • How to determine a host for ‘ANY’? • Fast connection, CPU load or both? • Need a central server for managing current connected hosts? • Where to store environment variables (current directory, etc)?

  20. Project Report • Introduction • System Design • Implementation Details • Manual • Performance Evaluation • Conclusion  Reports written in English will get extra credit (10%).

More Related