Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.