Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS/CE/TE 6378 Advanced Operating Systems

Similar presentations


Presentation on theme: "CS/CE/TE 6378 Advanced Operating Systems"— Presentation transcript:

1 CS/CE/TE 6378 Advanced Operating Systems
Course Overview CS/CE/TE Advanced Operating Systems

2 Professor Introduction
Dr. Liu Assistant Professor of Computer Science Director of the Real-Time & Embedded Systems Lab Research interests: Real-Time & Embedded Systems Batter-Powered Cyber-Physical Systems GPGPU Mobile and Cloud Computing Course Overview

3 Office Hours Location: ECSS 4.211 Hours: Friday 8am – 10am
Schedule appointments by Course Overview

4 Distributed Systems Distributed System:
“A distributed system is one in which the failure of a computer you didn’t even know existed can render your own computer unusable.” Course Overview > Distributed Systems

5 Distributed Systems What’s a distributed system?
A set of nodes, connected by a network, which appear to its users as a single coherent system. Course Overview > Distributed Systems

6 Examples Internet Automatic banking Telecommunications
Industrial control systems Supercomputers Multiplayer video games Course Overview > Distributed Systems

7 Advantages Resource sharing (e.g., Internet)
Reliability (e.g., industrial control systems) Performance (e.g., supercomputing) Expandability (e.g., multiplayer video games) Course Overview > Distributed Systems

8 Why Study Distributed Systems?
It is important and useful Societal importance Internet Small devices (mobiles, sensors) Technical importance Improve scalability Improve reliability Course Overview > Distributed Systems

9 Why Study Distributed Systems?
It is very challenging Partial failures Network (dropped messages) Node failures Concurrency Nodes execute in parallel Messages travel asynchronously Course Overview > Distributed Systems

10 Two Important Characteristics
No shared memory A process does not know the current state of other processes No global clock Processes have different local times Course Overview > Distributed Systems

11 No Shared Memory A process does not know the current state of other processes Hence messages are required How are you? I am fine. Course Overview > Distributed Systems

12 No Global Clock Processes have different local times
Even within the same time zone 6:00:01.59 3:00:01.57 4:00:01.59 6:00:01.60 5:00:01.58 Course Overview > Distributed Systems

13 Theoretical Foundations
Clocks Logical clocks (Lamport) Partially ordered clocks (Fidge) Causally ordered message delivery Broadcast-based (Birman et al.) Unicast-based (Raynal, Schiper & Toueg) System states Global snapshots (Chandy & Lamport) Termination detection (Huang) Course Overview > Distributed Systems

14 Distributed Mutual Exclusion
Permission-based (Ricart & Agrawala) Quorum-based (Maekawa) Token-based (Raymond) Midterm EXAM (in class) Course Overview > Distributed Systems

15 Synchronizing Processes
Clocks External clock synchronization (Cristian) Internal clock synchronization (Gusella & Zatti) Network Time Protocol (Mills) Decisions Agreement protocols (Fischer) Data Distributed file systems (Satyanarayanan) Memory Distributed shared memory (Nitzberg & Lo) Schedules Distributed scheduling (Isard et al.) Course Overview > Distributed Systems

16 Processes Failing & Modern Systems
Recovering from Distributed recovery (Bernstein et al.) Checkpoint recovery (Elonozahy et al.) Log-based recovery (Elonozahy et al.) Modern distributed systems Google File System (Ghemawat et al.) Amazon Dynamo (DeCandia et al.) FINAL EXAM (in class) Course Overview > Distributed Systems

17 Course Learning Objectives
Ability to understand the concepts of concurrent and distributed execution in modern operating systems and networks of systems. Ability to understand the notion of time and clocks in a system with no global time-keeper. Ability to understand the concept of causal ordering of events and deadlocks. Ability to understand the concept of distributed mutual exclusion and resource management, including processor, memory, and file systems. Ability to design new algorithms/protocols for resources management. Ability to understand the concept of process failure and approaches to build fault-tolerance in a distributed execution environment including check pointing, voting protocols and replication. Ability to design and conduct simulation experiments to quantitatively evaluate various distributed algorithms, and analyze and interpret the data. Ability to communicate and work as a group on a team software project. Course Overview

18 Syllabus Posted on the course website:
Course Overview

19 Texts No required textbook
We will use a collection of academic research papers Posted on the course website Expect to read one paper per lecture Course Overview

20 Assignments 40% Exams 15% Reading Quizzes (one or two per lecture)
25% Team Project 20% In-class tests (two of them) Course Overview > Assignments

21 Exams 40% Exams 20% Midterm Exam (in class) 20% Final Exam (in class)
Theoretical foundations Distributed mutual exclusion 20% Final Exam (in class) Comprehensive Course Overview > Assignments > Exams

22 Reading Quizzes 20% Reading Quizzes ~20 quizzes
Taken at the beginning 10 minutes of each relevant lecture Each is worth 1 point and has 5 questions (0.2 points/question) One attempt per quiz but no forced completion Drop the lowest 5 quiz scores Course Overview > Assignments > Reading Quizzes

23 Team Project In teams of 4, you will design a new distributed mutual exclusion algorithm, implement it and Maekawa’s algorithm in a testbed, and analyze multiple testbed trials to determine which algorithm is better in different scenarios. Course Overview > Assignments > Team Project

24 Project Tasks 25% Team Project 5% Algorithm and Testbed Design
10% Testbed Implementation 10% Testbed Report Course Overview > Assignments > Team Project

25 Team Creations Form your own teams by this weekend
Otherwise Professor Liu will assign teams and roles based on aptitudes and personal preferences Course Overview > Assignments > Team Project

26 In-Class Tests 20% In-class tests
Course Overview > Assignments > In-Class Tests

27 Grading Scale A 90 or above A- 87-90 B+ 83-87 B 80-83 B- 77-80
F 70 or below Course Overview > Assignments

28 Class Attendance Required, but not graded Course Overview

29 Questions Course Overview

30 Prerequisite Forms Course name: Advanced Operating Systems
Number: 6378 Section: 501 Prerequisites: CS 5348 Operating Systems Concepts or equivalent, and knowledge of C/C++ and UNIX Course Overview

31 Upcoming Classes Next three lectures Logical Clocks Vector Clocks
Broadcast-based Causal Ordering Course Overview


Download ppt "CS/CE/TE 6378 Advanced Operating Systems"

Similar presentations


Ads by Google