Ioan Raicu

Illinois Institute of Technology

Argonne National Laboratory

CS550: Advanced Operating Systems

Semester: Spring 2011
Lecture Time: Tuesday/Thursday, 11:25AM - 12:40PM
Lecture Location: Stuart Building 106
Professor: Dr. Ioan Raicu (iraicu@cs.iit.edu, 1-312-567-5704)
Office Hours Time: Monday 2PM – 3PM, Thursday 12:40PM – 1:40PM
 Office Hours Location: Stuart Building 237D
Teaching Assistant: Wei Tang (wtang6@iit.edu, 312-567-5149)
Office Hours Time: Tuesday 1:00PM – 2:00PM, Friday 1:00PM – 3:00PM
Office Hours Location: Stuart Building 004

Course Description
This course covers general issues of design and implementation of advanced modern operating systems. The focus is on issues that are critical to the applications of distributed systems and computer networks, which include interprocess communication, distributed processing, sharing and replication of data and files. Approximately two third of the course will be devoted to basic concepts and techniques, and the remaining third will be on assorted current topics in modern operating systems and distributed systems. The course syllabus can be found here.

Schedule

Date Topic Reading Assignments
01-11-2011 Syllabus Syllabus Background Quiz
01-13-2011 Introduction to Distributed Systems Part 1 Ch. 1  
01-18-2011 Introduction to Distributed Systems Part 2 Ch. 1  
01-20-2011 Introduction to Distributed Systems Part 3 Ch. 1  
01-25-2011 System Architectures & Client-Server Models  Ch. 2  
01-27-2011 Project Brainstorming   Project Proposal
02-01-2011 Remote Procedure Call Ch. 4, 8.3, 10.3 HW #1
02-03-2011 Remote Procedure Call
Remote Method Invocation
Web Services
Ch. 4, 8.3, 10.3  
02-08-2011 Message- and Stream-Oriented communication Ch. 4  
02-10-2011 Processes and threads, Part 1 Ch. 3 Programming Assignment #1
02-15-2011 Processes and threads, Part 2 Ch. 3 HW #1 Due at 11:25AM

Project Proposal due at 11:25AM
02-17-2011 Processes and threads, Part 3 Ch. 3  
02-22-2011 Code migration and distributed scheduling Ch. 3  
02-24-2011 Naming
Guest Lecturer: Wei Tang
Ch. 5  
03-01-2011 Synchronization Ch. 6  
03-03-2011 Consistency models Ch. 7 HW #2
Programming Assignment #1 due at 11:59PM
Programming Assignment #2
03-08-2011 Consistency models, Part 2 Ch. 7  
03-10-2011 Fault Tolerance Research in SCS
Guest Lecturer: Wei Tang
External Reading (paper 1, paper 2)
Ch. 8
 
03-15-2011 NO CLASS (Spring Break)    
03-17-2011 NO CLASS (Spring Break)    
03-22-2011 Fault Tolerance Ch. 8  
03-24-2011 Security, Authentication, and Encryption Ch. 9 HW #2 due at 11:25AM
HW #3
03-29-2011 Networked file systems Ch. 11  
03-31-2011 Networked file systems - Part 2 Ch. 11 Programming Assignment #2 due at 11:25AM
Programming Assignment #3
04-05-2011 Shared and Parallel File Systems External Reading
GPFS: A Shared-Disk File System for Large Computing Clusters (PDF)

Optional
PVFS: A Parallel File System for Linux Clusters (PDF)
Lustre: Building a File System for 1,000-node Clusters (PDF)
HW #3 due at 11:25AM
04-07-2011 Distributed File Systems External Reading
The Google File System (PDF)

Optional
Sector and Sphere: The Design and Implementation of a High Performance Data Cloud (PDF)
 
04-12-2011 Final Exam    
04-14-2011 MapReduce External Reading
MapReduce: Simplified Data Processing on Large Clusters (PDF)
Project Final Report Writeup
04-19-2011 NO CLASS Work on project report, presentations, and programming assignment  
04-21-2011 NO CLASS Work on project report, presentations, and programming assignment  
04-26-2011
11:25AM - 1:25PM
SB 213
Project Presentations
  1. Implementation and Analysis of Distributed Sorting Algorithms, Chao Ma & Zhu Wang
  2. Distributed Fault Tolerant Job Management System using OpenChord, Xiaoyin Lin & Kamal Nath Ninthastalathu Gopinath
  3. GREP on Distributed Systems using MapReduce, Divya Gopal & Xuesi Jian
  4. Auto Levelling of images using GPU Computing, Suneel Suresh
  5. NoSQL (Not Only SQL) Databases: Uses, comparison and performance analysis, Jorge Carretie Romero & Jorge Penalva Zambrano
  6. MapReduce and Web Frameworks, Richard Hanley
  7. Benchmark Comparison of different File Systems, Sukrutha Krishnegowda & Praneeth Tota
  8. Maximize throughput in distributed wireless network systems, Boliu Xu & Fahad Al-dhelaan
  9. GPU/CPU implementation of FIR, Matrix multiplication, K-means clustering, Mahsasadat Lajevardi
 
04-28-2011
11:25AM - 1:25PM
Project Presentations
  1. Simulation of a New Job Scheduling System Using Parallel Particle Swarm Optimization and Classic Job Management Systems Contrast, Zhangjie Ma & Ke Wang
  2. Accelerating General Computing Algorithm with GPU, Di Ma & Bingqing Xie
  3. Improving Energy Efficiency using Heuristics in Networking, Bing Xue
  4. Energy Management in Data Centers, Zheng Li
  5. Accelerate PVFS2 by Server-side Buffer, Jun He & Meng Wang
  6. Simulation of Content Distribution Network, Srikkanth Sundararajan & Patrick O'Shea
  7. Evaluate the Potential of Distributed File System on Fault Tolerance at Exascale, Kan Qiao
  8. ZHT: A Zero-hop distributed Hash Table, Xi Duan
  9. Performance evolution of transport layer protocol under virtual and non-virtual environment in cluster, Ravi Inamdar & Saurabh Shah
Project Presentations for Remote Students Due at 1:25PM CST
Project Final Report Due at 11:59PM CST
05-02-2011 NO CLASS   Programming Assignment #3 due at 11:59PM

Required Texts
Andrew S. Tanenbaum and Maarten van Steen. “Distributed Systems: Principles and Paradigms”, Prentice Hall, 2nd Edition, 2007. (Required)

Prerequisites
CS 450 Operating Systems

Mailing lists
There is a course mailing list; you can send mail to the list by sending email to cs550-s11@datasys.cs.iit.edu. Please see http://datasys.cs.iit.edu/mailman/listinfo/cs550-s11 for more information about the course mailing list.

Grading Policies:
Written Homeworks (~4): 20%
Programming Assignments (~3): 30%
Exam (1): 25%
Project (1): 25%

Next Semester Spring 2012

In the Spring 2012 semester, I will be teaching CS 553, Cloud Computing.