Web: courses.engr.illinois.edu/cs425/

Slides:



Advertisements
Similar presentations
CS 425 / ECE 428 Distributed Systems Fall 2014 Indranil Gupta (Indy) Lecture 1: Welcome, and Introduction Web: courses.engr.illinois.edu/cs425/ All slides.
Advertisements

CS 6464: Advanced Distributed Storage Systems Spring 2009 Instructor: Hakim Weatherspoon.
CS 425 / ECE 428 Distributed Systems Fall 2014 Indranil Gupta (Indy) August 26 – December 9, 2014 Lecture 1-29 Web: courses.engr.illinois.edu/cs425/ All.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Introduction Steve Ko Computer Sciences and Engineering University at Buffalo.
Lecture 1-1 CS542: Topics in Distributed Systems Diganta Goswami.
CS 425 / ECE 428 Distributed Systems Fall 2014 Indranil Gupta (Indy) Lecture 18: Replication Control All slides © IG.
Distributed Systems Lecture 1: Overview CS425/CSE424/ECE428 Fall 2011 Nikita Borisov.
Introduction. Readings r Van Steen and Tanenbaum: 5.1 r Coulouris: 10.3.
CS492: Special Topics on Distributed Algorithms and Systems Fall 2008 Lab 3: Final Term Project.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Introduction Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Mid-Semester Overview Steve Ko Computer Sciences and Engineering University at Buffalo.
Local Area Networks (LAN) are small networks, with a short distance for the cables to run, typically a room, a floor, or a building. - LANs are limited.
Web: courses.engr.illinois.edu/cs425/
Lecture 1 Page 1 CS 239, Fall 2010 Introduction CS 239 Advanced Topics in Computer Security Peter Reiher September 23, 2010.
Distributed systems [Fall 2014] G Lec 1: Course Introduction.
Introduction. Readings r Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 m Note: All figures from this book.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Wrap-up Steve Ko Computer Sciences and Engineering University at Buffalo.
+ Introduction to Class IST210 Class Lecture. + Course Objectives Understand the importance of data, databases, and database management Design and implement.
Lecture 28-1 Computer Science 425 Distributed Systems Lecture 28 “Wrap-Up” Klara Nahrstedt.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Wrap-up Steve Ko Computer Sciences and Engineering University at Buffalo.
Distributed systems [Fall 2015] G Lec 1: Course Introduction.
CS 425 / ECE 428 Distributed Systems Fall 2015 Indranil Gupta (Indy) August 25 – December 8, 2015 Lecture 1-29 Web: courses.engr.illinois.edu/cs425/ All.
CS614: Advanced Course in Computer Systems (Spring’04) Instructor: Ken Birman TA: non assigned (yet)
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Introduction Steve Ko Computer Sciences and Engineering University at Buffalo.
Lecture 29-1 Computer Science 425 Distributed Systems CS 425 / CSE 424 / ECE 428 Fall 2012 Indranil Gupta (Indy) August 27-December 11, 2012 Lecture 1-29.
CS426: Building Decentralized Systems Mahesh Balakrishnan.
CS 425/ECE 428 Distributed Systems Nitin Vaidya. T.A.s – Persia Aziz – Frederick Douglas – Su Du – Yixiao Lin.
Distributed Systems and Security: An Introduction Brad Karp and Steve Hailes UCL Computer Science CS Z03 / nd October, 2006.
Lecture 1 Book: Hadoop in Action by Chuck Lam Online course – “Cloud Computing Concepts” lecture notes by Indranil Gupta.
Computer Network Fundamentals CNT4007C
CSE 486/586 Distributed Systems Wrap-up
CS/CE/TE 6378 Advanced Operating Systems
New Internship Meeting
Distributed Operating Systems Spring 2004
CMSC 621: Advanced Operating Systems Advanced Operating Systems
Last Class: Introduction
Computer Networks CNT5106C
CS 525 Advanced Distributed Systems Spring 2013
CSE 486/586 Distributed Systems Mid-Semester Overview
Distributed Systems – Paxos
Distributed Operating Systems
Definition of Distributed System
Alternative system models
CSE 486/586 Distributed Systems Consistency --- 1
CSE 486/586 Distributed Systems Wrap-up
CS525 Advanced Distributed Systems Spring 2009
FINAL EXAM INFORMATION
Advanced Operating Systems
CS 5565 Network Architecture and Protocols
Computer Networks CNT5106C
湖南大学-信息科学与工程学院-计算机与科学系
Lecture 0 Course Information
Multiprocessor Synchronization Algorithms ( )
CS 525 Advanced Distributed Systems Spring 2018
CSC 724 Advanced Distributed Systems Introduction
Web: courses.engr.illinois.edu/cs425/
CS 425 / ECE 428 Distributed Systems Fall 2017 Indranil Gupta (Indy)
Web: courses.engr.illinois.edu/cs425/
PHYS 202 Intro Physics II Catalog description: A continuation of PHYS 201 covering the topics of electricity and magnetism, light, and modern physics.
Lecture 21: Replication Control
IS 651: Distributed Systems Final Exam
Analysis of Algorithms
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Introduction To Distributed Systems
CSE 486/586 Distributed Systems Wrap-up
CSE 486/586 Distributed Systems Introduction
Lecture 21: Replication Control
Final Exam Review CptS 464/564 April 24, 2019.
CSE 486/586 Distributed Systems Mid-Semester Overview
Distributed Systems and Algorithms
Presentation transcript:

