University of Southern California CS558L, Spring 2010 Computer Science Department

Internetworking and Distributed Systems Laboratory

Instructor: Prof. Young H. Cho

T.A.: Andrew Goodney

Course Syllabus

This class covers Internetworking technology and distributed systems. It focuses on practical systems design, performance evaluation, monitoring and diagnosis. The students will gain hands-on experience on actual systems while learning the skills necessary to conduct new research in the field.

Lectures: Following is the schedule of lectures for the course

Week Monday Wednesday
1 Jan. 11 - Introduction Jan. 13 - Networking
2 Jan. 18 - Holiday - Martin Luther King Jr. birthday Jan. 20 - Ethernet and Internet Protocol
3 Jan. 25 - Transport Layer Jan. 27 - Network Performance Measurements and Techniques
4 Feb. 1 - Routing in Internet Feb. 3 - Details of Internet Protocol
5 Feb. 8 - IP Address, ARP, and ICMP Feb. 10 - Programmable Network Interface
6 Feb. 15 - Holiday - President's day Feb. 17 - Programmable Network Interface
7 Feb. 22 - Hardware Accelerated Networking Feb. 24 - NetFPGA overview
8 Mar. 1 - Hardware Design Mar. 3 - FPGA CAD Tools - Part 1, 2, 3
9 Mar. 8 - FPGA and NetFPGA Mar. 10 - Pattern Match based Network Intrusion Detection System
10 Mar. 15 - Spring Recess Mar. 17 - Spring Recess
11 Mar. 22 - Advanced Network Intrusion Detection Mar. 24 - Content Inspection and Applications
12 Mar. 29 - Wireless Sensor Network Mar. 31 - WSN Applications
13 Apr. 5 - Multiprocessors Apr. 7 - Distributed Multicomputer
14 Apr. 12 - Networking for Distributed Systems Apr. 14 - The Final Lecture
15 Apr. 19 - Presentation Practice Run Apr. 21 - Presentation Practice Run
16 Apr. 26 - Final Project Presentations Apr. 28 - Final Project Presentations
17 May 3 - Final Project May 5 - Final Project
18 May 10 - Final Project May 12 - Final Project Report

Reading List: During the first half of the course. There will be 1 reading assignment per week designed to give you basic knowledge in the field.  In the beginning of the following week, each student must submit a 3-4 page powerpoint slide presentation that succinctly summarizes the paper (relevant figures, animations, with few words that effectively describes the content). On the last page, you are to devise 1 exam question and answer on the paper.

No Papers Due Date
1 Leiner, B., et al., "The DARPA Internet Protocol Suite", INFOCOM 85, Washington, D. C., March 1985. Jan. 20 at midnight
2 Narten, T., "Internet Routing", ACM SigCom 89. Jan. 25 at noon
3 Gerla, M. et al, "Generalized Window Advertising for TCP Congestion Control", UCLA Tech Report, Feb 1999. Feb. 1 at noon
4 White, L. et al, "An Integrated Experimental Environment for Distributed Systems and Networks", OSDI 2002, December 2002. Feb. 8 at noon
5 DETER team, "Cyber defense technology networking and evaluation", In Communications of the ACM, Special issue on Emerging Technologies for Homeland Security, Vol. 47, Issue 3, pp 58-61, March 2004. Feb. 17 at noon
6 Watson, G., "NetFPGA: A Tool for Network Research and Education", 2nd Workshop on Architecture Research using FPGA Platforms (WARFP) February, 2006. Feb. 22 at noon
7 Seitz, C. et al, "Myrinet: A gigabit-per-second local area network", IEEE MICRO Feb 1995. Mar. 1 at noon
8 Moscola, J. et al., "Reconfigurable Content-based Router Using Hardware-Accelerated Language Parser", ACM Transaction on Design Automation of Electronic Systems on Demonstrable Software Systems and Hardware Platforms, Volume 13, Number 2, April 2008. Mar. 8 at noon

Project: There will be 2 parts to the project.  During the first half of the course, you will be required to build a simple working IP router (software and/or hardware).  In the second half, you will upgrade your router with features of your choice.  There will be a final project report of a conference paper format (IEEE or ACM conference format; double columns, 6+ pages). Additional details will be given as the course progresses. 

