15-640/440 Tentative Schedule

Week 1

  • Introduction and Administrivia
  • Introduction to Distributed Systems, Representing Work, Making Work Portable and the Challenges of Files and Communication

  • Project #1: Process Migration -- Assigned (Thursday)

Week 2

  • Networking in a day: Physical, Link, Network and Transport Layers
  • Higher-level abstractions: RPC and RMI

Week 3

  • Implementing Migration Via Serialization; Review of the Sockets API and Client-Server Interaction
  • Time in distributed systems: Physical and Logical

  • Project #1: Process Migration -- Due (Thursday)

Week 4

  • Concurrency Control w/Fast Shared Memory (Review)
  • Distributed Concurrency Control
  • Project #2: RPC/RMI -- Assigned (Tuesday)

Week 5

  • Coordinator Election
  • Implementing RMI: Proxies, Skeletons, Serialization, Intefaces

Week 6

  • 2PC/Multicast, Distributed Transactions, ACID, BASE, CAP
  • Consistency and Replication: Quorums and Management, Best-Effort Management

Week 7

  • Fault Tolerance: Agreement (Two Armies, Generals), Logging and Checkpointing Intro
  • Fault Tolerance: Logging and Checkpointing, Techniques in Detail

  • Project #2: RPC/RMI -- Due (Thursday)

Week 8

  • Programming models: Map-Reduce for "Big Data", Model, System Design
  • Midterm Exam

Week 9

  • Programming models: Map-Reduce for "Big Data", Algorithms
  • Map Reduce for "Not-So Big Data"
  • Project #3: Distributed Computing Framework -- Assigned (Thursday)

Week 10

  • Processor allocation and Process Migration, Condor, OpenPBS/Torque
  • Programming models: MPI and OpenMP

Week 11

  • Distributed File Systems (DFS): NFS, AFS, Coda
  • Distributed File Systems with non-Posix-like semantics (Lustre, HDFS, MogileFS, HDFS, etc)

Week 12

  • Distributed File Systems with non-Posix-like semantics, cont.
  • Cryptography, Security Protocols, and Secure System Design

  • Project #3: Distributed Computing Framework -- Due (Tuesday)
  • Project #4: MPI and OpenMP -- Assigned (Thursday)

Week 13

  • Anonymous routing and Tor, Distributed Hashing
  • Virtualization

Week 14

  • Review/slack
  • No class -- Thanksgiving

Week 15

  • Special Topics
  • Wrap-up

  • Project #4: MPI -- Due (Friday)

Final Exams

  • Enjoy!