Many low-power devices such as smartphones, tablets, notebooks as well as several other embedded systems can't always cope with the increased demand for processing power, memory and storage required by modern applications in gaming, vision, security, robotics, aerospace, etc. As a result, most such applications are only executed on high-end servers.
RAPID tackles this challenge by taking advantage of high-performance accelerators and high-bandwidth networks. Following our approach, compute or storage intensive tasks are seamlessly offloaded from the low-power devices to more powerful heterogeneous accelerators, supporting multiple virtual CPUs and GPUs. We propose, for the first time, a secure unified model where almost any device or infrastructure, ranging from smartphone, notebook, laptop and desktop to private and public cloud can operate as an accelerated entity and/or as an accelerator serving other less powerful devices in a secure way.
RAPID offers a registration mechanism, which permits the accelerated entities to automatically find and connect to nearby accelerators with the required resources. Next, a runtime system, running on each such accelerated entity, takes into account several parameters such as the local status, the environmental conditions, the task requirements, and the status of the accelerators it is connected to in order to decide whether local tasks (or incoming tasks if the entity also acts as an accelerator) should be executed locally or remotely. Novel scheduling algorithms, admission control policies, Service Level Agreements and license policies are employed to serve multiple accelerated applications efficiently on heterogeneous cloud infrastructures.