Fall 2014 P434 Distributed Systems Undergraduate Course

Project Information

Discipline
Computer Science (401) 
Orientation
Education 
Abstract

  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

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

Project Contact

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

Resource Requirements

Hardware System
  • india (IBM iDataPlex at IU)
 
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.

Project Timeline

Submitted
09/16/2014 - 14:13