Tuning software for improved performance/power is often extremely difficult because one cannot easily observe the entire inner workings and power consumption of running hardware at a fine time resolution. Thus, determining the root cause of performance and power issues can often only be done by careful crafting of experimental code, running that code, and measuring the limited information that can be observed.
This proposed research is aimed at designing a new class of very fast and accurate simulators that, with proper instrumentation, can provide significantly more visibility than the modeled hardware. However, such simulators can result in information overload, making finding the issues difficult. Thus, the PI proposes to investigate methods to effectively and automatically find such issues so that they can more quickly and easily be addressed. Such methods could result in more efficient computer systems that can solve problems faster and/or use less energy, potentially impacting hardware and software developers and users alike.