This course will not be offered in 2011-2012. See http://atss.epfl.ch instead. This course offers PhD students an in-depth study of applied computer systems research: identifying and exploring new ideas, reducing them to practice via research prototypes, and evaluating them with empirical/formal approaches using quantitative/qualitative analyses. The material we study illustrates how an effective match between the statement of a problem in computer systems and the selection of an appropriate technique or algorithm can lead to fundamental advances. Emphasis is placed on the principles underlying successful systems, including engineering as well as economic/deployment issues. Students can expect to acquire skills that are critical to pursuing their own research in the field. In general, we operate at the intersection of operating systems, distributed systems, databases, programming languages and compilers, and computer architecture. Every year we select a theme for the course and pursue it in depth through readings of both classic and contemporary research papers. In-class activities are focused on discussion and research debate, leading to sharpening of students' research skills. This year's general theme is concurrency – how is it supported in OSes, what problems does it cause, what are the best known ways to deal with it?The subject has been approached over the past decades from different perspectives, generating many ideas that do not work in practice and a few that do. |