Computing devices with multiple processing cores are now the norm. Most smartphones, tablets, game consoles, and of course personal computers and servers, can process software tasks in true parallel fashion. This trend will keep on going, and the number of cores per device will grow to dozens and hundreds, which will enable us to run more complex applications, and more of them at the same time. However, balancing the load imposed by the multiple applications over dozens or hundreds of cores is not trivial.
For example, a system with 20 application tasks and 2 cores can have 380 distinct allocations of tasks to cores, but simply by increasing the number of cores to 4, the number of possible allocations becomes 116280. Going further, the number of possible allocations of a system with 25 tasks and 25 cores is larger than the number of stars in the observable universe! DreamCloud’s mission is to develop novel load balancing mechanisms that can be applied during runtime in a wide range of manycore systems, allowing for a fine-tuning of the trade-off between performance guarantees and system efficiency according to the application needs. Such mechanisms will be organised in distinct types of cloud-like system software infrastructure that will manage the workload on different kinds of systems.
Embedded Clouds will be used in systems with time-critical behaviour (such as the flight control in an aircraft), allowing for restricted load balancing and privileging strict performance guarantees. Micro Clouds will rely on novel extensions to operating systems and virtual machines, allowing for dynamic migration of threads or full virtual machines from one core to another. Finally, High Performance Clouds will balance highly dynamic workloads, aiming for full utilisation of the underlying platform but at the same time providing performance guarantees to selected applications. A number of techniques will be explored as the underlying allocation heuristics, including bio-inspired and market-inspired techniques and control-theoretic closed loop mechanisms.
The project includes case studies in three different domains – automotive, digital video streaming and scientific computing – aiming to validate the three types of cloud infrastructure developed within the project. The aim is to deliver a well-tested library of reference implementations of load balancing mechanisms that can be applied to domains with similar workloads and requirements (e.g. aerospace, gaming). Through the dissemination activities industrial project partners like Bosch, and industry standardisation efforts of The Open Group with over 400 members, the reference implementations will facilitate the adoption of the new load balancing technologies by different industries, which will finally be able to deliver products based on more efficient and predictable manycore devices. These advances will result in lower costs and increased reliability of manycore devices for consumers.