 |
 |
one.world CSE
490dp Syllabus
Goals and
Objectives
The overall goal of 490dp is for students to gain considerable
experience in designing, implementing and evaluating distributed and
pervasive applications. The particular objectives for students
are:
- To build a working distributed or pervasive
application.
- To gain experience in building complex systems.
- To work together in groups.
- To communicate their work clearly, be it in code documentation or
write-ups.
- To consistently work towards a goal (and not just cram a few
all-nighters at the last minute).
Lectures
The lectures are meant to jump-start the application building process.
They have three objectives:
- To introduce system technologies that are not typically used for
"desktop" applications.
- To familiarize students with technologies that make it easier to
build distributed and pervasive applications.
- To give students an idea of the underlying concepts and point them
in the right direction if they want to find out more.
Schedule
Readings are classified as follows:
- [Required] readings must be read before lecture. We
will provide students with notes on the paper about a day before
lecture. Though, we won't do this for the first required paper
(Weiser's The computer for the 21st century).
- [Background] readings provide additional background or
context. They include papers referenced in lecture.
- [Reference] readings provide a reference for the technology and
are general useful for actually building applications.
|
| |
Tuesday 1/2/01 |
|
Lecture: Introduction to the course Slides
[Required]
|
|
|
| |
Thursday 1/4/01 |
Lecture: Part I: Challenges Slides (for entire lecture)
Part II: Java object serialization
[Required]
- J. Ousterhout. The role
of distributed state. In R. F. Rashid, editor, CMU Computer
Science A 25th Anniversary Commemorative, chapter 8, pages
199-217. ACM Press, January 1991.
[Background]
- Y. Saito, B. N. Bershad, and H. M. Levy. Manageability,
availability and performance in Porcupine: A Highly scalable,
cluster-based mail service. In Proceedings of the 17th ACM
Symposium on Operating Systems Principles, pages 1-15, Kiawah
Island Resort, South Carolina, December 1999.
- S. D. Gribble, E. A. Brewer, J. M. Hellerstein, and D. Culler. Scalable,
distributed data structures for Internet service construction. In
Proceedings of the 4th USENIX Symposium on Operating Systems Design
and Implementation, pages 319-332, San Diego, California, October
2000.
- A. Demers, D. Greene, C. Hauser, W. Irish, J. Larson, S. Shenker,
H. Sturgis, D. Swinehart, and D. Terry. Epidemic algorithms for
replicated database maintenance. In Proceedings of the 6th Annual
ACM Symposium on Principles of Distributed Computing, pages 1-12,
Vancouver, Canada, August 1987.
- K. Petersen, M. J. Spreitzer, D. B. Terry, M. M. Theimer, and
A. J. Demers. Flexible
update propagation for weakly consistent replication. In
Proceedings of the 16th ACM Symposium on Operating Systems
Principles, pages 288-301, Saint-Malo, France, October 1997.
- J. J. Kistler and M. Satyanarayanan. Disconnected
operation in the Coda file system. ACM Transaction on Computer
Systems 10(1):3-25, February 1992.
- L. B. Mummert, M. R. Ebling, and M. Satyanarayanan. Exploiting
weak connectivity for mobile file access. In Proceedings of the
15th ACM Symposium on Operating Systems Principles, pages 143-155,
Copper Mountain Resort, Colorado, December 1995.
- P. Kumar and M. Satyanarayanan. Flexible
and safe resolution of file conflicts. In Proceedings of the
1995 Winter USENIX Conference, pages 95-106, New Orleans,
Louisiana, January 1995.
- P. Reiher, J. Heidemann, D. Ratner, G. Skinner, and G. Popek. Resolving
file conflicts in the Ficus file system. In Proceedigns of the
1994 Summer USENIX Conference, pages 183-195, Boston,
Massachusetts, June 1994.
- D. B. Terry, M. M. Theimer, K. Petersen, A. J. Demers,
M. J. Spreitzer, and C. H. Hauser. Managing
update conflicts in Bayou, a weakly connected replicated storage
system. In Proceedings of the 15th ACM Symposium on Operating
Systems Principles, pages 172-183, Copper Mountain Resort,
Colorado, December 1995.
[Reference]
Projects:
- Groups must have been formed
- One paragraph application proposal due
|
|
| |
Tuesday 1/9/01 |
Lecture: Tuples Slides
[Required]
- P. Wyckoff, S. McLaughry, T. J. Lehman, and D. A. Ford. T
Spaces. IBM Systems Journal, 37(3):454-474, 1998.
[Background]
- N. Carriero and D. Gelernter. The
S/Net's Linda kernel. ACM Transactions on Computer Systems,
4(2):110-129, May 1986.
- P. Stout. Wax: A Wide Area Computation System. PhD Thesis,
Carnegie Mellon University, December 1994. Available as Technical
Report CMU-CS-94-230.
[Reference]
|
|
| |
Thursday 1/11/01 |
Projects: In-class design presentation and Q&A
- Each team has 10 - 15 minutes to present their application,
describing the features, components, and unknowns.
- Each presentation is followed by discussion with class
and instructors.
- Afterwards, general Q&A session.
|
|
| |
Tuesday 1/16/01 |
Lecture: Synchronous vs. asynchronous invocation
Slides
[Required]
[Background]
- S. Savage, M. Burrows, G. Nelson, P. Sobalvarro, and
T. Anderson. Eraser:
a dynamic data race detector for multithreaded programs. ACM
Transactions on Computer Systems, (15)4:391-411, November
1997.
- S. Gribble. A
Design Framework and a Scalable Storage Platform to Simplify Internet
Service Construction. PhD Thesis, University of California
Berkeley, September 2000.
- J. Hill, R. Szewczyk, A. Woo, S. Hollar, D. Culler, and
K. Pister. System
architecture directions for networked sensors. In Proceedings
of the 9th International Conference on Architectural Support for
Programming Languages and Operating Systems, Cambridge,
Massachusetts, November 2000.
[Reference]
Projects: Written design report due
- Problem
- Features
- Assumptions
- Architecture overview and components
- Unknowns and how you plan to address them
- Plan for the rest of the term, including definition of weekly
milestones
- Plan for evaluation: How are you going to evaluate the application
and show that it works as advertised?
|
|
| |
Thursday 1/18/01 |
Lecture: Remote invocation Slides: Overview, RMI,
REP
[Required]
[Background]
- A. D. Birrell and B. J. Nelson. Implementing remote procedure
calls. ACM Transactions on Computer Systems, 2(1):39-59,
February 1984.
[Reference]
|
|
| |
Tuesday 1/23/01 |
Lecture: Resource control Slides
[Required]
[Background]
[Reference]
Projects: Weekly progress update due
|
|
| |
Thursday 1/25/01 |
Lecture: Check-pointing and migration Slides
[Required]
[Background]
- Part II of D. Milojicic, F. Douglis, and R. Wheeler,
editors. Mobility Processes, Computers, and
Agents. Addison-Wesley, February 1999.
Mobility includes a re-print of F. Douglis and
J. Ousterhout. Transparent process migration: Design alternatives and
the Sprite implementation. Software Practice and Experience,
21(8):757-785, August 1991.
- D. B. Lange and M. Oshima. Programming and Deploying Java
Movile Agents with Aglets. Addison-Wesley, August 1998.
[Reference]
|
|
| |
Tuesday 1/30/01 |
Projects: Weekly progress update due
|
|
| |
Thursday 2/1/01 |
|
|
| |
Tuesday 2/6/01 |
Projects: Weekly progress update due
|
|
| |
Thursday 2/8/01 |
|
|
| |
Tuesday 2/13/01 |
Projects: Weekly progress update due
|
|
| |
Thursday 2/15/01 |
|
|
| |
Tuesday 2/20/01 |
Projects: Weekly progress update due
|
|
| |
Thursday 2/22/01 |
|
|
| |
Tuesday 2/27/01 |
Projects:
- Preliminary version of final report due
- Weekly progress update due
|
|
| |
Thursday 3/1/01 |
|
|
| |
Tuesday 3/6/01 |
Projects: Weekly progress update due
|
|
| |
Thursday 3/8/01 |
|
|
| |
Friday 3/16/01 |
Projects:
- Final reports due
- Instead of final, team presentations and application
demos
- Presentations start at 4:30 in Sieg Hall 322
- Demos are in the undergraduate computer lab in Sieg Hall 232, which
has been reserved for exclusive use by 490dp from 2:30 to 6:30
|
|
|
|