Fiches de cours

Topics in designing scalable systems software


Lecturer(s) :

Kashyap Sanidhya




Only this year


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.


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.


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



In the programs

Reference week

      Exercise, TP
      Project, other


  • Autumn semester
  • Winter sessions
  • Spring semester
  • Summer sessions
  • Lecture in French
  • Lecture in English
  • Lecture in German