CSCI.6500 Distributed Computing over the Internet-- Spring 2007

Instructor:  Carlos Varela
Office:  109 Amos Eaton, x6912
Office Hours:  Mo, Th 11:30am-12:30pm; or by appointment
Meeting Place:  Russell Sage 2112
Meeting Hours:  Mo, Th 10-11:20am
Home pagehttp://www.cs.rpi.edu/academics/courses/spring07/dci/
WebCT Page


Course Objectives

This course studies theoretical foundations---namely process calculi, actors, join calculus, and mobile ambients---and practical issues in the design of concurrent and distributed programming languages. We compare communication and synchronization aspects in actor-, process-, and object-oriented concurrent programming models.  We 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 Contents

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

Tentative Course Syllabus

Date Topic Grade
01/18 Course Overview. Introduction to Distributed Computing over the Internet Part I -- Models/Theory.
01/22 Pi-Calculus - Introduction
01/25 Pi-Calculus - Operational Semantics
01/29 Pi-Calculus - Bisimilarity and Congruence
02/01 No lecture
02/05 No lecture
02/08 Actors - Introduction
02/12 Actors - Operational Semantics
02/15 Actors - Expression Equivalence
02/20 Mobile Ambients
02/22 Join Calculus
02/26 Partial Exam 20%
03/01 Introduction to Distributed Computing over the Internet Part II -- Programming Languages and Frameworks
03/12 Oz Concurrency, 1.oz-- Programming Assignment 1 Due 03/23 15%
03/15 Distributed Oz, 2.oz
03/19 Oz Concurrent and Distributed Programming Techniques
03/22 SALSA Concurrency, examples.zip -- Programming Assignment 2 Due 04/03 15%
03/26 SALSA Distribution and Mobility, dist-examples.zip
03/29 SALSA Concurrent and Distributed Programming Techniques
04/02 No lecture
04/05 No lecture
04/09 No lecture
04/12 Objective CAML
04/16 JOCAML
04/19 Introduction to Distributed Computing over the Internet Part III -- Research Topics 20%
04/19
Stephen Nerbetski Transactors: a programming model for maintaining globally consistent distributed state in unreliable environments by Field and Varela
Brian Boodman The ATOMOS Transactional Programming Language by Carlstrom et al.
Marcus Griep Distributed Shared Memory Using the .NET Framework by Seidmann
04/23
Medha Atre Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems by Rowstron and Druschel
Konstantin Mertsalov Analysis of Caching and Replication Strategies for Web Applications by Sivasubramanian, Pierre, van Steen and Alonso
Stephen Kelley Automatic Community Discovery in Peer-to-Peer Systems by Gu and Wei
04/26
Benjamin A. Levinn Distributed computing meets game theory: robust mechanisms for rational secret sharing and multiparty computation by Abraham, Doley, Gohen and Halpern
Jiao Tao A Study of MPI Performance Analysis Tools on Blue Gene/L by Chung, Walkup Wen and Yu
Huxley Seidman Searching for experts on the Web: A review of contemporary expertise locator systems by Becerra-Fernandez
04/30 Final Project/Paper Presentations-- Proposals Due 03/30 30%
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 CiteSeer

Paper critique and presentation guidelines.


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 -- April 12, 2007.