To date, most attempts to manage the costs and patterns of IT related energy consumption have focused on events and processes at the infrastructure layer. It is generally recognized that infrastructure level energy consumption management could end up frustrating the legitimate power consumption demands of business critical applications while oversupplying energy to applications that are relatively unimportant. Nonetheless, analytics technologies and techniques do not, as yet, appear capable of delivering sufficiently robust application process/event to infrastructure process/event correlations to allow us to manage energy consumption at the application level.
In a recent post, I discussed computational complexity in relationship to market equilibrium discovery algorithms and it has occurred to me that computational complexity considerations could be used to guide enterprises in their attempts to determine energy consumption at the application level. In essence, an algorithm’s computational complexity is a measure of how the time and/or space it requires to execute grows with the size of the representation of its input. It is relatively easy to segregate algorithms into a sequence of classes of heightening complexity and applications can be described in terms of the algorithms that they contain. Hence, one can determine which algorithms contained within an application are likely to be invoked. On this basis, an application’s ‘complexity profile’ can be constructed as a function of the frequencies with which its usage requires the invocation of its high complexity algorithms.
So what? Well, an application that frequently executes high complexity algorithms is either consuming comparatively large quantities of space and/or compute time to accomplish its goals and a such a consumption is an excellent proxy for the amount of energy, the application is likely to consume. In other words, when looked at from a slightly different perspective, the entire body of computational complexity research is really a study of how algorithms consume energy and, hence, could serve as a source of guidance for application level energy management.
Comments or opinions expressed on this blog are those of the individual contributors only, and do not necessarily represent the views of Gartner, Inc. or its management. Readers may copy and redistribute blog postings on other blogs, or otherwise for private, non-commercial or journalistic purposes, with attribution to Gartner. This content may not be used for any other purposes in any other formats or media. The content on this blog is provided on an "as-is" basis. Gartner shall not be liable for any damages whatsoever arising out of the content or use of this blog.