Usually, talk of improving energy efficiency in the data center revolves around virtualization, consolidation and improved management of power and cooling systems. This is only natural considering hardware systems are what actually consume the energy.
But a growing number of voices are starting to question whether software should play a greater role in the green effort. After all, software drives the functioning of hardware, and the more cleanly and efficiently it can get the job done, the less stress is placed on physical resources.
This is especially true in the age of multicores. A lot already has been written about the need for parallel programming in multicore environments, but as tech journalist Ed Sperling points out in Forbes, there are a number of other ways software can be tweaked to draw down energy usage. Chief among them are techniques to separate the OS across multiple cores and dedicated specific cores to specific functions -- methods already being employed in some laptop and smartphone applications.
Signal-processing environments also are seeing tighter integration between the multicore hardware and software layers -- a move that is at once improving data-networking speed and lessening the energy draw from enterprise networking components.
For example, Wind River and LSI are collaborating on a new set of solutions aimed at optimizing the interplay between the Wind River Linux and VxWorks operating system and the Axxia communication processor. The goal is to foster an environment that can handle higher packet loads and more easily incorporate board support systems like the Wind River Workbench and on-chip debugging systems.
At the same time, Cavium Networks is increasing the number of MIPS64 cores in its Octeon family to 32 and has added a shared software compiler and development kit that enables software written for two cores to run on the eight-, 16- and 32-core designs. On-chip dynamic power management that adjusts voltage levels according to processing loads are also included.
And although multicore programming remains a challenge, Java developers at least may be on the verge of a breakthrough. A French company called Ateji says it has a new solution for building parallel applications at the language level, promising a more intuitive development process. The Ateji PX integrates into the Eclipse IDE and requires only a short learning curve to get developers familiar with the additional parallel constructs.
In an age where even miniscule gains in energy efficiency can translate into significant savings, it only makes sense to pursue those gains on both a hardware and a software level. When it comes to spreading data loads out over multiple cores, however, the benefit is more than just improved energy use -- it means putting to work significant computing power that otherwise would be sitting idle.