Many of the conveniences of modern life are made possible by embedded computing systems. This project is developing new methods to make such systems use their limited resources more efficiently, increasing performance, reducing costs and energy requirements.

Modern general-purpose computers (PCs, servers, etc.) owe most of their high processing speed to caches. These memory system components fetch data from the slow (but inexpensive) main memory for the fast processor before it even realizes it needs it. Unfortunately the performance offered by caches is very difficult to guarantee, greatly complicating the prediction of a program's worst-case performance. This prediction is essential for a broad class of embedded and control systems ? those with real-time requirements. Such systems must respond to inputs before a deadline elapses or else something will fail. Hence such systems must be over-provisioned to cover the ?margin of ignorance?, raising costs and energy requirements.

This project is developing methods to provide memory accesses as fast as with a cache, but without any of the timing uncertainty, making this technology suitable for real-time systems. The research team uses a unified approach which cuts across compilers, operating systems, and computer architecture to create a much more efficient solution than possible by considering the problems separately. The fundamental insight is that by limiting preemption among threads, one can reduce the total memory required, allowing more data to be stored in fast memory. This speeds thread execution, allowing further reduction of preemptions (and hence memory requirements) leading to a repeatable, virtuous cycle.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Network Systems (CNS)
Application #
0720797
Program Officer
D. Helen Gill
Project Start
Project End
Budget Start
2007-08-01
Budget End
2012-01-31
Support Year
Fiscal Year
2007
Total Cost
$180,000
Indirect Cost
Name
North Carolina State University Raleigh
Department
Type
DUNS #
City
Raleigh
State
NC
Country
United States
Zip Code
27695