Building High-Performance Servers

Home Home Syllabus Syllabus Assignments Assignments Readings Readings
 
September
  7 Intro: Format, expectations, OS review

Notes

9 Handling Concurrency: Processes, Threads, Events

Flash

Notes

12 Sockets, Non-blocking I/O

Getting started with new I/O (register, or mirror)

Java NIO case study

Notes

14 Extended Interfaces

C10K

IO-Lite

Notes

16 Tools: C++/NMSTL

NMSTL

Notes

19 Disk: Ordering, Recovery

Soft updates

man mbox, man maildir

Why maildir?

login due

Notes

21 Disk: Logging

Cedar

Notes

23 Tools: RAID

RAID

Notes

26 Concurrency revisited: multiprocessors

libasync-smp

Notes

28 Threads and Events

SEDA

Notes

30 C++

"Guest lecture" by Bjarne Stroustroup (go to his 3pm talk)

Notes

October
3 Extension models

FastCGI

Loadable Modules

logind due

Notes

5 Database access

Browse these intros.

Notes

7 Performance monitoring

Receive-livelock

Blackboxes

Notes

10 Columbus Day 12 Benchmarking

lmbench

Notes

14 Python/Jython and Load generation

Scripting Tips

Polygraph Paper (Through Section 2)

Polygraph Manual (PGL and Simulation models)

17 Secure design: Cryptographic Primitives

Notes

19 Tools: SSL

Intro to SSL

imapc due

Notes

SSL Protocol

21 Guest Lecture: Jason Sobel of NetApp (CIT368)

Abstract

24

Midterm Exam

26 No class? 28 No class?
31 Least Privilege

OKWS

Minimizing Privileges

Notes

Presentation ideas due

   
November
  2 Secure engineering: Programming errors, Audits

Secure Programming HOWTO

Notes

Code

4 Practical Web Authentication

Client Authentication

Notes

7 Two-phase commit

Quicksilver

Notes

imapc+jython due

9 Replication, Load-balancing

Porcupine

Notes

11 DHTs

Chord

Notes

14 Caching, CDNs

Coral

Notes

16 Efficient threading & locking

Jay & Isaac

Erlang: Development or Survey

Software Transactional Memory

Jay Isaac

18 Fine-grained process control

Alp & Eric

SubDomain

LD_PRELOAD

Alp Eric

21 Extreme Programming

Kiran

ssl due

Slides

23 Thanksgiving 25 Thanksgiving
28 Understanding large programs

JJ & Michael

Metal

Michael JJ

30 Extensible Operating Systems

Exokernel

Spin

Notes

 
December
    2 Virtual Machines

Disco

Xen

IMAP checkpoint due

5

Final Exam

7 Hacking Period 9 Hacking Period
12

IMAP server due

   
Home | Syllabus | Assignments | Readings