CS8803HPC: High Performance Communication
Korea Embedded Computing MS Program
Summer 2007
KU time: WF: 8-9:30am, GT time: TTh: 7-8:30pm
Location: TBA
Announcements:
- Final Exam will be on Tuesday, July 31, 9-11am, in the classroom.
- Project Report is due by Thur. Aug. 2, midnight Korea time. No extensions will be granted.
- Project Presentations Friday Jul. 27, in class. Be prepared for 15-20min per group.
- Study Guide for Final
- classes on Wed. 7/25 and Fri. 7/27 will start at 9am - I'm in Korea
- Homework Assignment 2 is online -- due July 15th at 11:59pm
- reminder: Project Proposal is due on Fri. June 8, Homework 1 is due on Sun. June 10
- no class on: June 6, June 20, July 4, July 6, July 20
- Michael will give an ns2 tutorial,
Monday, June 4, @ 2pm Friday, June 1, @4:30pm, in the Science Annex Building Computer Lab -- NOTE TIME/DATE CHANGE!
- Ada will be gone until July 22. Classes will be distance-learning mode, at 8am
- Details on Class Project
- Homework Assignment 1 is online -- due June 10th at 11:59pm
- Classes on May 23, 25, 30 and June 1 will start at 9am
- Ada will be spending the first three weeks of the semester at KU, and will be doubling on the lectures while there
Basic Information:
- Instructor:
Ada Gavrilovska, KACB 3228, 404.894.0387
ada at cc.gatech.edu
Office Hours: WF, 11-12pm, KU Sciene Library Building, RM. 510B, or by appointment
Teaching Assistant: Michael Healy, mbhealy at ece.gatech.edu
Office Hours: TTh, 12:30-2pm, Science Annex Building Computer Lab, Rm 106, or by appointment
- Syllabus
- Textbooks:
There is no textbook required for this class. Electronic copies of research papers and white papers covered in class will be available online. Handouts will be provided for material not available in electronic form.
Select material covered in class will be drawn from the following texts:
- High Performance TCP/IP Networking: Concepts, Issues and Solution, M. Hassan, R. Jain, Prentice Hall, 2003.
- Ad-Hoc Networking Towards Seamless Communication, L. Gavrilovska, R. Prasad, Springer, 2006.
For information on programming the IXP2400s, in addition to the documentation provided with the Software Development Kit, the Intel Press titles on IXP2400/2800 development and programming are recommended.
- Grading:
- two homework assignments: 30%
- class project: 30% - implementation, 10% - report, 10% -presentation (total of 50%)
- final exam: 20%
- Assignments:
- Project:
The objective of the course project is via 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 mutli-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 (e.g., virtualization) mechanisms; migration and mobility related issues; power-efficient communication services; high-performance protocols and communication architectures (e.g., lightweight middleware), etc. Permissible development platforms include simulation environments (ns2, GTNets, ARM simulators), Intel IXP 2xxx network processors, kernel-level development on multi-core or embedded platforms, or alternative 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 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 by end of the semester.
- Final Exam:
The final exam will consist of short essay questions based on a subset of the papers discussed in class. The exam time and location will be posted on the course website. Tentative date is July 31st!
Lecture Schedule:
The lecture schedule will be updated throughout the semester.
Part I: Networking
The first part of the course will cover networking topics, with a strong emphasis on wireless/ad-hoc networking.
Wireless Networking Overview: May 16, May 18
- Overview of standards, physical and MAC layer, routing protocols. (handout)
- Understanding Congestion in IEEE 802.11b Wireless Networks (reference only)
Cross-layer Optimizations and QoS: May 18, May 23
- Overview of approaches. (Cross-Layer handout, QoS handout)
- An Overlay MAC Layer for 802.11 Networks [slides]
- Supporting Service Differentiation for Real-Time and Best Effort Traffic in Stateless Wireless Ad Hoc Networks (SWAN) (reference only)
Mobility: May 25
- Overview of approaches. (handout)
- Comparison of IP Micro-mobility Protocols
- Towards Realistic Mobility Models for Mobile Ad Hoc Networks (reference only)
Transport: May 30, Jun 1
- Overview of TCP variations. TCP performance in mobile and wireless
- Analysis of TCP performance over Mobile Ad Hoc Networks
- Improving TCP Performance over Mobile Ad Hoc Networks By Exploting Cross-Layer Information Awareness (refernce only)
- Improving TCP Performance over Wireless Networks with Collaborative Multi-homed Mobile Hosts (reference only)
- SCTP. SCTP in wireless. (if interested, here is a tutorial on SCTP)
- SCTP - A Multi-Link End-to-End Protocol for IP-based Networks
- Evaluation of SCTP over Wireless/Satellite Links (reference only)
- A Study of SCTP Services in a Mobile IP Network (reference only)
Part II: Systems and Platforms
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 (e.g., FPGA, network processors) in such nodes.
OS and Protocol Stack Implementation: June 13, June 15
- OS-level optimization techniques for high performance IO (handout)
- Full TCP/IP for 8-bit Architectures
- Protocol stack splitting for multicore platforms
Power and enegergy efficiency: Jun 22
- Wireless Wakeups Revisited: Energy Management for VoIP over Wi-Fi Smartphones
- Ghosts in the Machine: Interfaces for Better Power Mangement
Virtualization: Jun 27, Jun 29
- High Performance and Scalable IO Virtualization in Self-Virtualized Devices (Sec. 1 and 2)
- A Hypervisor for Embedded Computing
- VirtualLogix approach (reference only)
Programmable Networking: Jul 11
- Click: Modular Router
- A Survey of Programmable Networks (reference only)
Infrastructure Acceleration: Jul 13, Jul 18
- Network Processors, NP overview, applications (handout)
- A Highly Flexible, Distributed Multiprocessor Architecture for Network Processing
- Reconfigurable Hardware, FPGAs, overview, applications (security, pattern matching) (handout)
- SIFT: Snort Intrusion Filter for TCP
Part III: Services, Tools, 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 applications.
Potpourri: Jul 25
- Efficient and Transparent Dybamic Content Updates for Mobile Clients (except 3.4, 4.1)
- Rethinking Wireless for the Developing World (presentation)
- WiLDNet: Design and Implementation of High Performance WiFi Based Long Distance Networks (reference only)
- A Comparative Study of Data Dissemination Models for VANET (except 3.3)
- CarTel: A Distributed Mobile Sensor Computing System (reference only)
- CogNet - An Architecture for Experimental Cognitive Radio Networks within the Future Internet (reference only)
Services:
- Middleware solutions for wireless, mobile environments. Case study.
- Location-based services.
- Application acceleration
Tools:
- Evaluation: Jigsaw: Solving the Puzzle of Enterprise 802.11 Analysis
- Evaluation and simulation
- Domain specific languages
Specialized Application Domains:
- GPRSWeb: Optimizing the Web for GPRS Links
- Communication in industrial embedded systems
- Communication in vehicular applications
- Sensor networks
Resources: