High-Performance Networking

Prof. James P.G. Sterbenz <jpgs@eecs.ku.edu>
Department of Electrical Engineering and Computer Science
The University of Kansas

Course Description

EECS 881
3 credit hours

Comprehensive coverage of the discipline of high-bandwidth low-latency networks and communication, including high bandwidth-×-delay products, with and emphasis on principles, architecture, protocols, and system design. Topics include high-performance network architecture, control, and signalling; high-speed wired, optical, and wireless links; fast packet, IP, and optical switching; IP lookup, classification, and scheduling; network processors, end system design and protocol optimization, network interfaces; storage networks; end-to-end protocols, mechanisms, and optimizations; and high-bandwidth low-latency applications. Principles will be illustrated with many leading-edge and emerging protocols and architectures.


EECS 780, 563, 663, or equivalent. This course is intended for MS and PhD level students and is not open to undergraduates.

Computer Accounts

You must be able to use either your EECS or ITTC account for some of the exercises in this class. All students enrolled in this course will have an EECS account. If you have forgotten your userid or password you must get these within the first week of class, either from the EECS office or helpdesk, or by requesting from Hossein Saiedian <saiedian@ku.edu> if you prefer to get it from the Edwards Campus. If you have an ITTC account, you do not need to use your EECS account for this class.

Your life may be easier if you have a Unix-like shell environment on your personal computer or laptop. This is automatic with Linux and MacOS (bring up a terminal window). On Windows, the two options are to install a Linux virtual machine, or to install Cygwin; the latter is sufficient for less-sophisticated users who only need to run Unix shell commands and scripts.

Time and Location

Important Notice: The first meeting of the class will be the first scheduled lecture session. The discussion session will not meet until announced in class or in the schedule table.

Course Offerings

Detailed information about individual offerings of this course will be located on the following pages, including schedule and homework assignments.

Generic course information and the latest version of the lectures are located on this page below. Current and past 881 students, as well as other seriously interested parties are welcome to request to join the EECS 881 Facebook group.

Lectures and Readings

EECS 881 Lectures
Lecture Reading
Subject  Key Protocols and Algorithms  Required Optional EECS 780 Background
Administrivia and Ethics
HSN-AE [print] [display]
 Preliminaries and Principles 
