COMP 4704 Distributed Stream Processing, Fall 2008

General Information

This is a seminar offered jointly by Dr. Chris GauthierDickey, Dr. Christian Grothoff and Dr. Matthew Rutherford.

Prerequisites

The prerequisites for this class is a good understanding of C/C++, computer architecture and networking. Some understanding of programming language concepts, computer graphics and software engineering principles would also be beneficial.

Lecture Hours and Location

The lectures will be held Tuesdays and Thursdays from noon-2pm in John Greene Hall 216.
The Debian GNU/Linux lab is in John Greene Hall 216. In order to get a door code for the Computer Lab please visit the labcode webpage (after signing up for an account). The code is updated on weekly basis.

Office Hours

Chris GauthierDickey - JGH 3rd floor
Monday, Wednesday, 5-6 and Tuesday, Thursday 9-10 or by appointment.
Christian Grothoff - JGH 108
Tuesday, Wednesday, Thursday 4-6 and by appointment. Wednesday office hours may feature a baby.
Matthew Rutherford - JGH 117
Monday and Wednesday, 10am - Noon or by appointment.

Syllabus

This is a research seminar in systems centered around implementing a distributed video conferencing system using a SOA-like architecture and GPU programming. Students and faculty will be reading and presenting research papers related to the project and students will work in teams to design, implement and test a distributed video conferencing system.

Specific topics that will be covered:

Assignments and Grading

Students will be graded based on the quality of their presentations, their written reviews and their contributions to the project. You can find the grading rubrik for the presentations here.

Software

You will be developing software for GNU/Linux and/or OS X for this course. If you have any problems installing the software, you can always use the department's Debian GNU/Linux machines which have most of the necessary software installed.

Submission of Assignments

Each student will get access to a subversion repository. Project code must be committed to that repository by the respective deadline. Students are required to use the repository for version control while still working on the assignment. Only the last version commited before the deadline will be used for grading.
In order to access your subversion repository, you must first request an account. For this, you first need to generate an encrypted password. On any GNU/Linux or UNIX machine (or even a Microsoft system with Apache) enter

    $ htpasswd -nb $USER PASSWORD
    
where PASSWORD is your desired password. You will not be able to change the password later. Send the output of the command to grothoff@cs.du.edu to request an account. Once your account has been created, you should do an initial check out:
    $ svn checkout https://svn.cs.du.edu/courses/comp4704/f2008/$GROUP
    $ cd $USER
    
You can add the files to submit just like you added the directory. Make sure to commit the final version with all files (hint: svn status) before the deadline. It is also a good idea to do a seperate checkout and verify that the result works.
If you already have a subversion account from a different class, you still must request a new account for this quarter. You can use the same username and password. Furthermore, when doing the checkout, make sure that the directory $USER does not already exist. You can rename the directory afterwards, for example using:
    $ mv $GROUP comp4704
    

Schedule

Class 1: Introduction (9/9/8)

Useful links
Subversion, Template for Reviews
Reading

Class 2: X10 and PGAS (9/11/8)

Class 3: CMS Pipelines (9/16/8)

Class 4: StreamIt (9/18/8)

Class 5: StreamFlex (9/23/8)

Class 6: Existing Distributed Stream Processing (9/25/8)

Class 7: Workloads for Distributed Systems(9/30/8)

Class 8: CUDA (10/2/8)

Class 9: CUDA (10/7/8)

Class 10: Video conferencing (10/9/8)

Class 11: CUDA Tutorial (10/14/8)

Class 12: Testing Tutorial (10/16/8)

Class 13: Scribe (10/21/8)

Class 14: Integration (10/23/8)

Class 15: Simulation of Distributed Systems (10/28/8)

Class 16: Testing Networked Systems (10/30/8)

Class 17: Testing / Analysis Topics (11/4/8)

Class 18: PlanetLab (11/6/8)

Class 19: Integration (11/11/8)

Class 20: Individual Demos (11/13/8)

Christian Grothoff
Last modified: Thu Oct 9 14:24:55 MDT 2008