COM 6002 Distributed Systems

Distributed systems refers to the way in which several machines orchestrate to correctly solve problems in an efficient, reliable and scalable way. These systems underpin the design and implementation of scalable, fault-tolerant, and high-performance systems that drive modern computing infrastructures. This course will enable students to develop a solid understanding of the principles and techniques underlying distributed system design and will provide hands-on opportunities to design, implement, and debug real-world distributed systems. Key topics include process distribution, communication, naming, abstraction and modularity, concurrency, scheduling, resource sharing, locking, consistency and replication, failure handling, distributed programming models, distributed file systems, and virtualization.

Credits

3