Web: courses.engr.illinois.edu/cs425/ CS 425 / ECE 428 Distributed Systems Fall 2018 Indranil Gupta (Indy) August 28 – December 11, 2018 Lecture 1-29 Web: courses.engr.illinois.edu/cs425/ All slides © IG

Our First Goal in this Course was… (First lecture slide) To Define the Term Distributed System 2

Can you name some examples of Distributed Systems? (First lecture slide) Client-Server (NFS) The Web The Internet A wireless network DNS Gnutella or BitTorrent (peer to peer overlays) A “cloud”, e.g., Amazon EC2/S3, Microsoft Azure A datacenter, e.g., NCSA, a Google datacenter, The Planet 3

What is a Distributed System? (First lecture slide) 4

FOLDOC definition (First lecture slide) A collection of (probably heterogeneous) automata whose distribution is transparent to the user so that the system appears as one local machine. This is in contrast to a network, where the user is aware that there are several machines, and their location, storage replication, load balancing and functionality is not transparent. Distributed systems usually use some kind of client-server organization. 5

Textbook definitions (First lecture slide) A distributed system is a collection of independent computers that appear to the users of the system as a single computer. [Andrew Tanenbaum] A distributed system is several computers doing something together. Thus, a distributed system has three primary characteristics: multiple computers, interconnections, and shared state. [Michael Schroeder] Contradictions: uh, doesn’t each computer need to know about a few other computers in the system (somewhere deep down there in the RAM)? If computers don’t exchange any information and make no progress, would this count as a distributed system? 6

A working definition for us (First lecture slide) A distributed system is a collection of entities, each of which is autonomous, programmable, asynchronous and failure-prone, and which communicate through an unreliable communication medium. Entity=a process on a device (PC, PDA) Communication Medium=Wired or wireless network Our interest in distributed systems involves design and implementation, maintenance, algorithmics What Evidence/Examples have we seen? Designers and progammers interested in : algorithmics, maintenance. (informal definition, for us programmers of distributed systems) Ok: peer to peer systems Contradiction: a computer without ROM or disk drives that needs to boot over the network. Is a collection of these computers a distributed system? 7

Problems we have seen since then Time and Synchronization Global States and Snapshots Failure Detectors Multicast Mutual Exclusion Leader Election Consensus and Paxos Gossiping Peer to peer systems – Napster, Gnutella Chord, BitTorrent Cloud Computing and Hadoop Sensor Networks Structure of Networks Datacenter Disaster Case Studies Basic Theoretical Concepts Cloud Computing What Lies Beneath 8

Problems we have seen since then (2) Basic Building Blocks RPCs & Distributed Objects Concurrency Control 2PC and Paxos Replication Control Key-value and NoSQL stores Stream Processing Graph processing Scheduling Distributed File Systems Distributed Shared Memory Security Distributed Services (e.g., storage) Cloud Computing Old but Important (Re-emerging) 9

What This Course is About Sports Movies Travel to Mars Job Interviews (Not Kidding)

What This Course is About Sports: HW1 Movies: HW2 Travel to Mars: HW3 Job Interviews: HW4 (Not Kidding)

What This Course is About (2) How to get good grades (and regrades, and jobs in some cases) Midterm HW’s and MP’s You’ve built a new cloud computing system from scratch! And beaten a state of the art system! How far is your design from a full-fledged system? Can you convince developers to use your Crane instead of Storm/Spark Streaming…? 12

