How server disaggregation could make cloud datacenters more efficient

Standard servers are wasteful of resources, but future systems may be configurable to match the requirements of the workload

The growth in cloud computing has shone a spotlight on datacenters, which already consume at least 7 percent of the global electricity supply and growing, according to some estimates. This has led the IT industry to search for ways of making infrastructure more efficient, including some efforts that attempt to rethink the way computers and datacenters are built in the first place.

In January, IBM researchers presented a paper at the High Performance and Embedded Architecture and Compilation (HiPEAC) conference in Manchester on their work towards disaggregated computer architecture. This work is part of the EU funded dReDBox project, part of the Horizon 2020 Research and Innovation programme.

Disaggregation means separating servers out into their constituent compute and memory resources so that these can be allocated as required according to the needs of each workload. At present, servers are the basic building blocks of IT infrastructure, but a workload cannot use more memory or CPU resources than are available in one single server, nor can servers easily share any spare resources outside their own box.

“Workloads deployed to datacenters often have a big disproportionality in the way they use resources. There are some workloads that consume lots of CPU but don’t need much memory, and on the other hand other workloads that will use up to four orders of magnitude more memory than CPU,” said Dr Andrea Reale, Research Engineer for IBM.

Across the datacenter, this means that some servers will be utilizing all their CPUs but still have lots of spare memory, while for others it will be vice versa, and these resources continue to suck power even if they are not being used. According to Reale, about 16 percent of CPU and 30 percent of memory resources in a typical datacenter may be wasted this way.

But what if you could compose servers under software control to have as many CPUs and as much memory as each particular workload requires?

To continue reading this article register now