CS8803HPC :
High Performance Communications
Embedded Computing MS Program –
Summer 2007 Syllabus
Meeting
Times: Wed/Fri
8:00-9:15am, location: Multimedia Classroom KU
Instructor:
KACB
3228, 404 894 0387
ada@cc.gatech.edu
Office
Hours: Wed/Fri
11am-12pm
TA:
Michael Healy,
mbhealy@ece.gatech.edu
Web page: www.cc.gatech.edu/classes/AY2007/cs8803hpc_summer/
Course
Outline:
This project-based course covers issues in high-performance
communication, ranging from architecture and devices, to interconnection
networks, network interfaces and network processors, protocols and standards,
middleware support, driving applications and evaluation tools, primarily targeting
the embedded/pervasive domain. The course contains a significant student-defined
project component.
The coursework is based on a series of research papers, industry
white papers on novel products, software tools and technologies, and chapters
from select titles. The course is intended for graduate or advanced
undergraduate students with background in Architecture (e.g., CS4290/CS6290), Networking
(e.g., CS4251) or Operating Systems (e.g., CS4210/CS6210).
Textbooks:
No textbook is required for the course.
Reading material (research papers,
technology overview papers, or industry whitepapers) will be posted on the
course webpage.
Select handouts may be password protected
– username and password information will be distributed to all students at the
beginning of the semester.
Select material covered in the class will
be drawn from the following texts:
·
“High Performance TCP/IP Networking:
Concepts, Issues and Solutions”, M. Hassan, R. Jain, Prentice Hall, 2004.
·
“Ad-Hoc Networking Towards Seamless
Communication”, L. Gavrilovska, R. Prasad, Springer, Dec. 2006.
Grading:
50% project: 30% - implementation, 10% - report, 10% -
presentation;
30% two homework assignments;
20% final exam
Lecture
Topics:
Part I: Networking
The first part of the course will cover
networking topics, with a strong focus on wireless/ad-hoc networking. Topics
will include:
1.
Wireless networking overview (physical and
MAC layer, routing and discovery)
2.
Cross-layer optimizations and QoS in
wireless communication
3.
Mobility models
4.
Transport protocols, TCP alternatives, TCP
performance in wireless and mobile environments, SCTP
Part
II: Systems
The second part of the course will cover
topics related to systems software and platform features targeting both
end-user embedded devices, as well as infrastructure nodes and specialized
embedded accelerators (network processors, FPGSs,
etc.) in such nodes. Topics will include:
1.
OS kernel networking stack implementation
alternatives
2.
Network interface card design issues:
software and hardware architecture, protocol acceleration, protocol offload/splicing,
OS-bypass
3.
OS – network interface card (NIC)
interactions and on-chip interconnection solutions
4.
Power management – Performance vs. Power
trade-offs
5.
Virtualized communication services:
challenges, implementation alternatives, use cases
6.
Programmable networking – vision,
approaches, challenges
7.
Network processors overview, IXP 4xx, IXP
family – platform features, programming models, sample applications (e.g., VoIP, content-based services, broadband satellite
communication platform example)
8.
Reconfigurable hardware – communication
acceleration via FPGAs, sample applications (e.g.,
security, pattern matching)
Part
III: Services, Tools and Applications
The third part of the course will include
discussions on various higher level services (middleware, control-plane
services…), benchmarking tools and models, domain specific languages, and classes
of application domains. Topics will include:
1.
Case study of research projects focused on
high-performance middleware solutions for embedded, resource constrained environment,
addressing issues such as discovery, heterogeneity and interoperability,
customization, migration, etc.
2.
Case study of industry standards
3.
Location-based services
4.
Domain specific languages, programming and
compiler support,
5.
High performance communication benchmark
suites
6.
Experimentation and evaluation
methodologies
7.
Application case studies; specialized
application domains: vehicular, industrial embedded systems, sensor networks…
An up-to-date lecture schedule and
assigned reading material will be maintained on the course website.
Exams:
The final exam will consist of short essay
questions based on subset of the papers discussed in class. The exam time and
location will be posted on the course website. Tentative date is July 31st!.
Project:
The objective of the course project is, through implementation and
experimentation, to gain greater insight into a select problem or technology
related to achieving high-performance communication services for embedded
computing applications. Select topics of interest include
application/protocol/kernel stack splitting for multi-core platforms;
communication acceleration on programmable networking hardware (e.g., IXP
network processors); solutions which address impedance mismatches in wired vs. wireless
settings; high-performance communication services which address applications'
reliability, security and availability; resource reservation/isolation (i.e.,
virtualization) mechanisms; migration and mobility related issues; power-efficient
communications services; high performance protocols and communication (e.g.,
lightweight middleware) architectures, etc. Permissible development platforms
include simulation environments (ns2, GTNets, ARM
simulators, others), Intel's IXP 2xxx network processors, kernel-level development
on multi-core or embedded platforms, or alternate hardware (e.g., FPGAs, Cell processor, handheld devices, etc.) subject to
instructor approval.
Students may work alone or in groups of up to three students. A
project proposal, based on a list of posted project ideas or defined based on
students’ interests, will be due by the end of the fourth week of the semester.
A project report and an in-class presentation are due at by end of the
semester.
Assignments:
Assignment 1 –
Experimentation via simulation: Introduction to ns2.
Assignment 2 –
Experimentation via emulation: Introduction to Netlab
– Georgia Tech’s network emulation facility.
The intent of
the assignments is to expose the students to the respective experimentation
environments and accompanying tools. Students will be required to set up a
simple experiment and submit a report regarding the development and
experimentation process, design decisions, and measured results and
observations. Students are encouraged to work in pairs.
Homework
and Assignment Due Times:
Homeworks are due by midnight on the due
date (either by email or, if specified on the assignment, as hardcopy in class).
Complete project turn-in is due by the end of the last week of classes, July 27th!.
Late
Penalty Policy (only for homework assignments):
The late penalty policy is 5% penalty for
each day late, up to 5 days (25%).
Honor
Code:
The Institute Student Conduct Code is
printed on pages 336-339 of the GT General Catalog. You and I are expected to
abide by it. I do not deal with cases of academic misconduct in person (the
Office of the Senior Associate Dean of Students will be notified).