![](https://www.techmonitor.ai/wp-content/uploads/sites/29/2016/10/HPE-Synergy-Datacenter-view.jpg)
Researchers at the University of Lancaster in the UK have developed a smart self-assembling software system intended for use in data centres.
Dubbed REx, the system can quickly self-assemble and adapt to several tasks data centre servers manage without human involvement, improving server efficiency and energy saving.
Researchers said it is a complete platform with an online learning approach for runtime emergent software systems, in which all decisions about the assembly and adaptation of software are machine-derived.
REx uses a technique called micro-variation; different implementations of small software components such as memory caches with several cache replacement strategies or stream handlers that do or do not use caching.
It is built with three integrated layers which include the component-based programming language Dana; a perception, assembly and learning framework (PAL) and an online learning implementation based on a linear bandit model, which helps solve the search space explosion problem inherent in runtime emergent software.
The system starts with no knowledge that it is specifically assembling a web server, nor with knowledge of the deployment conditions that could take place at runtime.
To higher layers of REx, Dana provides the API that includes load and unload a component into or out of memory; get the set of interfaces of a component;
It also connects a component’s required interface to another component’s provided interface; and adapts a component’s required interface to connect to an equivalent provided interface on a different component.
Researchers said if the target system is already assembled in a particular configuration, a command to re-assemble it into a different one uses our adaptation protocol to seamlessly shift to the alternative.
Beginning from the main component of the target system, the assembly module walks via the inter-component wiring graph to identify the difference points between the existing configuration and the new one.