- français
- English
Coursebooks
Topics in designing scalable systems software
CS-601
Lecturer(s) :
Kashyap SanidhyaLanguage:
English
Frequency
Only this yearSummary
The course will cover the state-of-the-art techniques and principles for designing single node scalable systems software. The course will cover lectures, paper discussion, and a semester-long project focusing on scalability.Content
The course will focus on understanding the notion of scalability and then learn how to be critical about papers and techniques. The course will cover some of the fundamentals of designing scalable systems in the form of lectures. Later, the course will discuss and debate some of the papers from various areas. The discussion will include in-class presentations, which will be done by a group of students. On the practical side, students will work on a semester long project addressing some of the open problems in designing systems software. The course will cover papers encompassing multicore systems as well as heterogeneous hardware.
- Scalability and concurrency [lecture]
- Synchronization mechanisms [lecture]
- Memory models [lecture]
- Performance profiling [lecture]
- Scaling systems for heterogeneous hardware : [in-class discussion]
- Operating systems: Linux scalability, K42, Commutativity, Barrelfish, Tornado
- Databases: Silo, Bohm, MOCC
- File systems: Scalefs, Linux file system scalability, nova, directfs
- Graph analytics: COST, Mosaic, Aspen
- General runtime systems
- Key value stores
In this course, students will work on a semester long course project in groups. Students will come up with the choice of their own topic ranging from designing data structures, synchronization algorithms, to optimizing existing systems to even evaluating the scalability bottlenecks in existing works.
Note
By the end of the course, the student must be able to:
-Understand a set of basic principles for designing systems
- Design computer systems that scales well
- Integrate multiple techniques, ideas, and algorithms
Resources
Websites
In the programs
- Semester
- Exam form
Project report - Credits
2 - Subject examined
Topics in designing scalable systems software - Number of places
40 - Lecture
10 Hour(s) - Project
14 Hour(s) - Practical work
4 Hour(s)
- Semester
Reference week
legend
- Autumn semester
- Winter sessions
- Spring semester
- Summer sessions
- Lecture in French
- Lecture in English
- Lecture in German