Understanding Application Energy Use at a Fine-Grained Level
Myungjin Lee and Tom Anderson
Planetary-scale climate changes are becoming faster than at any point in the history of modern civilization. The global population has grown rapidly from 1 billion in 1800 to 7.9 billion in 2022. While advances in technologies improved the quality of life, it also dramatically increased energy demands, especially fossil fuels. These factors greatly influence global climate change.
The increasing salience of global climate change is leading many companies, both in the US and around the globe, to start to track the aggregate greenhouse gas emissions, both directly due to operations and indirectly through supply chains. For many sources, such as vehicle emissions and building operations, this tracking is relatively straightforward. However, the greenhouse gas implications of computing remains something of a black box. How big a problem is it, is it getting worse, what can we as engineers and computer scientists do to improve matters?
There are good reasons to be concerned. In the past with Dennard scaling, we could count on the energy efficiency per unit of computing to get better over time. Dennard scaling implied that increases in transistor density due to Moore's Law would yield a compensating improvement in transistor energy efficiency so that energy per chip was roughly constant. However, device limitations at the physical level mean that density improvements no longer produce corresponding improvements in energy efficiency.
Further, silicon chip manufacturing itself is carbon intensive - recent estimates suggest that about a quarter of a server's lifetime carbon footprint is in its manufacturing, assuming that the server is fully utilized. Even if a server is power proportional - with a low power idle mode so that power use scales up and down with demand - it is not carbon proportional once lifecycle costs are included.
On the other hand, application demand for computing continues to skyrocket, with Google estimating that machine learning has been scaling up by a factor of five per year, with no signs of slowing down. Energy use of datacenters worldwide is already significant, with some estimates suggesting that they already consume 2% of the world's electricity. While the hyperscalars have started purchasing green power in large quantities, most datacenters (and most energy use by datacenters) is in smaller scale, often on-premise, settings where green power is more difficult to obtain.
With Cisco's help and with funding from the National Science Foundation, a team of researchers at the University of Washington, Michigan, Columbia, and MIT have started a project called Treehouse to build better tools for carbon and energy accounting, as a first step to ensuring that what energy we do use is used efficiently. We already have good tools for measuring and accounting for where time goes during application execution, that tell us that a particular application function, for example, is particularly slow. We need similar tools for tracking and accounting for application energy use, down to the level of a function or remote procedure call. Of course, this will be most important for applications and systems software that operates at large scale.
How would this work? Existing power monitoring mechanisms are relatively coarse-grained, giving relatively infrequent updates of server or core energy usage. By using machine learning, we hope to be able to infer energy use at a finer grain - what is the energy use per TLB miss, or the energy use of keeping a page in the buffer cache. These are things that we can tie back to application-level decisions, such as whether a hash table or a b-tree is a more energy efficient mechanism. Although there is still quite a lot of work to do, we are committed to turning our research into open source software that can benefit the development community as a whole.
Cisco Research takes sustainability as one of its key research areas and envisions that energy will be one of core design disciplines for future applications. We put together an RFP on sustainability as a catalyst for this energy-conscious era. We strongly encourage academic researchers to propose their novel ideas to tackle this globally overarching issue. Cisco has been looking for opportunities to track and address its impacts on the environment. Cisco will continue to support and participate in innovative research projects such as Treehouse towards sustainable future.