This project strives to improve the state-of-the-art in architectural simulators in two ways: (i) by enabling users to determine if an architectural simulator correctly models the key aspects of a real hardware system; and (ii) by helping simulator implementors to identify weaknesses in their simulators. This problem is critical because much architectural research today uses simulations; if the simulators are not accurate then the results from the simulator may be misleading. Prior work validates simulators by using aggregate metrics (e.g., do the simulator and the real hardware execute a program in a similar number of total cycles?). This validation does not consider whether or not the simulator and the hardware exhibit similar time-varying behavior.

A key innovation of this project is that it embraces techniques from the field of non-linear dynamics. These techniques are well suited for computer systems for two reasons. First, computer systems are non-linear at all levels (e.g., the cost of a cache miss is not fixed and instead depends on many factors) and thus linear techniques will be of only limited use. Second, many aspects of computer systems are unknown (e.g., the hardware manufacturer may not reveal the full specifications of the hardware) or unmeasurable (e.g., it may not be possible to measure how often a particular event occurs deep down in the hardware). Non-linear dynamics techniques are specifically designed to deal with such missing information.

Project Report

With the NSF's support of this project, we succeeded in developing a new way to study computer systems and we applied those methods to a variety of machines. During this study, we obtained the first experimental evidence of dynamical chaos in these critical engineered systems. In mathematics, the word "chaos" does not have the same connotations as it does in general use; rather, it describes systems that are predictable, but extremely sensitive to small perturbations. The classic example of this is the "Butterfly effect," where the perturbation of the butterfly's wings grows into a hurricane. In a running computer, this translates into difficulty in predicting the machine's behavior - something that computer engineers must do in order to produce good designs. However, there are some ways to work around this challenge and produce good predictions, even in the face of this kind of sensitivity. That insight was another important outcome of this project, along with the mathematical framework and applications described above. Another key outcome was the training of a group of students, ranging from sophomores to senior graduate students, in the art of interdisciplinary research. This project produced a dozen research reports and papers, as well as two Ph.D. theses, and launched half a dozen students into research careers in the STEM discipines.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Network Systems (CNS)
Application #
0720692
Program Officer
M. Mimi McClure
Project Start
Project End
Budget Start
2007-09-01
Budget End
2012-08-31
Support Year
Fiscal Year
2007
Total Cost
$412,000
Indirect Cost
Name
University of Colorado at Boulder
Department
Type
DUNS #
City
Boulder
State
CO
Country
United States
Zip Code
80309