No Tasks Due Date
1 Establish project team of 2-3 students Jan. 25 at noon
2 Get individual DETER account Jan. 25 at noon
3 Laboratory 1: "Getting Started" Emulab Tutorial Jan. 25 at noon
4 Laboratory 2: Advanced Tutorial Jan. 27 at noon
5 Laboratory 3 (Individual): Network performance measurement and tuning (5%) Feb. 9 at 11:59pm
6 Laboratory 4 (Group): Fast and Reliable File Transfer Protocol (10%) Feb. 22 at 11:59pm
7 Laboratory 5: Part 1 (Individual) Quagga Router (5%) Feb 25 at 11:59pm
8 Laboratory 5: Part 2 (Group) Software IP router (5%) Mar. 1 at 11:59pm
9 Laboratory 6: (Individual) Xilinx ISE/Verilog Tutorials (5%) Mar. 8 at 11:59pm
10 Laboratory 7: Part 1 (Group) NetFPGA reference IP router in DETER (5%) Mar. 29 at 11:59pm
11 Laboratory 7: Part 2 (Group) NetFPGA mini-IDS in DETER (5%)
*** ISE source and additional instructions ***
*** mini-ids design schematics (posted on April 3) ***
Apr. 1 at noon
12 Final project proposal (Submit in the class) Apr. 1 at noon
13 Final Project Checkpoint (Mondays during Andrew's Office Hour) Weekly at office hour
14 Final project presentation slides Apr. 26 at noon
15 Initial draft of the Final project paper (Template) Apr. 28 at the start of the class
16 Final project paper May 12 at 11:59pm

Presentation: There will be a 15 minute final slide presentation and 5 minute Q&A session for each project group.  All students will be required to participate and attend.  Following are the schedule for the practice session and the presentation.

Practice Sessions (30 minutes per group)

April 19, 2010 (Monday)

12:00pm-12:30pm Kaushal Desai - Transport Level Load Balancer
12:30pm-01:00pm Mercury - Private Hidden Storage
01:00pm-01:30pm SWS - NetFPGA digital logic analyzer
01:30pm-02:00pm RA - Content based Router

April 21, 2010 (Wednesday)

12:00pm-12:30pm SAM - High performance image capturing network appliance
12:30pm-01:00pm TCP Sockets - Text Categorization on NetFPGA using KNN Algorithm
01:00pm-01:30pm Dragonfly - Content based Router
01:30pm-02:00pm Poets of Carnival - Automated worm fingerprinting

Final Presentation (15 minute presentation followed by 5 minute Q&A)

April 26, 2010 (Monday)

12:00pm-12:20pm Poets of Carnival - Automated worm fingerprinting
12:25pm-12:45pm Dragonfly - Content based Router
12:50pm-01:10pm TCP Sockets - Text Categorization on NetFPGA using KNN Algorithm
01:15pm-01:35pm SAM - High performance image capturing network appliance

April 28, 2010 (Wednesday)

12:00pm-12:20pm RA - Content based Router
12:25pm-12:45pm SWS - NetFPGA digital logic analyzer
12:50pm-01:10pm Mercury - Private Hidden Storage
01:15pm-01:35pm Kaushal Desai - Transport Level Load Balancer

Final Project Report: The report should be in the form of a conference paper.  This template is provided for you to get you started.  The font size of the content of the paper should be between 10-11pts.  The report must be DOUBLE COLUMN with minimum of 4 PAGES of content with more than FIVE IEEE/ACM papers in the reference.  Formatting for the reference must be consistent with IEEE/ACM standard.  Please indicate the target conference/workshop and follow their instructions as closely as you can.

You must turn in an initial draft of the report at NOON, WEDNESDAY APRIL 28, 2010 (start of the last lecture time).  The initial draft must have completed ABSTRACT, INTRODUCTION, RELATED WORKS, and REFERENCE with at least 5 papers listed.  Please indicate the target workshop or conference.

The final project report is due on MAY 12, 2010 by MIDNIGHT.

Exams: There are no mid-term and final exams.

Prerequisite: CS402 and EE450; Recommended preparation: CS551
If you did not take CS402 or EE450 at USC, look at here for placement exam requirements.

Limited space: Due to limited space and equipment in the laboratory, the class can only accommodate a small number of students (less then 30). If you have a strong interest to the class, prepare to register early. If you are on the waiting list, the CS Department will give out D-clearance according to the order on the list.


Class participation 5%
Reading and Tutorials (Labs 1&2) 10%
Laboratories (Labs 4-7) 40%
Final Project Proposal 5%
Final Project

Letter grade conversion

95% - 100+%
85% - 94%
80% - 84%
77% - 79%
73% - 76%
70% - 72%
40% - 69%
30% - 39%
00% - 30%

Last Modified: March 26, 2010
Instructor: Young Cho