In this semester, the syllabus will put a major emphasize on so-called network algorithmics (a.k.a.
router/switch architectures and algorithms). We will study
algorithms
and protocols used by modern routers/switches to do routing,
forwarding, address/prefix lookups, switching, scheduling, counting,
flow classification, flow monitoring and measurement, IP traceback and
other security functions, etc. Whenever possible, we focus on
general design principles rather than specific choices adopted by
particular vendors.
The pre-requisite for this course is CS 4251 here or equivalent
(An undergarudate networking course that covers OSI/ISO 7 layers and
TCP/IP will suffice). However, this is a very heavy course
because I will cover advanced algorithm techniques and will NOT have
time to refresh you on undergraduate
algorithms and data
structures. Whenever necessary, students are expected to
make up
the gap on their own. The objective is to go well beyond the
basic level of understanding that is typically offered at an
undergraduate networking course.
The
course
also
includes
a
research
project (see below).
Every student MUST fill in the course survey form and print out
and submit the "receipt page".
DRAM counters (paper
and slides)
H. Zhao, H. Wang, B. Lin, and J. Xu
Design and Performance Analysis of a DRAM-based Statistics Counter
Array Architecture
ANCS 2009
Motwani and Raghavan, Randomized Algorithms, Problem 4.6
Week-5 (Feb. 8th through 12th)
Exact Lookups and Prefix-Match
IP Lookups
Readings: Varghese
chapters 10 and 11
Week-6 and 7 (Feb. 15th through 26th)
Prefix-Match
IP Lookups and Packet
classification algorithms
Readings: Varghese chapter 12
Homework-1 (No need to turn it
in) (solution):
p15
problem
1-1,
p232
problem
10-1,
p267
problems 11-1, 11-2, 11-3, 11-5, 11-14, p397
problems 16-2, 16-3, 16-4, p300 problems 12-1, 12-2, 12-3, 12-4, 12-6,
12-7,
Hints for problem 16-4, Sec. 4.2
of the following paper offered a
solution: Zhao, Q., Kumar, A., Wang, J., Xu, J., "Data Streaming
Algorithms
for
Accurate
and Efficient Measurement of Traffic and Flow Matrices", Proc.
of ACM Sigmetrics 2005, Banff, Canada, June 2005,
p.350--361. pspdf
Supplemental problem 1: What is
the remainder when we divide the binary polynomial (257, 231, 200, 179,
150, 130} by the generator polynomial in the CRC paper G(x) = (32, 26,
23, 22, 16, 12, 11, 10, 8, 7 , 5, 4, 2, 1, 0)?
Week-8 (March 1st through 5th)
Midterm on March 3rd
Week-9 and 10 (March 8th through 19th)
Packet scheduling and QoS, Programmable Priority Encoder
Week-8 and 9: Packet scheduling
algorithms and RED/AQM
Readings: Varghese chapter-14, Midterm exam on Oct. 15th (Wed.), Oct
13-14 (Mon - Tu) is the midterm recess.
Perhaps the most exciting part of this course will be the term project.
In groups of 3-4 students, you will specify, design, and/or implement
(if
possible) something (an algorithm, hardware/software system, or
protocol) that is novel and/or requires significant effort. This project
must be related to network algorithmics. I suggest that
you look at the
recent (online)
proceedings of conferences such as SIGMETRICS, SIGCOMM, ANCS, or IMC to
get
some ideas
about novel
network algorithmics. So, start thinking
about project partners and cool project ideas!
There are some constraints however:
Your project proposal will need to be approved by the
instructor.
Talk to the instructor whenever you have a concrete idea. Do not
wait for the first project milestone.
The project will need to be sufficiently complex and appropriate
for this course. Something like a simple client-server program or a
basic routing protocol would not be challenging enough.
On the other hand, it must not be too hard either.
It should be feasible for 3-4 students
to finish the project within a couple of months.
Project milestones:
Form groups, submit 1-page project proposal: DUE ????
Final deadline - final project report submission: DUE ????
Demos: ??? through ???
The project grade will be determined at the end of the semester
taking into account all previous milestones.
These are "paper-and-pencil" problems, based both on material
we cover at the lectures and on references that you will be
asked to study on your own. We will have several (tentative) such
homeworks
during the semester. The midterm and final exams will include similar
problems with the homeworks.
Hints for problem 16-4, Sec. 4.2 of the following paper offered a
solution: Zhao, Q., Kumar, A., Wang, J., Xu, J., "Data Streaming
Algorithms
for
Accurate
and Efficient Measurement of Traffic and Flow Matrices", Proc.
of ACM Sigmetrics 2005, Banff, Canada, June 2005,
p.350--361. pspdf
All work for this class, except the group project, is to be done
individually. You are strongly urged to familiarize yourselves with the
GT Student
Honor Code rules.
Specifically, the following is not allowed:
Copying, with or without modification, someone else's work
when this work is not meant to be publicly accessible (e.g., a
classmate's program or solution).
Submission of material that is wholly or substantially
identical to that created or published by another person or persons,
without adequate credit notations indicating authorship (plagiarism).
You are encouraged to discuss problems and papers with others as long
as this does not involve copying of code or solutions. Any public
material that you use (open-source software, help from a text, or
substantial help from a friend, etc...) should be acknowledged
explicitly in anything you submit to us. If you have any doubt about
whether something is legal or not please do check with the class
Instructor or the TA.
No late homeworks, assignments, or projects will be accepted.
The deadline for each homework/assignment/project will be specified at
the
corresponding handout.