The Design and Implementation of Network Services

Instructor: George Porter (gporter@cs.berkeley.edu)

Computer Science Division
Electrical Engineering and Computer Science Department
University of California, Berkeley
Berkeley, California 94720-1776

Updates

Course Description

Building on the foundations of EE 122 (Computer Networks), this course explores the operational issues that arise when building Internet services and distributed applications. We will explore:

Week 1/2 Concept Map

During the first week, we're going to study how endhosts process protocols. Please click here for a concept map.

Difficult Concepts for week 1-2

  1. Keeping straight the flow of packets from the network interface through the kernel to the application.
  2. Reviewing and remembering common protocols and how layering works in the network.
  3. OS concepts such as interrupts, context switching, and the sources of overhead.

Semester Overview

Week Overview
1 Introduction; Historical survey of Internet services from remote consoles to giant-scale search engines; modern server platforms and network routers, switches, and middleboxes; Demands of large services; Terminology, technology, review of prerequisite knowledge.
2 & 3 Concurrency in server software; O/S performance issues; Layering and integrated layer processing (ILP); Threading; Non-blocking I/O; Zero-copy; Methodology for network measurement, performance measurement, and reliability; Testing.
4 Cluster and datacenter design; Storage; Networking support for distributed applications; Multicast (in-network, end-system, infrastructure); Network appliances.
5 Middleware; J2EE; Web-services.
6 QoS (Quality of Service): router mechanisms, real-time traffic; Content Distribution Networks (CDNs).
7 P2P (Peer-to-peer systems); Overlay networks.
8 Network Reliability; Reliability benchmarking.
9 Network Security; Worms, viruses; Authentication.
10 Wrap-up, review.

Course Prerequisites

For this course, you will need to have taken EE 122 (Computer Networks). The equivalent of CS 162 (Operating Systems) is strongly recommended.

Entrance Exam

A short entrance exam will be given during the first class period. This exam won't be graded, nor will it count towards your course grade. Its purpose is to let you know if you have the required prerequisite information to take this course. It is graded on a 3-point scale (check-plus, check, check-minus).

The exam is available in two formats: Word (entrance.doc) and Acrobat (entrance.pdf).

Adobe Acrobat is available by clicking on . A free Microsoft Word viewer is available here.

Exit exam and qualifications

This short exit exam is available in two formats: Word (exit.doc) and Acrobat (exit.pdf).

Homework

Homework 4 is now available in two formats: Word (hw4.doc) and Acrobat (hw4.pdf).

Homework 6 is now available in two formats: Word (hw6.doc) and Acrobat (hw6.pdf)

Homework 8 is now available in two formats: Word (textbook.doc) and Acrobat (textbook.pdf)

Homework 9 is now available in two formats: Word (hw9.doc) and Acrobat (hw9.pdf)

Homework 10 is now available in two formats: Word (hw10.doc) and Acrobat (hw10.pdf)

Homework 11 is now available in two formats: Word (hw11.doc) and Acrobat (hw11.pdf)

Midterms

Midterm 1: Word (midterm1.doc) and Acrobat (midterm1.pdf)

Midterm 1 Solutions: Acrobat (midterm1soln.pdf)

Administration