Rejoinder: Typical Distributed Systems Design Goals Common Goals: Heterogeneity Robustness Availability Transparency Concurrency Efficiency Scalability Security Openness (First lecture slide) Do they make sense now? 13

Rejoinder: Typical Distributed Systems Design Goals Common Goals: Heterogeneity – can the system handle a large variety of types of PCs and devices? Robustness – is the system resilient to host crashes and failures, and to the network dropping messages? Availability – are data+services always there for clients? Transparency – can the system hide its internal workings from the users? Concurrency – can the server handle multiple clients simultaneously? Efficiency – is the service fast enough? Does it utilize 100% of all resources? Scalability – can it handle 100 million nodes without degrading service? (nodes=clients and/or servers) How about 6 B? More? Security – can the system withstand hacker attacks? Openness – is the system extensible? (Also: consistency, CAP, partition-tolerance, ACID, BASE, and others … ) (First lecture slide) 14

Problems we have seen in Class (and their relation to other courses) Time and Synchronization Global States and Snapshots Failure Detectors Multicast Communications Mutual Exclusion Leader Election Consensus and Paxos Gossiping Peer to peer systems – Napster, Gnutella Chord Cloud Computing Sensor Networks Structure of Networks Datacenter Disaster Case Studies Core Material of this course Related to CS 525 (Advanced Distributed Systems Offered Spring 2020) 15

Problems we have seen in Class (and their relation to other courses) RPCs & Distributed Objects Concurrency Control 2PC and Paxos Replication Control Key-value and NoSQL stores Stream Processing Graph processing Scheduling Distributed File Systems Distributed Shared Memory Security Core Material of this course Related to CS 411/CS 511 Related to CS 525 Related to CS 421/CS 433 Related to CS 523/561 16

CS525: Advanced Distributed Systems (taught by Indy) CS 525, next offered Spring 2020 Looks at hot topics of research in distributed systems: clouds, p2p, distributed algorithms, sensor networks, and other distributed systems We will read many papers and webpages for cutting-edge systems (research and production) If you liked CS425’s material, it’s likely you’ll enjoy CS525 Project: Choose between Research project or Entrepreneurial project Your project will build a cutting edge research distributed system, and write and publish a paper on it Your project will build a distributed system for a new startup company idea (your own!) and perform associated research with it Both graduates and undergraduates welcome! (let me know if you need my consent). Class size is around 70-100 Previous research projects published in journals and conferences, some great startup ideas too! 17

Questions?

A working definition for us (First lecture slide) A distributed system is a collection of entities, each of which is autonomous, programmable, asynchronous and failure-prone, and which communicate through an unreliable communication medium. [Is this definition still ok, or would you want to change it?] Think about it! Designers and progammers interested in : algorithmics, maintenance. (informal definition, for us programmers of distributed systems) Ok: peer to peer systems Contradiction: a computer without ROM or disk drives that needs to boot over the network. Is a collection of these computers a distributed system? 19

Final Exam Office Hours: Regular [All TAs and Indy] until and including Dec 13th (usual schedule). Exceptions posted on Piazza (check before heading out to an OH) Final Exam: December 14 (Friday), 8.00 AM – 11.00 AM Locations (also on Course Schedule) 114 DKH (David Kinley Hall): if your last name starting letter is A-L 1320 DCL (Here): if your last name starting letter is M-Z Please go to your assigned classroom only! Syllabus: Includes all material since the start of the course. There may be more emphasis on material since midterm. Please check Piazza before finals: updates will be posted there 20

Final Exam (2) Cheat sheet: Allowed to bring a cheat sheet to the exam (US letter size, two sides only, at least 1 pt font). Need to turn it in with exam. Physical copy only, no online access during exam. Can bring a calculator (but no other devices). Structure: Final will be similar in structure to Midterm, only proportionally longer. More detailed answers to long questions (partial credit). Preparing: HW problems, and midterm problems (and textbook problems). 21

Course Evaluations Main purpose: to give us feedback on how useful this course was to you (and to improve future versions of the course) I won’t see these evaluations until after you see your grades Use pencil only Answer all questions Please write your detailed feedback on the back – this is valuable for future versions of the course! After you’ve filled out, hand survey to volunteer, and return pencil to box Volunteer student: Please collect all reviews, and drop envelope in campus mail box Return the box of pencils to me (3112 SC) 22