CALOREE Balancing: UChicago CS Paper Named IEEE Micro Top Pick
Computers are not like other machines. When engineers design a new airplane or chemical plant, they can optimize the performance of their creation for the desired level of energy consumption using the principles of control theory. But while many devices or engineered systems must do one, predictable thing well, computers are expected to perform a broad range of tasks, often simultaneously. A simple, one-size-fits-all controller just won’t do.
To meet this challenge, UChicago CS researchers combined control theory with machine learning to create a new kind of “intelligent” resource manager called CALOREE: Control And Learning for Optimal Resource Energy Efficiency. Their 2018 ASPLOS paper, authored by graduated PhD students Nikita Mishra and Connor Imes with associate professor Hank Hoffmann and John Lafferty of Yale University, was recently given honorable mention in IEEE Micro’s 2018 Top Picks, an annual roundup of the most significant scientific advances in computer architectures.
“CALOREE’s approach uses machine learning to find the best tradeoff between computer performance and energy efficiency and combines it with the advantages of control theory, which can nimbly respond to changes in the environment,” Hoffmann said. “In essence, it helps computers reconfigure themselves on the fly to match demand, with no prior knowledge or input.”
When writing software, a developer might choose to pre-determine resource usage that provides fast performance without excessively draining a computer or phone battery. But when used on different types of hardware — such as a single-core versus a multi-core processor — or in dynamic situations — such as executing on its own versus running at the same time as several other programs — this out-of-the-box configuration is likely to suffer in either speed or energy use.
Researchers have tried to solve this problem by using machine learning to model an application’s latency and power usage to find the optimal settings given a particular resource pool. But this approach isn’t effective for a moving target, where the resources available are constantly changing. Enter control theory, which can compare expected and measured behavior and make the necessary changes to optimize the performance/energy tradeoff, or other desired tradeoff priorities.
CALOREE makes it possible to combine these two approaches. Running in the background each time an application is launched, the resource manager first constructs a learned model predicting how different configurations will affect performance and energy usage, then feeds that model to a controller, which uses it to make configuration decisions as conditions change. For example, a video encoder showing low-motion scenes can utilize fewer resources, then adjust for high-motion scenes that need more resources, neither sacrificing performance or wasting energy.
In the 2018 paper, the authors found that it beat other approaches for both application performance and energy savings on an eight-core processor, but subsequent research has proven its value on everything from smartphones to servers.
“Earlier works have been mostly heuristic, whereas we provide a more principled approach of solving this problem along with theoretical guarantees. I think the generalizability of our approach makes it very useful and therefore it was chosen for the Honorable Mention,” Mishra said. “I think servers running a few big jobs at a time, or phones optimizing for a single user-facing application at a time, are probably the best-suited candidates to use this approach.”
In addition to its acceptance at ASPLOS and its recognition by IEEE Micro, the CALOREE project has also played an important role in Hoffmann’s broader Self-Aware Computing framework, which has attracted attention in the tech world. The research also prepared Mishra for her current role at Twitch, where she builds machine learning systems for search and discovery.
“At Twitch, I am currently working in the search team as an Applied Scientist,” Mishra said. “My role is to improve the accuracy of the search engine. We used a lot of concepts in machine learning in this project and all that knowledge is completely transferable in my current role. We had a to do a lot of model tuning and data wrangling to get to this machine learning model. So, everything I learned in this project is helping me now.”