CEG 830: Distributed Computing Systems

Prabhaker Mateti

Catalog Description:

[4 Credit Hours] Example languages and packages: SR and PVM, file servers, semantics of file sharing, caches and replication, log-structured file systems, remote evaluation, process migration, mobile projects, checkpointing and rollback-recovery. Prerequisite: CEG 730.

Source Materials

  1. Andrew S. Tanenbaum, and Maarten Van Steen, Distributed Systems: Principles and Paradigms, 840 pages, 2nd edition (2007), Prentice Hall. All of Tanenbaum-slides from 1st Ed
  2. Prabhaker Mateti, Editor, Summer Institute on Advanced Computation: Cluster Computing, August 20-23, 2000, http://www.cs.wright.edu/itri/SIAC2000/Top/index.html
  3. CSTB, Embedded, Everywhere: A Research Agenda for Networked Systems of Embedded Computers, 236 pages, 2001, ISBN: 0-309-07568-8. http://books.nap.edu/html/embedded_everywhere/
  4. Dejan S. Milojicic, Fred Douglis, Yves Paindaveine, Richard Wheeler, Songnian Zhou, "Process migration," ACM Computing Surveys, Volume 32 Issue 3, September 2000. www.hpl.hp.com/personal/ Dejan_Milojicic/pm7.pdf
  5. Ho, R.S.C. Cho-Li Wang Lau, F.C., Lightweight process migration and memory prefetching in openMosix, IEEE International Symposium on Parallel and Distributed Processing (IPDPS), 2008. pp. 1-12. http://i.cs.hku.hk/~clwang/papers/ipdps2008-Prefetch.pdf
  6. Bernard Sufrin, Communicating Scala Objects, in Communicating Process Architectures 2008, Susan Stepney, Fiona Polack, Alistair McEwan, Peter Welch, and Wilson Ifill (Eds.) IOS Press, 2008. users.comlab.ox.ac.uk/ bernard.sufrin/CSO/cpa2008-cso.pdf
  7. Communicating Sequential Processes for JavaTM (JCSP) http://www.cs.kent.ac.uk/projects/ofa/jcsp/
  8. Communicating Process Architectures 2009 conference http://www.wotug.org/cpa2009/
  9. The Mozart Programming System, http://www.mozart-oz.org/ , Version 1.4.0, July 2008.
  10. Michael Armbrust, et al., "Above the Clouds: A Berkeley View of Cloud Computing", UC Berkeley Reliable Adaptive Distributed Systems Laboratory, http://radlab.cs.berkeley.edu/ February 10, 2009

Course Content

The objective of the course is to continue to familiarize you with key issues in distributed systems beyond what was discussed in CEG 730. Whereas 730 surveyed all the important principles of distributed computing, 830 focuses on a select few topics in the lectures, and expects you to focus on one topic of your choice. Typically, these have been development project-oriented, but other choices are possible.

Expect to do considerable reading in the course. You are also expected to have spent significant enough time in visiting the Web sites cited. It is possible that there are a couple of papers too many for the amount of time we have. I will lecture only on the non-survey papers cited below.

Home Page:

http://www.cs.wright.edu/~pmateti/Courses/830/ Bookmark this link and visit it periodically. All course related announcements will be posted on this page.

Distributed Programming Systems Basics

Conceptual issues and implementation primitives for distributed systems. Location independent invocation. Remote evaluation. Process migration. Consistent global states. Replication management.

Current Technology of Distributed Systems

File and Directory servers across a network. Semantics of file sharing. Atomic file updates. Caches and replication. Log-structured file systems. Fault Tolerance. Distributed operating systems. Processor pools. Processor allocation and Load balancing. Security and user authentication. Micro-kernels. PVM, CORBA. Java, Jini, JavaSpaces, and COM/DCOM MapReduce and Hadoop.

Current Research in Distributed Systems

Ubiquitous computing, reactive programming. Scalability. Computing grids. Fair threads. Interactive web services. Mobile objects. Networks of Workstations. Using idle workstations. Languages and packages for distributed programming.

Expected Work Load

There are no exams planned. Nevertheless, I expect you to study all the papers with the same intensity as you would otherwise. If I sense that some of you are not studying the cited materials, I may decide to give the entire class an exam, and readjust the weights.

Projects

The ``WhiteBoard-of-730'' project: You will implement it in yet more ways. The second is possibly a group project. E.g., use a few, say 8, machines of the OSIS Lab, setup a cluster, install a research prototype of a distributed computing environment, and do a demo. These contribute 20 + 15 % to the grade. The first one is due in six weeks. The second one must be completed one week before the last day of classes. You are expected to submit a brief write-up along with printed listings, and schedule a demo for both versions.

Term Paper and Project

Choose a topic, study it thoroughly, do some implementation/project work, write a term paper, and present it to the class. This term paper + project contributes 30 + 30%. See the references below for guidance on topic selection.

The term paper (and presentation) must be completed at least one week before the last day of classes. The schedule of dates for the talks have to be agreeable to all (the students and me). The paper should be a unified tutorial followed by a careful critique. The length of your paper may range from a short 5 to a fairly lengthy 15 pages. While good technical writing style is important, what I will be looking for in your term project (and presentation) is incisive analysis and deep understanding of the concepts. The presentation may last any where from 30-minutes to 75 (time permitting). You will be judged, by me and your fellow students, for clarity of presentation and, more importantly, command of the material you studied and implemented, but not for pedagogy or slickness of the `talk.' You may prepare whatever (such as transparencies) to help you present your paper.

The project must be interesting and non-trivial. It should be demonstrated to me and the entire class no later than the last day of classes.

Classroom Participation

I expect knowledgeable participation in the class room. I do not wish the lectures to become no more than monologs. Feel free to discuss openly, including catching any errors that I may make. I reserve 5% of the total points to a subjective rating by me of your participation.


Copyright © 2009 Prabhaker Mateti • November 2009