Synopsis
Many fundamental ideas, such as design principles, modularity, naming, abstraction, concurrency, communications, fault tolerance, security, and atomicity, are in common across to advanced topics in computer science and engineering research/education, such as operating systems, networks, database systems, computer architecture, and so on. The course has two parts. One is the common principles abstracted from practical systems design, the second is how to apply these principles into systems design, such as naming, client/services, virtualization, reliability and consistency.
Prerequisites
Operating Systems, Computer Architecture, and 1-2 year of research experience.
Major Topics
- Computer Systems Complexity
- Elements of Computer System Organization
- Naming Schemes
- Clients/Services
- Virtualization
- Build Reliable Systems from Unreliable Components
- Consistency/Atomicity.
References and Lectures
There is no particular textbooks for this course. Lecture slides will be provided during the class. The majority of the course will come from papers and relevant reference books. Students are encouraged to attend the class and actively participate the discussion. A reading list, selected from the top systems conferences, will be given out at the beginning of the course. Students are required to read and discuss the papers.
Reference Books
- Distributed Systems: Principles and Paradigm, 2nd Edition, Andrew S. Tanenbaum and Maarten van Steen, Prentice Hall, 2007.
- Fundamental Tools of Computer Systems Research, edited by Weisong Shi, online book, available soon.
- Principles of Computer System Design, Jerome Saltzer, M. Frans Kaashoek, Morgan Kauffman, publication date Jul 2009.
Online Discussion |
Attachments (12)
-
1_academic-background.ppt - on May 3, 2009 6:44 AM by Weisong Shi (version 1)
1035k
View Download
-
chap1-Systems.ppt - on May 3, 2009 11:21 PM by Weisong Shi (version 1)
3774k
View Download
-
chap2-Elements of Computer System Organization.ppt - on May 3, 2009 11:19 PM by Weisong Shi (version 1)
2208k
View Download
-
chapter1-elements.pdf - on Aug 29, 2009 7:35 AM by Weisong Shi (version 1)
104k
View Download
-
classification.pdf - on May 3, 2009 6:18 AM by Ruini Xue (version 1)
136k
View Download
-
client-services.ppt - on May 6, 2009 7:03 AM by Weisong Shi (version 2 / earlier versions)
1124k
View Download
-
fault-tolerance.ppt - on May 7, 2009 4:40 AM by Weisong Shi (version 1)
1159k
View Download
-
gray00-rule-of-thumb-data-engineering.pdf - on May 6, 2009 7:39 AM by Weisong Shi (version 1)
66k
View Download
-
performance.ppt - on May 7, 2009 4:40 AM by Weisong Shi (version 1)
1854k
View Download
-
principles.pdf - on May 5, 2009 3:57 AM by Weisong Shi (version 1)
64k
View Download
-
shi-handbook.pdf - on May 3, 2009 6:17 AM by Ruini Xue (version 1)
76k
View Download
-
virtualization.ppt - on May 6, 2009 7:08 AM by Weisong Shi (version 3 / earlier versions)
1804k
View Download
|