tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";} tt {mso-bidi-font-family:"Courier New";}

CPSC 663 -- Real-Time Systems (Fall 2004)


Time:

MWF 11:30am – 12:20pm

Location:

104 Harvey R. Bright Bldg

 

Instructor:

Teaching Assistant:

 

Riccardo Bettati
509C Harvey R. Bright Bldg
979-845-5469

 

Guantong Cao

519C Harvey R. Bright Bldg

979-862-4535

 

e-mail: bettati@cs.tamu.edu

 

e-mail:  g0c7670@cs.tamu.edu

 

Office hours: MW 1:30pm-2:30pm, or by appointment

 

Office hours: MW 2:30pm – 3:30pm



News

  • Sep 28: New slides on Priority-Driven Scheduling and Resource Access Protocols posted.
  • Sep 22: The course Wiki page should be operational. Please check it out and let me know if there are problems.
  • Sep 22: Due date for HW1 has been extended to Friday, Oct 1. (Note that a new HW will be posted on Monday, Sep 27)
  • Sep 14: HW1 is posted.
  • Sep 9: Information about TA posted.
  • Sep 9: Slides on Scheduling Approaches updated.
  • Aug 26: Check this place for news regularly.

Course Overview

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.


Prerequisites

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.


Material Covered in this Course

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.

First Part (Real-Time Systems)

  • Deterministic processor scheduling: system characterization, cyclic executives, priority scheduling, non-periodic workloads.
  • Schedulability analysis: utilization-bound tests, time-demand tests.
  • Real-time synchronization: priority inheritance protocols, priority ceiling protocols, multiprocessor priority ceiling protocols, and alternatives to classical synchronization protocols.
  • Non-periodic workloads.
  • Real-time operating systems: issues, case studies.
  • Introduction to real-time communication.
  •  
  • Probabilistic Guarantees

Second Part (Network Calculus)

  • Min-plus and Max-plus Calculus
  • Min-plus and Max-plus System Theory
  • Network Calculus
  • Applications to the Internet

Required Reading

The material covered in the first part of the course follows very closely the textbook Real-Time Systems by Jane W.S. Liu at Illinois (now at Microsoft). 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.)


Homeworks

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.


Exams

We will have two tests, one for each part of the course. These tests will be rather short, in-class, open-book. The midterm exam will tentatively be held on October 15, in class. A second (minor) exam will tentatively be held on December 6, in class.


Reading Assignment           

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 will follow. Check the News portion of this web site.

 


Projects

An important part of this class will be a term project. In a few weeks I will be distributing a list of smaller research problems. In addition, I will make available a Request for Solutions. Students can then choose to either attempt to solve a research problem or respond to the Request for Solutions.


Assessment Method

Ideally, grades will be assigned along the following lines:

  • A: Understanding of the material presented in class and in the literature. Strong indication of ability to independently develop new ideas based on material learned in class.
  • B: Good understanding of material presented in class and in required reading.
  • C: Unsatisfactory understanding of material presented in class and required reading.
  • D: ....


Back to Bettati's Homepage.

 


Riccardo Bettati


Last modified: 9/28/2004 12:20 AM