HSN-PP [print] [display]
 V:1–4   K:1 
 lecture: [print] | [display
Overall Architecture
and Topology
HSN-AT [print] [display]
 S:3   K:4.1 
Control and Signalling
HSN-CS [print] [display]
message vs. circuit switching
packet switching
fast packet switching (VCs)
soft state vs. opportunistic VCs
optical burst switching
HSN-LL [display]
802.11n, 802.16m, 802.15.3c
 lecture: [print] | [display
 lecture: [print] | [display
Switch & Router
Architecture and Fabrics
HSN-SR [print] [display]
 V:10,13   K:4.3–4.8
 lecture: [print] | [display
 lecture: [print] | [display
Network Processors
HSN-NP [print] [display]  
Lookup, Classification,
and Scheduling
HSN-IO [display]
End Systems and
Network Interfaces
HSN-ES [display]
End-to-End Transport
HSN-TL [print] [display]
 lecture: [print] | [display
Networked Applications
HSN-NA [print] [display]
 K:2, 7
 lecture: [print] | [display
Storage Networks and
Grid Computing HSN-SC
Future Outlook

Reading assignments: S = Sterbenz & Touch, C = Comer, V = Varghese, W = Welzl, K = Kurose & Ross


Required Textbooks

Important Notice: There are changes in the required and optional textbooks this year.

These textbooks and the corresponding required readings in the table are essential for success in this course. Students are responsible for knowing all of this material regardless of whether or not explicitly covered in lectures.

James P.G. Sterbenz and Joseph D. Touch,
High-Speed Networking: A Systematic Approach to High-Bandwidth Low-Latency Communication,
John Wiley, New York, 2001.
This book is also used for EECS 780

Douglas E. Comer,
Network Systems Design using Network Processors, Intel IXP 2xxx Version,
Pearson Prentice-Hall, 2006
Network Systems Design using Network Processors,
Pearson Prentice-Hall, 2004.
Theese books are not availble from the EECS 881 textbook section of the KU bookstore because the Intel IXP 2xxx Version is out of print, but still available through resellers. Students should attmept to procure the 2006 version since it matches the network processors used for ONL laboratory exercises, and only if not available get the 2004 edition.

Recommended Textbook

This book contains material highly relevent to lecture HSN-TL with Chapter 4 as required reading, and Chapters 1–3 background reading, particulary for students whose recollection of TCP error, flow, and congestion control is weak. Copies will be on short-term reserve, but students may wish to purchase their own copy for convenience.

Michael Welzl,
Network Congestion Control,
John Wiley, Chichester UK, 2005.

Supplementary Textbooks

These textbooks will contain optional reading assignments that should contribute significantly to your understanding of the material. In an effort to keep student costs down, they will be placed on library reserve, however students may find it more convenient to purchase their own copies.

George Varghese,
Network Algorithmics,
Morgan-Kaufmann Elsevier, 2005.

Rajiv Ramaswami and Kumar N. Sivarajan,
Optical Networks: A Practical Perspective,
second edition, Morgan Kaufmann, 2002.

Thomas C. Jepsen,
Distributed Storage Networks: Architecture, Protocols and Management,
Wiley, 2003.

[TMK2006] Franco Travostino, Joe Mambretti, Gigi Karmous-Edwards, ed.,
Grid Networks: Enabling Grids with Advanced Communication Technology,
Wiley, 2006.

Background Textbook

This book is one of the textbooks used in EECS 780 and is an excellent source of background material for this course.

James F. Kurose and Keith F. Ross,
Computer Networking, fourth edition,
Pearson Addison Wesley, 2008.

Additional Required Readings

The readings in this section are listed with the lecture to which they correspond, but do not need to be read before the lecture. At the end of each lecture, papers will be assigned to students to present to the class the following week, and all students must read the papers before then. Students may request a particular paper in advance by email. You must read the assigned sections before the corresponding lecture.

Student Presentations

The presenting student should construct a presentation that takes 20 minutes to deliver without questions, with a maximum of 10 content foils (excluding title, outline, and reference foils). If you are inexperienced, you must practise to a mirror or friend until you've got the timing right. Significant points will be deducted for presentations that are too long. You should read the presentation guidelines before you create your presentation, and use the template as a basis for your presentation. You must not use font sizes smaller than this template, and are strongly urged to turn off auto shrink to fit to avoid font size problems. If you are an experienced presenter with a PowerPoint style you are comfortable using, or if you wish to use other programs to create your presentation, you may do so with prior approval only after I have seen a sample, and this must be done well in advance of your first scheduled presentation. Otherwise, you must use the provided template. Presentations must be emailed the day before the scheduled delivery (by 23:59) in PDF (recommended) or PowerPoint source (necessary if you need animations) with a Subject: line beginning EECS882 - reading presentation:. You must also bring a USB memory stick to class containing your presentation. Once a presentation has been scheduled, it is not possible to reschedule for any reason other than emergency, to avoid disrupting the class schedule.

A one-half-hour time slot will be devoted to each presentation to allow for questions from other class members, which contributes to the participation grade.

Stephen Aiken, Dirk Grunwald, Andrew R. Pleszkun, and Jesse Willeke,
A Performance Analysis of the iSCSI Protocol”,
IEEE/NASA Mass Storage Systems and Technologies (MSST 2003),
2003, pp. 123–134

Carsten Albrecht, Rainer Hagenau, Erik Maehl, Andreas Döring, and Andreas Herkersdorf,
A Comparison of Parallel Programming Models of Network Processors”,
7th Workshop Parallel Systems and Algorithms (PASA 2004),
Lecture Notes in Informatics (LNI), Augsburg, Germany, 2004, pp 390–399

Ashwin R. Bharambe, Cormac Herley, and Venkata N. Padmanabhan,
Analyzing and Improving a BitTorrent Network’s Performance Mechanism
Proceedings of IEEE INFOCOM 2006,
2006, pp. 1–12

Mohammad Al-Fares, Alexander Loukissas, and Amin Vahdat,
A Scalable, Commodity Data Center Network Architecture’s Performance Mechanism
Proceedings of ACM SIGCOMM 2008,
2008, pp. 63–74

Pierre E. Boyer and Didier P. Tranchier,
“A reservation principle with applications to the ATM traffic control”
Computer Networks and ISDN Systems, Elsevier
vol. 24 1992, pp. 321–334

John D’Ambrosia,
“100 Gigabit Ethernet and Beyond”, commentary,
IEEE Communications,
vol.48 iss.3, Mar. 2010, pp. S6–S13

John D’Ambrosia, David Law, and Mark Nowell,
40 Gigabit Ethernet and 100 Gigabit Ethernet Technology Overview
Ethernet Alliance,
Nov. 2008

Marcus Duelk and Martin Zirngibl,
“100 Gigabit Ethernet – Applications, Features, Challenges”
Proceedings of IEEE INFOCOM 2006,
2006, pp. 1–15

W. Feng, P. Balaji, C. Baron, L. N. Bhuyan, D. K. Panda,
Performance Characterization of a 10-Gigabit Ethernet TOE
13th IEEE Symposium on High Performance Interconnects (HOTI'05), 2005,
2005, pp. 58–63

Yunhong Gu and Robert Grossman,
SABUL: A Transport Protocol for Grid Computing
Journal of Grid Computing, Springer
vol.1 iss.4, 2003, pp. 377–386

John Heidemann, Katia Obraczka, and Joe Touch,
Modeling the Performance of HTTP Over Several Transport Protocols
IEEE/ACM Transactions on Networking (TON),
vol.5 iss.5, 1997, pp. 616–630
alternate version available from http://www.isi.edu/~johnh/PAPERS/Heidemann96a.pdf

Eric He, Pascale Vicat-Blanc Primet, and Michael Welzl,
A Survey of Transport Protocols other than “Standard” TCP
Open Grid Forum Document GFD.55 (Informational), Data Transport Research Group,
23 November 2005

Juniper Networks Router Overview
JUNOS Baseline Network Operations Guide, Chap. 1, Juniper Networks,
2013, pp. 3–15

Yee-Ting Li, Douglas Leith, and Robert N. Shorten,
Experimental Evaluation of TCP Protocols for High-Speed Networks
IEEE/ACM Transactions on Networks,
vol.15, no.5, October 2007, pp. 1109–1121
alternate version available from http://www.hamilton.ie/net/eval/results_HI2005.pdf

Jiuxing Liu, Jiesheng Wu, and Dhabaleswar K. Panda,
High Performance RDMA-Based MPI Implementation over InfiniBand
International Journal of Parallel Programming,
Plenum, vol.32 no.3, June 2004, pp. 522–534

Eldad Perahia, and Michelle X. Gong,
Gigabit Wireless LANs: an overview of IEEE 802.11ac and 802.11ad’
ACM SIGMOBILE Mobile Computing and Communications Review,
vol.15 iss.3, July 2011, pp. 23–33

Venkata N. Padmanabhan and Randy H. Katz,
TCP Fast Start: A Technique For Speeding Up Web Transfers
Proc. IEEE Globecom ‘98 Internet Mini-Conference,
1998, pp. 41–46

Chunming Qiao and Myungsik Yoo,
Optical Burst Switching (OBS) – A New Paradigm for an Optical Internet
Journal of High Speed Networks, IOS Press,
vol.8 iss.1, March 1999, pp. 69–84

Miguel Á. Ruiz-Sánchez, Ernst W. Biersack, and Walid Dabbous,
Survey and Taxonomy of IP Address Lookup Algorithms
IEEE Network,
vol.15 iss.2, March/April 2001, pp. 8–23

Haoyu Song and John W. Lockwood,
Efficient Packet Classification for Network Intrusion Detection using FPGA
ACM International Symposium on Field-Programmable Gate Arrays (FPGA'05),
February 2005, pp. 238–245

Jonathan S. Turner,
Design of a Broadcast Packet Switching Network
IEEE Transactions on Communications,
vol.36 iss.6, June 1988, pp. 734–743

David E. Taylor,
Survey & Taxonomy of Packet Classification Techniques
ACM Computing Surveys,
vol.37 iss.3, September 2005, pp. 238–275,
preprint Washington University Computer Science and Engineering technical report WUCSE-2004-24

David E. Taylor, Jonathan S. Turner, John W. Lockwood, Todd S. Sproull, and David B. Parlour,
Scalable IP Lookup for Internet Routers
IEEE Journal on Selected Areas in Communications,
vol.21 no.4, May 2003, pp. 522–534

Luis M. Vaquero, Luis Rodero-Merino, and Rajkumar Buyya,
Dynamically Scaling Applications in the Cloud
ACM SIGCOMM Computer Communication Review,
vol.41 no.1#, January 2011, pp. 45–52

Damon Wischik, Costin Raiciu, Adam Greenhalgh, and Mark Handley,
Design, Implementation and Evaluation of Congestion Control for Multipath TCP
USENIX Networked Systems Design and Implementation (NSDI 2011),
March–April 2011, pp. 1–14

Yang Xiao,
IEEE 802.11n: Enhancements for Higher Throughput in Wireless LANs
IEEE Wireless Communications,
vol.2 iss.6, December 2005, pp. 82–91


Grading is on a modified curve in which students are grouped (generally by modes in the distribution). Exams, homework, and class participation will receive numerical scores; the term project will receive a letter grade (with + and – discriminators) that will be converted to a numeric value for determining final weighted average. Final grades at KU do not have the + and – modifiers. Employer reimbursement and immigration status cannot be a consideration in the final grade. The threshold indicates the letter grade guaranteed for a given numerical score regardless of the curve. That is, a numerical average of 90% will get an A regardless of the curve. Note that the curve typically lies below this, that is an A will correspond to a grade below 90%.

EECS 881 Final Grade Modes
Aexceptional exam results and outstanding project90
Bmastery of material and solid project80
Cslacking but know basic material and marginal project70
Dvery poor performance on exams or project60
Fnon-performance on exams or project, or academic misconduct in class

The relative contribution of course assignments to the overall grade is given in the Grade Weight table.

EECS 881 Grading
15%exam 1
15%exam 2
10%exam 3 (portion of final exam)
10%comprehensive portion of final exam
15%lab exercises and homework
15%paper presentation and class participation
20%term paper or project, report and presentation (extra credit possible)

If you are having difficulty in the class I strongly recommended you discuss this early and not wait until exam time. Students are responsible for understanding course drop policies and deadlines.

Assignments and Exams

ONL Laboratory Exercises and Homework Problems

Traditional (non-ONL) homework problems may occasionally be assigned.

ONL laboratory exercises will permit remote experimentation on real high-speed switch hardware and network processors.

Specific assignments and dates are located in the course offering page for a given semester. Assignments will not be graded nor receive credit unless they follow the submission requirements.


Exams will be closed book and take approximately 1/2 of a class period. The exam information page contains detailed information on the requirements, structure, and grading of examinations for this course. You must also read the academic integrity page before taking an exam.

While you are responsible for all lecture and required readings, the following list outlines some of the most important topics likely to be covered on the exams for this course.

Exam 1: Architecture and Lower Layers

Exam 2: Middle Layers; Switch and End-System Architecture

Exam 3: Upper Layers and Domain-Specific Networks

Final Exam (comprehensive portion)

Homework and Lab Exercises

There will be a series of laboratory assignments to be implemented using the Open Network Laboratory (ONL), which provides a remore GUI interface to high-performance routers at Washington University in St. Louis.

Paper Presentation and Class Participation

The class presentation and participation grade for each student will depend not only on the presentation, but also significantly on students asking insightful questions of the presentation that clearly demonstrate that the assigned papers have been read before class.



Navigation: Up: coursesPrevious: EECS 780Next: EECS 882Top: James P.G. Sterbenz

Last updated 10 April 2015 – Valid XHTML 1.1Lynx inspectedW3C AAA Conformance
©2006–2012 James P.G. Sterbenz <jpgs@eecs.ku.edu>