Scalable Systems and Data - CO410
The course will provide an overview of data centre technologies, the challenges when building and managing a large-scale infrastructure aimed to accommodate a variety of applications, and the key design decisions when engineering scalable distributed applications on top of a data-centre environment. We cover fundamental concepts required to provide suitable abstraction and virtualization of the underlying hardware and the full system stack for managing data-centre resources, which is essential to support large-scale applications. We discuss the fundamental design principles for scalable systems, investigate concepts and techniques to make up such a system, with a focus on distributed storage, coordination, computation mechanisms and resource allocation.
The course will require reading of research papers on the topics listed below.
Operating Systems - CO211
To provide a thorough understanding of modern operating system design and implementation.