| Section 663-600: | |||
|---|---|---|---|
|
| |||
| Instructor: | |||
|---|---|---|---|
|
|
|||
The advent of integrated services over many forms of networks (Voice-over-IP, sensor networks, multimedia wireless services, etc...) and many forms of multimedia computing, together with the increased use of commercial off-the-shelf technology in embedded systems have raised the general awareness for real-time issues. From being traditionally confined to areas of embedded and/or control systems, where timing constraints have played an important role for a long time, real-time issues now find more and more the interest of the computing community at large. In accordance to these developments, we see real-time facilities increasingly becoming part of general-purpose computing equipment.
This course is designed to provide the student with the theoretical foundations for the design and synthesis of real-time systems and applications; it also presents criteria used to evaluate and validate such systems.
Reading material will expose the student to a small fraction of the classical literature in this area and to recent developments, the latter mostly in the communication area. This course is introductory in nature, and will not have a strong research component to it.
I will assume that you have a solid background in operating systems and networks, and a good notion of algorithms (if NP completeness is a new concept to you, please stay away from this course; I mean it) and basic queuing theory. Please be aware that the material in this course is very dense, and you won't be able to find much time to develop the required skills on the side.
Real-time computing means computing so that things get done in time. We will therefore devote much time to how to get things done in time (scheduling) and how to validate whether things will be done in time (schedulability analysis). We will then study how operating systems must be designed to support real-time computing, and how some of them are not. Finally, we will devote some time on real-time communication, and how to get it to work in terms of scheduling, architectures, and protocols.
Sometimes it is not possible to get everything to in time all the time. Nevertheless, you would like to give guarantees about how often you can get things done in time (probabilistic or statistical guarantees). We will study how to formulate such guarantees, and how to analyze systems whether they meet such guarantees.
If time allows, we will study some deterministic queuing theory. The particular flavor covered in this class will be Network Calculus, which will give you a rather general framework to analyze network elements and their deterministic services in internetworks. Be aware that this part of the course will be quite theoretical.
The material covered in the first part of the course follows very closely the textbook Real-Time Systems Real-Time Systems by Jane W.S. Liu at Illinois (then at Microsoft, now at Academia Sinica). Purchase of it is highly recommended.
The second portion of the course will follow the tutorial: Network Calculus: A Theory of Deterministic Queuing Systems for the Internet by J.-Y. LeBoudec and Patrick Thiran. This book appeared as Springer Verlag Lecture Notes in Computer Science (No. 2050), but is available in PDF form on the web as well, at this location. (This part of the course may change. Refrain from purchasing the book or print the PDF file for now. We may not get to this part of the course.)
We will have a small number of homeworks, which will give you the opportunity to play around with some of the material covered in class.
We will have two tests, one for each part of the course. These tests will be rather short, in-class, open-book. We will discuss the scheduling of these two tests in class.
By mid-semester, you will be asked to select a small number of papers from recent proceedings of the IEEE Real-Time Systems Symposium and the IEEE Real-Time Technology and Applications Symposium and to write a critical review of these papers. Details about this assignment are posted here. Also, check the Announcements portion of this web site.
An important part of this class will be a term project. Students will have the chance to pick from either one of two types of projects: