General Info
The Real-Time Computing Laboratory

Formerly known as:

The Software Predictability Group

Department of Computer Science
The University of Virginia

Tarek F. Abdelzaher


Ph.D. Students Undergraduate Students
Ying Lu
Ronghua Zhang
Chengdu Huang
Shashi Prabh
Tibor Horvath
Qing Cao
Liqian Luo
Ajay Kulhari
Raghu Kiran Ganti

Paul Cahn
Mark Curtis
Ed Delacruz
Kyle Halliday

Matthew Nahlik
Christopher Sullivan
Vinesh Rathore
Erin Baird

(For more information, please contact me at

Research Tracks

Environmentally Immersive Programming

QoS Control

Aperiodic Real-Time

This project develops a new distributed computing paradigm suitable for sensor network applications marked by heavy interactions with an external environment. The paradigm is centered around an address space that combines logical objets and (addressable representations of) external physical objects. This project develops paradigms for feedback performance control in open environments such as the web. QoS mechanisms are addressed for the Web infrastructure. Control theory is leveraged. This project develops fundamentally new theory for real-time schedulability analysis in open systems based on aperiodic utilization bounds and synthetic utilization. Results applicable to server systems.

Web Architecture

Deeply Embedded Networking

Active Caching

This project investigates architectures for QoS on the Web. This project investigates the new network and systems challenges arising in sensor network applications due to scale, time constraints, and massive embedding into an active spacially distributed environment.

Hybrid Media Caching


Differentiated Caching

A next generation Internet service architecture is contemplated to deal with emerging application requirements. Critical QoS-sensitive applications and services such as e-commerce and streaming multimedia require a reliable, survivable infrastructure with predictable performance guarantees, fault-tolerance, scalability, adaptation, and graceful degradation. We are investigating solutions to these research problems along three dimensions: Specific tracks of the program are outlined below.

Middleware for QoS Adaptive Server Design

in collaboration with
Internet is rapidly becoming a medium for conducting business transactions and selling priced services. When financial considerations are involved a need arises for providing consumer satisfaction guarantees commensurate with service price and customer importance. Quality of Service (QoS) becomes an important consideration. Hosting current and emerging Internet services is a growing area that will need to consider QoS guarantees and provide appropriate tools for monitoring and enforcement of QoS contracts between the service host and the service outsourcing party. Today's Internet servers are not designed for QoS guarantees. Support for QoS is generally absent from both the end-system and Internet infrastructure. While, in the long term, market forces may create enough momentum to provide and use this support, in the immediate future a lot of the QoS management functionality can be achieved in a middleware layer that lies transparently between the existing service and the OS. The middleware approach can be used to provide transparent load monitoring, overload protection, dynamic quality adaptation, QoS isolation, and service differentian in web servers without modifying server code, underlying protocol, or the OS scheduling and communication resource management mechanisms. As such, the approach can be immediately deployed in the present-day Internet with no changes to the client or server. This work is conducted in collaboration with Hewlett-Packard Laboratories.

Students: Matthew Nahlik


Robust Server Farms

Present-day servers (such as web and multimedia servers) fail ungracefully under overload conditions as the number of clients exceeds server capacity causing undesirable service outage. In performance critical applications, such as e-commerce and guaranteed web hosting, poor overload behavior is unacceptable. I am investigating robust server architectures where overload behavior is predictable and robust performance guarantees are achieved. Issues that complicate building robust servers include dynamic content generation or distillation, load balancing, and interaction with back-end components such as databases which can become performance bottlenecks. A solution to the robust server problem should address issues of QoS-provisioning, QoS adaptation, and load balancing across multiple servers as well as between front-end and back-end servers.

Operating System Support for Server QoS

The recent years have seen several interesting efforts on OS support for server platforms. Servers (e.g., web or e-commerce servers) exercise their platform resources in a manner very different from clients. While many OS mechanisms have been developed to deal with performance requirements on the client side, more research is needed on server-side operating systems. The topic deals with identifying the demands and performance characteristics of server-side software and providing the necessary operating system mechanisms to meet server-side performance requirements.


Real-Time Scheduling Theory

Real-time scheduling theory is perhaps one of the most studied and well understood aspects of real-time computing. Most scheduling problems are NP-complete, which typically calls for heuristic solutions. We demonstrate that computationally tractable ``optimal'' solutions to the general problem of distributed resource constrained communicating task allocation and scheduling are also possible if the search space is appropriately defined and the search algorithm has certain desirable properties. This is reported in the papers below.

QoS-Sensitive Web-Caching

With the dramatic increase of web traffic on the Internet, proper web caching schemes become crucial to providing adequate service performance to the client. Presently, web caches treat all client requests alike without regard to client importance and available resources. In a future where Internet services are priced and differentiated service support is in place, caching policies should adapt not only to clients' access patterns but also to the importance or QoS class of clients. I would like to investigate the problem of providing statistical performance guarantees to different classes of clients via appropriate QoS-sensitive caching policies.

Students: Christopher Sullivan, Vinesh Rathore

QoS-Portable Services

A question that has faced the developers of performance-critical services for a long time is how to develop commercial guaranteed-QoS software on commercial-off-the-shelf hardware such that it provides performance guarantees on arbitrary target platforms. The answer lies partly in efficient mechanisms for adapting QoS guarantees to arbitrary platform resource types, capacity, and load. Collectively, these mechanisms will ensure QoS portability, i.e., portability of the software's performance in addition to the portability of its functionality. QoS portability is a new software engineering concern motivated by the new multimedia and guaranteed-QoS applications that need to be designed in a cost-efficient manner to run in a QoS-guaranteed fashion on platforms whose speed and resources are not known at software design time.