Course: Fall 2015 P434 Distributed Systems

Project Details

Project Lead
Judy Qiu 
Project Manager
Project Members
, Supun Kamburugamuve, Keyan Zhang, Daniel Haak, Ian Brown, Zach Sullivan, Jieying Chen, Eric James, Maxwell McLennan, Shaowen Ren, Boo Hyun Kim, Kiel Haymon, Jared Anson, Aaron Schwartz, Joshua Bardman, Gabriella Watson, Bo Fang, Corey Denault, Meng Li, Matt Alsop, Tak-Lon Wu, N R, David Earle  
Supporting Experts
Indiana University, School of Informatics and Computing  
Computer Science (401) 


  Fall 2015 CSCI-P434 is a course for young computer scientists working in the field of software and systems. It is offered to a class of 21 undergraduate and two AIs covering core Computer Science distributed systems curricula ( Distributed systems form a rapidly changing field of computer science. We study the evolutional changes in computing landscape characterized by parallel, distributed, and cloud computing systems. We use the FutureSystems testbed to build our prototype systems and have an in-depth study the essential issues in practice such as scalability, performance, availability, security, energy-efficiency, and workload balancing.

Intellectual Merit

Objectives The Internet has greatly expanded the scope and importance of distributed systems to include Web 2.0 sites, Information retrieval (search), Utility (cloud) computing, P2P systems and the Internet of things. Further science is facing an unprecedented data deluge and the emergence of data oriented analysis as a fourth paradigm of scientific methodology after theory, experiment and simulation. This class will use these modern systems to introduce core technologies including communication, concurrency/parallelism, security, fault tolerance and programming models. In particular the course will cover systems and tools to support data intensive science applications. Students will get to know the latest research topics through paper readings and have the opportunity to understand some commercial cloud systems through projects using FutureGrid resources. Scope and topics The content of P434 will cover the design principles, systems architecture, and innovative applications of parallel, distributed, and cloud computing systems. These include massively parallel processors (MPP), supercomputing clusters, service-orient architecture (SOA), computational grids, P2P (peer-to-peer) networks, virtualized datacenters, cloud platforms, Internet of Things (IOT), and Cyber-Physical Systems (CPS). We will cover MapReduce (originated from functional languages) and associated languages but it will focus more on the principles and practice of building distributed systems than on languages.

Broader Impacts

This class looks to enable the next generation of computer scientists with the broad skills needed to understand distributed systems. Specifically, students will learn how to create client/server, MPI, and Mapreduce applications using the latest cloud infrastructure and platform services currently found throughout industry and academia today. The curricula and tutorials can be re-used in other cloud computing/distributed system educational activities

Scale of Use

There will be approximately 21 students which will need to create a few small VMs, totaling no more than 8 vCPUs per student.