Course Description
This course will discuss advanced topics and research issues in
computer and operating systems. Topics will be drawn from a variety of
operating systems-related areas such as distributed systems and
languages, networking, security, and protection, real-time and
embedded systems, modeling and analysis, etc.
We will take a broad view of systems research and consider common
issues that emerge across operating systems, database systems,
networked systems, distributed systems, mobile systems, and embedded
systems.
The design of computer systems -- whether building-size or
hand-held, file system or database -- faces many common challenges and
pitfalls. Fortunately, many of the principles and practices are
common as well. This class will focus on identifying and
understanding the enduring principles and practices in computer
systems design and implementation, and will prepare students to carry
our substantial independent systems research projects.
New this term: To ground the enduring principles of computer
systems design into contemporary problems of the day, we will focus,
as a class, on the emerging Internet of Things (IoT) and study the
systems issues at play. Unlike typical offerings of the course, the
goal of the group research projects this term will be to explore a set
of interlocking problems across the mobile-embedded-cloud computing
landscape. Contemporary IoT devices--like Fitbit and Pebble--are
supported by a large corpus of systems software running on embedded
computers, on smartphones, and in datacenters. We will study how
these systems work, their current drawbacks, opportunities to improve
them, and new directions to move.
Syllabus (Tentative)
Week |
Date |
Readings / Discussion Topics / Tutorials
|
Lead |
Classic Systems, Timeless Principles, and Contemporary Problems
|
1 |
Jan 7 |
1. Introduction to EECS 582
2. Swarm at the edge of the Cloud
(slides)
3. Research and Writing (slides)
|
prabal |
Jan 9 |
The UNIX Time-Sharing System,
Dennis M. Ritchie and Ken Thompson,
Communications of the ACM, Vol. 17, No. 7, Jul 1974, pp. 365-375.
(no review)
|
prabal |
2 |
Jan 12 |
A Protocol for Packet Network
Intercommunication,
Vinton G. Cerf and Robert E. Kahn,
IEEE Trans on Comm. Vol. 22, No. 5, May 1974, pp. 637-648.
(no review)
|
prabal |
Jan 14 |
Enabling the Internet of Things,
Roy Want, Bill N. Schilit, and Scott Jenson
IEEE Computer, Jan 2015.
(no review)
Research Directions for the Internet of Things,
John A. Stankovic,
IEEE Internet of Things Journal, Vol. 1, No. 1, Feb 2014, pp. 3-9.
(no review)
Request for Proposal: Open Web of Things,
Vint Cerf, et al.,
Published online.
(no review)
|
prabal |
Jan 16 |
Bluetooth LE Finds Its Niche,
Roy Want, Bill Schilit, and Dominik Laskowski
IEEE Pervasive Computing, Oct-Dec 2013.
(no review)
Bluetooth LE 4.0 and 4.1 (BLE),
Noah Klugman and Josh Adkins,
Lab 11 Lunch Presentation, Apr. 23, 2014.
(no review)
|
nklugman |
3 |
Jan 19 |
No Class -- MLK Day
|
|
Jan 21 |
IP is Dead, Long Live IP for Wireless Sensor Networks,
Jonathan Hui and David Culler,
Sensys'08, 2008.
(review due 1/20 @ 1:30pm → 1/27)
The Internet of
Things has a Gateway Problem,
T. Zachariah, N. Klugman, B. Campbell,
J. Adkins, N. Jackson, and P. Dutta,
HotMobile'15, 2015.
(review due 1/20 @ 1:30pm → 1/27)
|
bradjc tzachari |
Jan 23 |
No Class
|
|
4 |
Jan 26 |
A History and Evolution of System R,
Donald D. Chamberlin, et al.,
Communications of the ACM, Vol. 24, No. 10, Oct 1981, pp. 632-646.
(no review)
|
prabal |
Jan 28 |
Architecture of a Database System,
J.M. Hellerstein, M. Stonebraker, J. Hamilton,
Foundations and Trends in Databases, Vol. 1, No. 2., 2007.
(no review)
The Design of an Acquisitional Query Processor for Sensor Networks,
S. Madden, M. Franklin, J. Hellerstein, and W. Hong,
SIGMOD, 2003.
(no review)
|
prabal |
Jan 30 |
BLE Security Overview
[ pptx
| pdf
| 6up
]
Bluetooth: With Low Energy Comes Low Security,
Mike Ryan,
USENIX WOOT, 2013.
(background reading; no review)
Bypassing Passkey Authentication in Bluetooth Low Energy,
Tomas Rosa,
Working Paper.
(background reading; no review)
|
jvdw mjsschul mttschlt sairohit |
5 |
Feb 2 |
|
|
Feb 4 |
Some Hints for Computer System Design,
Butler W. Lampson,
ACM SOSP, Oct. 1983.
(review due 2/1 @ 1:30pm)
End-to-End Arguments in System Design,
J.H. Saltzer, D.P. Reed, and D.D. Clark,
ACM ToCS., Vol. 2, No. 4, Nov 1984, pp. 277-288.
(skim for key idea)
|
prabal |
Feb 6 |
Experiences from a Decade of TinyOS Development,
Philip Levis,
OSDI'12, 2012.
(review due 2/3 @ 1:30pm)
|
brghena |
Persistent Storage, Logging, and Recovery
|
6 |
Feb 9 |
An Introduction to
Disk Drive Modeling,
Chris Ruemmler and John Wilkes,
IEEE Computer, Vol. 27, No. 3, Mar. 1994, pp. 17-29.
(optional)
A Fast File System for UNIX,
M.K. McKusick, W.N. Joy, S.J. Leffler, and R.S. Fabry,
ACM Trans. on Computer Systems, Vol. 2, No. 3, Aug 1984.
(no review)
|
prabal |
Feb 11 |
The Design and Implementation of a
Log-Structured File System,
Mendel Rosenblum and John K. Ousterhout,
ACM TOCS, Vol. 10, No. 1, Feb 1992.
(review due 2/10 @ 1:30pm)
Analysis and Evolution of
Journaling File Systems,
V. Prabhakaran, A. Arpaci-Dusseau, R. Arpaci-Dusseau,
USENIX Annual Technical Conference, 2005.
(review due 2/10 @ 1:30pm)
|
shravyak bungep |
Feb 13 |
No Class Meeting, but read the following websites:
1. Physical-Web
(https://google.github.io/physical-web/)
2. UriBeacon
(https://github.com/google/uribeacon)
3. Blesh
(https://www.blesh.com/physical-web/)
|
n/a |
7 |
Feb 16 |
ARIES: A Transaction
Recovery Method Supporting Fine-Granularity Locking and Partial
Rollbacks Using Write-Ahead Logging,
C. Mohan, D. Haderle, B. Lindsay, H. Pirahesh, P. Schwarz,
ACM TODS, 17(1):94-162. 1992.
(review due 2/15 @ 1:30pm)
|
prabal |
Feb 18 |
Lightweight Recoverable
Virtual Memory,
M. Satyanarayanan, H.H. Mashburn, P. Kumar, D.C. Steere, J.J. Kistler,
SIGOPS'92.
(review due 2/17 @ 1:30pm)
A Case for
Redundant Arrays of Inexpensive Disks (RAID),
David A. Patterson, Garth Gibson, and Randy H. Katz,
SIGMOD, 1988.
(no review)
|
knekritz prabal |
Feb 20 |
Project Overviews
Hardware Platforms
Hack-a-Thon Preparation
|
prabal bradjc |
Embedded Operating Systems
|
8 |
Feb 23 |
Contiki - A Lightweight and Flexible Operating System...,
Adam Dunkels, Bjorn Gronvall, Thiemo Voigt,
29th Annual IEEE Intl. Conf. on Local Computer Networks, 2004
Microcontrollers Deserve Protection Too,
M.P. Andersen, et al.
Technical Report. Will be available in HotCRP.
QuarkOS: Pushing the
Limits of Micro-Powered Sensors,
Pengyu Zhang, Deepak Ganesan, and Boyan Lu,
HotOS XIV, Santa Ana Pueblo, NM, 2013.
|
prabal |
Feb 25 |
A Dynamic Operating
System for Sensor Nodes,
C. Han, R. Kumar, R. Shea, E. Kohler, M. Srivastava,
MobiSys'05, pp. 163-176, 2005.
(review due 2/24 @ 1:30pm)
Hardware Hack-a-Thon (Machine Setup)
6:00-9:00pm in 4901 BBB
Platforms: ATUM (CC2538) and Squall (nRF51822)
|
mikechri bradjc |
Feb 27 |
No Class
|
|
* * * WINTER BREAK - NO CLASS - WEEK OF MARCH 2-6, 2015 * * *
|
Concurrency and Scheduling
|
9 |
Mar 9 |
Lottery
Scheduling: Flexible Proportional-Share Resource
Management,
Carl A. Waldspurger and William E. Weihl,
Proc. First Symposium on Operating Systems Design and Impl., 1994.
Stride
Scheduling,
Carl A. Waldspurger and William E. Wiehl,
Tech. Memo. MIT/LCS/TM-528, MIT LCS, Jun. 1995.
(Optional)
|
prabal |
Mar 11 |
The
Click Modular Router,
Robert Morris, Eddie Kohler, John Jannoti, M. Frans Kaashoek,
SOSP'99, Dec 1999.
(review due 3/10 @ 1:30pm)
TOSThreads:
Thread-safe and Non-invasive Preemption in TinyOS,
Kevin Klues et al.
ACM SenSys'09, Nov. 2009.
(review due 3/10 @ 1:30pm)
|
essam jvande |
Mar 13 |
Nano-RK: an
Energy-aware Resource-centric RTOS for Sensor Networks,
A. Eswaran, A. Rowe, and R. Rajkumar,
IEEE RTSS'05, 2005.
(review due 3/12 @ 1:30pm)
|
avadrevu |
10 |
Mar 16 |
Scheduler Activations,
T. E. Anderson, B. N. Bershad, E.D. Lazowska, H.M. Levy,
ACM TOCS, Vol. 10, No. 1, Feb. 1992, Pgs 53-79.
|
prabal |
Mar 18 |
SEDA:
An Architecture for Well-Conditioned, Scalable Internet Services,
Matt Welsh, David Culler, and Eric Brewer,
Proc. 18th SOSP, Oct. 2001.
(review due 3/17 @ 1:30pm)
Capriccio:
Scalable Threads for Internet Services,
Rob von Behren, Jeremy Condit, Feng Zhou, George C. Necula,
and Eric Brewer
Proc. 19th ACM SOSP, Oct 2003.
(review due 3/17 @ 1:30pm)
|
mttschlt rohitram |
Mar 20 |
No Class: Work on projects/proposal reviews
|
|
Internet-Scale Systems
|
11 |
Mar 23 |
Mock Review Panel for Paper Proposals
Proposal Submission: Thu, 3/19, 1:30pm
Proposal Reviews Due: Sun, 3/22, 1:30pm
|
All |
Mar 25 |
The Google File System,
Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung,
ACM SOSP'03, 2003
(review due 3/24 @ 1:30pm)
MapReduce:
Simplified Data Processing on Large Clusters,
Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung,
ACM SOSP'03, 2003
(review due 3/24 @ 1:30pm)
|
aaspring davadria |
Mar 27 |
Lessons
from Giant-Scale Services,
Eric A. Brewer,
IEEE Internet Computing, Jul.-Aug., 2001.
|
prabal |
12 |
Mar 30 |
A
Comparison of Approaches to Large-Scale Data Analysis,
Andrew Pavlo, et al.,
ACM SIGMOD'09, Jun, 2009.
|
prabal |
Apr 1 |
Spanner:
Google's Globally-Distributed Database,
James C. Corbett, et al.,
USENIX OSDI'12, 2012.
(review due 3/31 @ 1:30pm)
F1: A Distributed
SQL Database That Scales,
Jeff Shute, et al.,
Proc. VLDB, Aug. 2013.
(review due 3/31 @ 1:30pm)
|
mjschul sdebruin |
Apr 3 |
No Class: Work on projects/proposal reviews
|
|
13 |
Apr 6 |
Storm @ Twitter,
Ankit Toshniwal, et al.
ACM SIGMOD'14, Jun. 2014.
|
prabal |
Apr 8 |
RDDs: A
Fault-Tolerant Abstraction for In-Memory Cluster
Computing,
Matei Zaharia, et al.,
USENIX NSDI'12, 2012
(review due 4/7 @ 1:30pm)
Shark: SQL and
Rich Analytics at Scale,
Reynold S. Xin, et al.,
ACM SIGMOD'13, Jun. 2013,
(review due 4/7 @ 1:30pm)
|
nklugman sairohit |
Apr 10 |
No Class: Work on projects/proposal reviews
|
|
14 |
Apr 13 |
No Class: Work on projects/proposal reviews
|
|
Apr 15 |
No Class: Work on projects/proposal reviews
|
|
Apr 17 |
I Don't Want to be the Mitt Romney of Databases,
Talk by Andy Pavlo,
10:00am - 11:00am in 3725 BBB
|
Pavlo |
15 |
Apr 20 |
Spark
SQL: Relational Data Processing in Spark,
M. Armbrust, R. Xin, C. Liang, et al.
ACM SIGMOD'15, May-Jun. 2015.
(review due 4/19 @ 1:30pm)
|
prabal |
Apr 24 |
Papers due in HotCRP at 1:30pm
|
Students |
16 |
Apr 30 |
Mock Program Committee Meeting: 1:30-3:30pm in 2166 DOW
Papers Due: Thu, 4/24, 1:30pm
Reviews Due: Wed, 4/29, 1:30pm
Mock TPC Mtg: Thu, 4/30, 1:30pm
|
All |
Prerequisites
The formal prequisite for this course is EECS 482 (Introduction
to Operating Systems, or an equivalent class from another university).
Courses in database systems, networking, and distributed systems are
also helpful. The informal prerequisite for this course is a strong
interest in graduate systems research. You need (or need to acquire)
the skill to read deeply, analyze critically, and synthesize
effectively. Although there is not much in the way of homeworks and
labs, success in systems research often requires a substantial design
and implementation effort, so you should have strong technical skills.
Policies
Honor Code.
The
Engineering Honor Code applies to paper summaries and exams.
Paper Reviews. Read the papers carefully and write your own
paper summary/review. Your understanding and learning is greatly
aided by the critical evaluation of others' work. For each paper,
read and discuss it with peers. For papers that require
summaries, you must address a number of questions including:
- What problem does the paper solve and why is it important?
- What is the hypothesis of the work?
- What solution does the paper propose and what is the key insight?
- Does the idea work, and if so, how well?
- What is a drawback or limitation of the system and how you might improve it?
The paper reviews are to be submitted electronically at least 24
hours prior to the class during which we will discuss the paper.
Late reviews will not be counted. You can miss up to three paper
reviews during the term without penalty. Failing to turn in six or
more reviews on time will result in a zero for all paper reviews.
Allocate enough time for your reading and plan your reviews carefully.
Grading
Item |
Weight |
Description |
Research Paper |
50% |
Substantial individual/group research project and paper. |
Paper Summaries |
25% |
Written summaries/reviews of 2-3 papers per week. |
Participation |
15% |
Preparation and participation in classroom discussions. |
Homeworks |
10% |
Individual homeworks and self-study assignments. |
Resources
- How to Read a Paper by S. Keshav.
- How to Read a Research Paper by Michael Mitzenmacher.
- Writing Reviews for Systems Conferences by Timothy Roscoe.
- How to Read an Engineering Research Paper by William Griswold.
- How to Read a Research Paper by Spencer Rugaber.
|