Week

Session

Date

Topic

Teaching Method

Reading list

Instructor

Projects

Prob. Solving Assignment

1

1

5 Sep

Adiministrivia and Introduction

Lecture

 

MFS

Start P1

 

 

2

7 Sep

Introduction to Distributed Systems

Lecture

Syllabus, C1, T1

MFS

 

Start PS1

 

3

8 Sep

Case study: Java Socket programming, RMI

Recitation

Notes about Socket programming and RMI

 

 

 

2

4

12 Sep

Distributed System Architecture, Introduction to Networking

Lecture

C.2.1, C2.2, C2.3 (except 2.3.3), C3.1, C3.2

VKO

 

 

 

5

14 Sep

Networking – Layering, Switching, Routing, Congestion Control

Lecture

C3.3, C3.4

VKO

Design Report P1

 

 

6

15 Sep

Design of P1

Recitation

 

 

 

 

3

7

19 Sep

Inter-Process Communication – Socket, RPC, Message-passing and multi-cast

Lecture

T4.2 – T4.6

VKO

 

 

 

8

21 Sep

Naming – Flat, structured and attribute-based

Lecture

T5.1, T5.2, T5.3, T5.4 .1, T5.4.2

VKO

 

 

 

9

22 Sep

Case study: Google protocol buffers and publish-subscribe

Recitation

 

 

 

End PS1

4

10

26 Sep

Synchronization – Physical clocks, Logical clocks, Vector clocks

Lecture

T6.1, T6.2

VKO

 

Start PS2

 

11

28 Sep

Synchronization – Mutual exclusion, election algorithms

Lecture

T6.3 – T6.6

VKO

 

 

 

12

29 Sep

Case study: Google Chubby

Recitation

 

nbsp;

 

 

5

13

3 Oct

Synchronization – Transactions and concurrency control

Lecture

C16

VKO

End P1/Start P2

 

 

14

5 Oct

Consistency & Replication

Lecture

T7

VKO

 

 

 

15

6 Oct

Case study: Replication in GFS, Design of P2

Recitation

 

 

 

 

6

16

10 Oct

Consistency & Replication

Lecture

T7

VKO

Design Report P2

 

 

17

12 Oct

Consistency & Replication

Lecture

T7

VKO

 

 

 

18

13 Oct

Design of P2

Recitation

 

 

 

End PS2

7

19

17 Oct

Fault Tolerance

Lecture

T8

MHH

 

 

 

20

19 Oct

Fault Tolerance

Lecture

T8

MHH

 

 

 

21

20 Oct

Programming on Reliable Communication

Recitation

 

 

End P2

 

8

22

24 Oct

Midterm

Exam1

 

 

Start P3

 

 

23

26 Oct

Fault Tolerance

Lecture

T8

MHH

 

Start PS3

 

24

27 Oct

Developing MPI Programs

Recitation

 

 

 

 

9

25

31 Oct

Programming Models

Lecture

Notes on MPI, Shared memory, W1, W2, W6

MFS

Design Report P3

 

 

26

2 Nov

Programming Models

Lecture

Notes on MPI, Shared memory, W1, W2, W6

MHH

 

 

 

27

3 Nov

Developing MapReduce Programs

Recitation

 

 

 

 

10

 

7 Nov

Eid Al-Adha Break; no classes

 

28

9 Nov

Programming Models

Lecture

Notes on MPI, Shared memory, W1, W2, W6

MHH

 

End PS3

 

29

10 Nov

Hadoop MapReduce

Recitation

 

 

 

 

11

30

14 Nov

Distributed File Systems

Lecture

T11

MHH

End P3

Start PS4

 

31

16 Nov

Distributed File Systems

Lecture

T11

MHH

 

 

 

32

17 Nov

Canceled

Recitation

 

 

 

 

12

33

21 Nov

Big Table: A Distributed Structured Storage System

Recorded Video Lecture

The BigTable paper

Jeaf Dean

Start P4

 

 

34

23 Nov

Grid Computing for the Large Hadron Collider

Guest Lecture

 

Othmane Bouhali

 

 

 

35

24 Nov

Design of P4

Recitation

 

 

 

 

13

36

28 Nov

Security

Lecture

T9

VKO

 

 

 

37

30 Nov

Security

Lecture

T9

VKO

 

 

 

 

38

1 Dec

Hadoop MapReduce Source Code

Recitation

 

 

 

 

14

39

5 Dec

Virtualization

Lecture

S1, S8, S9

MHH

 

 

 

40

7 Dec

Virtualization

Lecture

S1, S8, S9

MHH

 

End PS4

 

41

8 Dec

I/O Virtualization

Recitation

 

 

 

 

15

43

12 Dec

Presentation Session on P4

Presentations

 

Students

 

 

 

44

13 Dec

 

 

 

 

End P4

 

Table 1: Tentative time-line of the course. Notations used are as given below:

? Assignments: PS=Problem Solving Assignments

? Reading list: Cx(.y.z) = Chapter x (Section y, subsection z) from Colouris textbook; similarly, Tx(.y.z) refers to chapters from Tannenbaum textbook, Wx(.y.z) refers to White textbook, and Sx(.y.z) refers to Smith textbook.

? Instructors: MFS=Majd Sakr, MHH=Mohammad Hammoud, VKO=Vinay Kolar, TBA=To Be Announced