Power Efficiency

I was hoping to write a brief two part overview of how to configure the various power settings for the Intel® Xeon Phi™ coprocessor. It was going to be concise and brief, allowing me to get on to the next topic. Unfortunately, as I dug into the topic further, I discovered that much of it is not very well documented. I found myself essentially writing quite a bit of explanation.

As usual, I am starting off writing this as a series of blogs. At a later point, I will reformat the blogs into a more formal article with any semblance of humor removed.

Developers have substantially improved the performance and power usage of websites and the browsers themselves in recent years. However, this improvement is limited to the factors that browsers can control. Web developers also have a significant ability to improve the performance and power of their websites by making efficient use of resources.

Today any review of a new processor whether it’s used in a desktop computer, a laptop, a tablet or a phone will contain lots of information about how efficient it is and the new technologies that have been used to achieve this performance. Operating system developers spend large amounts of time optimizing improve efficiency and extend battery life, but what can be done by someone who is designing an application and wants to ensure it runs as efficiently as possible? The aim of this sample is to provide insight into how features in a game can affect the power efficiency of the hardware it’s running on including the importance of frame rate capping, the effect of bandwidth on power and the cost of running asynchronous CPU work. The sample also demonstrates a way an application can adjust its workload to prolong a system’s battery life when it detects a change from AC power to battery, how aggressive the change is can be adjusted based on the currently active windows power scheme.

Power consumption is a common and growing concern in large compute installations, whether they be HPC, Cloud or Enterprise: facility power and space limitations are making it increasingly difficult to support the explosive growth of computational needs. Thus we need to dig deeper on how to best reduce power consumption at multiple levels, from hardware to software. In this article I will describe some of the known approaches and tools available to tackle this challenge.