Alan Kaminsky Department of Computer Science Rochester Institute of Technology 4486 + 2220 = 6706
Home Page
Distributed Systems 4005-730-01 Spring Quarter 2013
Course Page

4005-730-01 Distributed Systems
Course Schedule and Topics

Prof. Alan Kaminsky -- Spring Quarter 2013
Rochester Institute of Technology -- Department of Computer Science

Time: Tuesdays and Thursdays, 12:00pm-1:50pm, Room 70-3445

Final Exam: Tuesday, 14-May-2013, 12:30pm-2:30pm, Room 70-3445

Sun Mon Tue Wed Thu Fri Sat
Mar. 3 Mar. 4 Mar. 5
Introduction
Module 1. Fundamentals
Team Project assigned
Mar. 6 Mar. 7
Module 11. Research Methods
Mar. 8 Mar. 9
Mar. 10
Drop/
add*
Mar. 11 Mar. 12
Module 2. Distributed Object Systems
Programming Project 1 assigned
Team formation due
Mar. 13 Mar. 14
Module 11. Research Methods
Mar. 15 Mar. 16
Mar. 17 Mar. 18 Mar. 19
Module 2. Distributed Object Systems
 
Mar. 20 Mar. 21
Team Presentations -- Report 1
Teams 1-10
Mar. 22 Mar. 23
Mar. 24 Mar. 25 Mar. 26
Module 2. Distributed Object Systems
Module 3. Message Oriented Systems
Mar. 27 Mar. 28
Module 4. Distributed Algorithms
 
Mar. 29 Mar. 30
Mar. 31 Apr. 1 Apr. 2
Module 5. Distributed Hash Tables
Programming Project 2 assigned
Programming Project 1 due
Apr. 3 Apr. 4
Team Presentations -- Report 2
Teams 1-5
Apr. 5 Apr. 6
Apr. 7 Apr. 8 Apr. 9
Module 6. P2P and Serverless Systems
 
Apr. 10 Apr. 11
Team Presentations -- Report 2
Teams 6-10
Apr. 12
Final exam
conflicts**
Apr. 13
Apr. 14 Apr. 15 Apr. 16
Module 7. Agent Systems
 
Apr. 17 Apr. 18
Team Presentations -- Report 3
Teams 1-5
Apr. 19 Apr. 20
Project 1
resubmit
Apr. 21 Apr. 22 Apr. 23
Module 8. Map-Reduce Systems
Programming Project 2 due
Apr. 24 Apr. 25
Team Presentations -- Report 3
Teams 6-10
Apr. 26
Withdraw
***
Apr. 27
Apr. 28 Apr. 29 Apr. 30
Module 9. Supercomputing
 
May 1 May 2
Team Presentations -- Report 4
Teams 1-5
Team deliverables due (all teams)
May 3 May 4
May 5 May 6 May 7
Module 10. Cloud/Grid Computing
 
May 8 May 9
Team Presentations -- Report 4
Teams 6-10
May 10
Project 2
resubmit
May 11
May 12 May 13
Finals
 
May 14
Final Exam
12:30pm-2:30pm, Room 70-3445
May 15
Finals
 
May 16
Finals
 
May 17
Finals
 
May 18

*Last date to drop/add courses: Sunday 10-Mar-2013
**Last date to request final exam rescheduling due to scheduling conflicts: Friday 12-Apr-2013
***Last date to withdraw with a grade of W: Friday 26-Apr-2013


Introduction
Topics
  • Course introduction
  • Course policies
Reading


Module 1. Fundamentals
Topics
  • The evolution of (so-called) distributed systems
  • Distributed system architectures
  • Distributed system technologies and paradigms
  • Distributed system design issues
Reading Optional Reading
  • Tanenbaum & van Steen, chapters 1, 2, 3, 4


Module 2. Distributed Object Systems
Topics
  • Object serialization
  • Remote method invocation (RMI)
  • Marshalled objects
  • Finding distributed objects: registry
  • Distributed events
  • Fault tolerance and leasing
  • Web Services: SOAP, WSDL, JSON, REST, . . .
Reading Optional Reading
  • Tanenbaum & van Steen, chapters 5, 10, 12, 13.2


Module 3. Message Oriented Systems
Topics
  • Message Oriented Middleware
  • Message queuing (MQ) systems
  • Publish-subscribe (pub-sub) systems
Reading Optional Reading


Module 4. Distributed Algorithms
Topics
  • Theory of distributed algorithms
  • Logical clock algorithms
  • Global snapshot algorithms
  • Leader election algorithms
Reading Optional Reading
  • Tanenbaum & van Steen, chapter 6


Module 5. Distributed Hash Tables
Topics
  • Regular vs. distributed hash tables (DHTs)
  • Issues in DHT system design: routing, caching
  • DHT examples: CAN, Chord, Kademlia, . . .
Reading
  • Module 5 Lecture Notes
  • CAN paper (see the Lecture Notes)
  • Chord paper (see the Lecture Notes)
  • Kademlia paper (see the Lecture Notes)
Optional Reading
  • Tanenbaum & van Steen, chapter 2.2.2
  • Tanenbaum & van Steen, chapter 5.2


Module 6. P2P and Serverless Systems
Topics
  • Serverless systems and peer-to-peer architectures
  • P2P examples: BitTorrent, . . .
  • Ad hoc collaborative systems
  • Tuple Space
Reading Optional Reading
  • Carriero and Gelernter, How to write parallel programs: A guide to the perplexed (see the Bibliography)
  • Tanenbaum & van Steen, chapter 13.2


Module 7. Agent Systems
Topics
  • Agent system architectures
  • Fixed agents vs. mobile agents
  • Agent system middleware: JADE, . . .
Reading


Module 8. Map-Reduce Systems
Topics
  • The map-reduce paradigm
  • Map-reduce middleware: Hadoop, . . .
  • Scheduling in map-reduce systems
  • Fault tolerance in map-reduce systems
  • Case studies
Reading


Module 9. Supercomputing
Topics
  • SMP (multicore) parallel computers
  • Cluster parallel computers
  • Hybrid SMP cluster parallel computers
  • Accelerators: GPUs, FPGAs, . . .
  • Supercomputers
  • Supercomputing middleware: MPI, OpenMP, OpenCL, CUDA, PJ, . . .
Reading


Module 10. Cloud/Grid Computing
Topics
  • Cloud computing use cases
  • Cloud computing systems: Amazon, . . .
  • Grid computing use cases
  • Grid computing middleware: Globus, . . .
  • Grid computing systems: Open Science Grid, XSEDE, . . .
  • Security and privacy in the cloud
Reading


Module 11. Research Methods
Topics
  • Concepts of simulation
  • Monte Carlo simulation
  • Discrete event simulation
  • Developing simulation programs
  • Using simulations to study systems
  • Examples
Reading

Distributed Systems 4005-730-01 Spring Quarter 2013
Course Page
Alan Kaminsky Department of Computer Science Rochester Institute of Technology 4486 + 2220 = 6706
Home Page
Copyright © 2013 Alan Kaminsky. All rights reserved. Last updated 03-May-2013. Please send comments to ark­@­cs.rit.edu.