|
CMSC 33520: Data Intensive Computing Systems Autumn 2023 TuTh 14000-1520, Location: Ryerson 255 Cloud computing has become the primary means for large-scale computation and services to be delivered. This class covers a wide range of cloud software elements that both underpin and shape the design scalable internet data services. The success of cloud computing depends on efficient resource sharing and application isolation -- typically supported by virtual machines (VMs) and containers, controlled by orchestration infrastructures such as VMWare and Kubernetes. We will cover these models, and the oversubscription resource management approaches that sustain them, as well as the sustainability and carbon-emission challenges that limit them. Newer application architectures such as micro-services and function-as-a-service (FaaS or Serverless) enable easy application design evolution. We will cover these models and challenges they present for implementation. These software structures support "big data" applications, including analytical systems such as map-reduce, and Spark. They also include data serving systems enable big data and support these systems including parallel filesystems, databases, and noSQL key-value stores such as Cassandra, Memcached, MongoDB, and more. Students will develop a broad familiarity with current challenges, the state of the art, including leading edge research in the area, and hands-on experience with a range of systems which together provide a solid preparation for systems research in the area.
Syllabus
|