CS8803HPC : High Performance Communications

Embedded Computing MS Program – Korea University

Summer 2007 Syllabus

 

 

Meeting Times:          Wed/Fri 8:00-9:15am, location: Multimedia Classroom KU

Instructor:                   Ada Gavrilovska,

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).