Fall 2014 P434 Distributed Systems Undergraduate Course


  Fall 2014 CSCI-P434 is a course for young computer scientists working in the field of software and systems. It is offered to a class of 34 undergraduate 31 students and two AIs covering core Computer Science distributed systems curricula (http://salsahpc.indiana.edu/csci-p434-fall-2014/). 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 FutureGrid 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

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 Impact

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

Use of FutureGrid

Hope to let students create and use a few VMs each in an OpenStack environment.

Scale Of Use

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


Judy Qiu
Andrew Younge
Indiana University

Project Members

Andrew Sarkisian
Bradley Schuch
Brian Jett
Chao Duan
Dan Eakle
Daniel Hill
Daniel Koester
Darlan Santana Farias
Denton Greenfield
Derek Brown
Earl Dean
Eric Schmidt
Erin Leonhard
Geanderson Esteves dos Santos
jimmy yu
Kai Xu
Keith Milhoan
Kim Walker
Kristyn Bitner
Maulik Kothari
Michael Hyde
Michael Ledesma
Mrinmoy Maity
Rafael Paiva
Robert Wagner De Lima Souza
Russell Wang
Ryan Chibana
Sara Zhang
Sebastian Kagemann
Supun Kamburugamuva
Travis Pressler
Wenjie Chen
xin yao
Xinyu Ni
Yu Liu
Zachary King
zhen hou
Zhexu Fan

FutureGrid Experts

Andrew Younge