290 likes | 611 Views
[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
E N D
[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 • Office: 전산학동 1419호 • Phone: 3544 • Office hour: 강의 후 한시간
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%).
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
intranet % % ISP % % backbone satellite link desktop computer: server: network link: A typical Portion of the Internet
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
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.
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.
Challenges (3/3) • Concurrency -> consistency • Transparency • Access transparency • Location transparency • Concurrency transparency • Replication transparency • Failure transparency • Mobility transparency • Performance transparency • Scaling transparency
Client invocation result Server Client Key: Process: Computer: System Architectures (1/2) A Client-server model With multiple servers
System Architecture (2/2) Web proxy server Peer-to-peer
An Example - Whiteboard • Client-server or peer-to-peer? • Consistency? • Performance?
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
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.
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)?
Project Report • Introduction • System Design • Implementation Details • Manual • Performance Evaluation • Conclusion Reports written in English will get extra credit (10%).