CSCI.6500 Distributed Computing over the Internet-- Fall 2009

Instructor:  Carlos Varela
Office:  Lally 308, x6912
Office Hours:  Tuesdays and Fridays 11:30am-12:30pm; or by appointment
Meeting Place:  Darrin 236
Meeting Hours:  Tuesdays and Fridays 10-11:20am
Home pagehttp://www.cs.rpi.edu/academics/courses/fall09/dci/
RPI LMS Web Page


Course Description

This course will enable students to understand and apply theoretical foundations of programming concurrent distributed computing systems---namely process calculi, actors, join calculus, and mobile ambients. In the practical part, students will compare communication and synchronization aspects in actor-, process-, and object-oriented concurrent programming languages.  Students will also review current research on coordination, mobility, naming, security, fault-tolerance, and scalability in the context of distributed computing over the Internet.

Pre-requisites

CSCI.4430 and CSCI.4220, or equivalent, or permission of instructor.  The student should be familiar with at least one high-level programming language and basic network programming concepts. In particular, this course will assume familiarity with Java and programming with TCP/IP sockets. Knowledge of programming language semantics and lambda calculus would be helpful but is not mandatory.

Course Themes

Theories of concurrent, distributed and mobile computing. Programming languages for concurrent distributed and mobile systems. Research topics in distributed computing over the Internet.

Learning Outcomes

When the students have successfully completed this course, they will be able to:


Course Contents

  1. Models of Concurrent, Distributed, and Mobile Computing
  2. Programming Languages and Frameworks
  3. Research Topics

Tentative Course Syllabus

Date Topic Grade
09/01 Course Overview. Introduction to Distributed Computing over the Internet Part I -- Models/Theory.
09/04 Pi-Calculus - Introduction
09/08 Pi-Calculus - Operational Semantics
09/11 Pi-Calculus - Bisimilarity and Congruence
09/15 Pi-Calculus - Review
09/18 Actors - Introduction
09/22 No lecture
09/25 No lecture
09/29 Actors - Operational Semantics
10/02 Actors - Expression Equivalence
10/06 Join Calculus
10/09 Mobile Ambients
10/16 Partial Exam 30%
10/20 Introduction to Distributed Computing over the Internet Part II -- Programming Languages and Frameworks
10/23 Pict: Concurrency --Programming Assignment 1 Due 11/02 --Using Pict 10%
10/27 Nomadic Pict: Distribution and Mobility
10/30 SALSA: Concurrency -- Programming Assignment 2 Due 11/11 10%
11/03 SALSA: Distribution and Mobility
11/06 SALSA: Concurrent and Distributed Programming Techniques
11/10 Objective Caml--Programming Assignment 3 Due 11/23 10%
11/13 JoCaml: Concurrency
11/17 JoCaml: Distribution and Mobility
11/20 Paper critique and presentation guidelines.
Joshua Taylor A congruence rule format for name-passing process calculi by Marcelo Flore and Sam Staton. Information and Computation 2009
Chris Vincek Actor Frameworks for the JVM Platform: A Comparative Analysis by Karmani, Shali and Agha. PPPJ 2009
Ankesh Khandelwal Networked Graphs: A Declarative Mechanism for SPARQL Rules, SPARQL Views and RDF Data Integration on the Web by Schenk and Staab. WWW 2008
10%
11/24 No lecture
12/01
Maurice Kirejczyk Design Patterns from Biology for Distributed Computing by Babaoglu et al. ACM Trans Autonomous and Adaptive Systems 2006
Kyle Derkowski To Join or Not to Join: The Illusion of Privacy in Social Networks with Mixed Public and Private User Profiles by Zheleva and Getoor. WWW 2009
Tim Wickberg One of: Scalable Massively Parallel I/O to Task-Local Files
PLFS: A Checkpoint Filesystem for Parallel Applications
Age Based Scheduling for Asymmetric Multiprocessors
ACM Supercomputing 2009
12/04
Naveen Sundar Fully Distributed EM for Very Large Datasets by Wolfe, Haghighi and Klein. International Conf on Machine Learning 2008
Misbah Mubarak A grid-enabled distributed branch and bound algorithm with application on the Steiner Problems in graphs by Drummond et al. Parallel Computing 2006
Giovanni Thenstead Improving lookup latency in distributed hash table systems using random sampling. by Zhang, Goel and Govindan. Trans. Networking 2005
12/08 Final Project/Paper Presentations-- Proposals Due 11/10 30%
12/11
Class Participation Extra Credit 5%

Reading Material  -- Part I


Software Links, Papers, and Tutorials -- Part II


Research Papers -- Part III

Students will critique and present selected papers from recent journal and conference publications, including but not limited to: You may also search papers in Google Scholar, or ACM's Digital Library

Academic Integrity

The Rensselaer Handbook of Student Rights and Responsibilities defines several types of academic dishonesty, all of which are applicable to this class.  Students found in violation of academic dishonesty policies will receive a failing grade for this course.

Please contact the instructor if there is any question about academic (dis)honesty.


Last Updated -- September 29, 2009.