Distributed Computer Systems Engineering

Lecture Notes

LEC #

TOPICS

HANDOUTS

1

Introduction and O/S review (PDF)

syscall.c (C)

webserver.c (C)

2

I/O concurrency (PDF 1)

Event-driven programming (PDF 2)

events.c (C)

webclient.c (C)

webclient_libasync.c (C)

3

Event-driven programming (cont.) (PDF)

arpc.c (C)

4

Network file system (PDF)

 

5

RPC transparency (PDF)

 

6

Crash recovery (PDF)

 

7

Logging (PDF)

 

8

Cache consistency and locking (PDF)

 

9

Memory consistency (PDF)

 

10

First project conferences

 

11

Memory consistency (cont.) (PDF)

 

12

Vector timestamps and version vectors (PDF)

 

13

Two-phase commit (PDF)

 

14

Paxos (PDF)

 

15

Viewstamped replication (PDF)

 

16

Harp (PDF)

 

17

Second project conferences

 

18

Frangipani (PDF)

 

19

Scalable lookup (PDF)

 

20

Wide-area storage

 

21

Hacking day (no class)

 

22

Project demonstrations

 

23

Content distribution

 

24

Distributed computing

 

 

Labs

Laboratory Assignments

LABS

TOPICS

SUPPORTING FILES

0

Getting started (PDF)

 

1

Lock server (PDF)

lab-1.zip (ZIP) (The ZIP file contains: 5 .c files, 2 .h files, 1 Makefile, and 1 .x file.)

2

Basic file server (PDF)

lab-2.zip (ZIP) (The ZIP file contains: 5 .c files, 3 .h files, 2 .x files, 1 .pl file, and 1 Makefile.)

3

File server: Reading, writing, and sharing files (PDF)

lab-3.zip (ZIP) (The ZIP file contains: test-lab-3.pl.)

4

MKDIR, REMOVE, and locking (PDF)

lab-4.zip (ZIP) (The ZIP file contains: 6 .c files, 3 .h files, 2 .x files, 1 Makefile, and 1 .pl file.)

5

Cache consistency (PDF)

 

 

Exams

Previous Exams

Quiz 1 (PDF)

Quiz 2 (PDF)