course number instructor title
CS 5914 DS Nikolopoulos Programming Warehouse-Scale Computers

Course Description 

The objective of this course is to introduce students to the core characteristics of warehouse-scale computing systems (known more widely as datacenters), and explore a variety of methods available to program these systems in order to exploit parallelism at multiple levels (request level, data level, and task level).

Students will have options to explore how to program warehouse-scale computers using programming systems designed for large-scale data processing (e.g. Hadoop, Spark), stream data processing (e.g. Flink, Storm), and data processing for deep learning (e.g. TensorFlow, PyTorch). They will also explore how these programming systems can effectively exploit advanced hardware technologies found in datacenter, such as computational accelerators and non-volatile random-access memory.