Community Research and Development Information Service - CORDIS

H2020

RAPID Report Summary

Project ID: 644312
Funded under: H2020-EU.2.1.1.3.

Periodic Reporting for period 1 - RAPID (Heterogeneous Secure Multi-level Remote Acceleration Service for Low-Power Integrated Systems and Devices)

Reporting period: 2015-01-01 to 2016-06-30

Summary of the context and overall objectives of the project

Many low-power devices, such as smartphones or tables, as well as several other embedded systems cannot always cope with the increased demand for processing power, memory and storage required by modern applications. As a result, most of these applications are only executed on high-end servers. According to Ericsson Mobility Report, there have been 7.3 billion mobile subscriptions in 2015, with an estimation of 5% increase for the next 5 years. Furthermore, the smartphone data traffic is expected to increase by 8.9% in the following 5 years. Users keep demanding more features and services from mobile applications developers. To be able to satisfy users’ demands, developers offload the heavy operations of an application to more resourceful machines, such as private or public cloud, giving birth to a new research area known as Mobile Cloud Computing.

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.

Moreover, compared to the existing cloud solutions, the RAPID-based infrastructure will be the first to offer virtual GPUs (i.e. a physical GPU can be used by many virtual machines in parallel) in order to share more efficiently the cloud resources between several mobile applications. RAPID will be the first to bridge the gap between the two worlds of task-based cloud offloading and GPU-based cloud technology. In this way, contrary to existing cloud solution, where GPUs are used only for rendering, the RAPID GPUs will be used in several other domains ranging from robotics and biometrics to CCTV and entertainment.

By improving the efficiency of mobile devices (ranging from smart phones, smart glasses, smart watches to robots, smart cameras and laptops), RAPID can play an important role in society. RAPID will contribute to the evolution of energy-efficient devices by making them smarter (i.e. more power efficient) and by extending their battery lifetime. These devices have impacted and will continue to impact all walk of human life.

The prominent areas, where the impacts of smart devices are obvious include business, education, health and social life. Several applications in entertainment, security, vision, and robotics such as gaming, antivirus, augmented reality, face and speech recognition, movement detection, biometrics, and CCTV can take advantage of the RAPID infrastructure. With the appearance of more smart device, such as smart-glasses and smart-watches, mobile technology will further change the cultural norms and behavior of individuals. Thus it is becoming more and more urgent to improve the capabilities of such low-energy devices.

By 2020, it is projected by international experts that humans will be highly dependable on robots much as they are depending on mobile phones today. Automation currently exists in areas such as water management or unmanned aircraft that fly and shoot missiles, but whole new areas of robot use will open up in future. One such use will be in a medical context, as exoskeletons to help disabled people move, helping to make them less dependent on others. Even more significant will be the insertion of robots into our bodies, such as intelligent implants in the brain, which will improve our rational thought, and nanorobots to be released into the blood to clean our arteries. Another important role will be the replacement of people working in the areas of security, surveillance or defense. RAPID can play a key role in the fast development of all these technologies.

RAPID targets to make it technically feasible and economically viable to conceive, design and deploy an innovative heterogeneous cloud acceleration service for low-power devices. To do this, the main objectives of the project are the following:
• Produce a novel platform providing the necessary technical support, and acting as an open, common basis for both developers and end-users.
• Carry out support activities promoting widespread acceptance and adoption of this highly innovative platform. These activities form an integral part of the project and will start at an early stage.

These two objectives are highly interdependable since the widespread acceptance of the platform is closely related to the novel characteristics and the efficient implementation of the RAPID prototype platform. In response of the first main objective, RAPID will define a pioneering, generic, easy-to-use, secure design framework for accelerating applications running on low-power devices in an energy efficient way. The project objectives are described in more detail in the Project Technical Report.

Work performed from the beginning of the project to the end of the period covered by the report and main results achieved so far

The work carried out in the first reporting period is described in the Periodic Technical Report (PTR) in detail. In summary RAPID has finished the Specification phase in M9 and it is now in the middle of the Implementation phase (M8-M28) as shown in the first attached figure (rapid_timeplan.jpg). The second attached figure (rapid_architecture.jpg) shows the various components of the RAPID infrastructure. Within WP6 the hardware for the first RAPID cloud was procured and the required infrastructure was deployed in SILO. WP5 has provided the execution environment for the accelerated tasks. The available resources of the cloud are monitored (T5.1) and provided to the Directory Server (T5.2). In the specification phase we decided to give more emphasis to the Directory Server which is the main work undertaken by Queen's. The first version of the RAPID server shown in the Figure has already been installed on SILO's cloud infrastructure and it is available to the RAPID partners. Moreover within WP4 the first version of the RAPID client has already been developed and recently the Dispatch/Fetch Engines (T4.2) and the Design Space Exploration mechanism (T4.1) were developed. This allows to have the first communication between RAPID clients and the RAPID server and to develop the first simple demos. In parallel, GVirtus has been extended to support more CUDA instructions required by the applications of RAPID and it has been integrated in the RAPID platform. This allows to offload CUDA-based tasks.

The source code (including the demos) is available in github.
Main Repository: https://github.com/RapidProjectH2020
Demos: https://github.com/RapidProjectH2020/offloading-framework-android

The RAPID applications (T2.3-T2.4) have been rewritten using a client-server model in order to offload tasks remotely without using the RAPID infrastructure. The performance has been analyzed (T2.2) and it will be compared with the performance achieved when using the RAPID infrastructure. The Kinect Hand Tracking application has already been partially ported to the RAPID platform.

We have proactively started working on WP7 while RAPID specifications target a smooth integration of the work provided during the implementation WPs. Essentially we have started integrating the various components since GVirtuS already works in the RAPID environment which is installed on SILO's cloud and we can run the first simple applications.

The work carried out in each WP is further summarized below:
• WP1 (Coordination and Management) is responsible for the coordinated action of the beneficiaries and has monitored the progress of the project deliverables. We have organized 5 face-to-face meetings, 5 technical telcos, and 16 monthly meetings so far.
• WP2 (Applications and Requirements) has investigated applications that can benefit from the proposed infrastructure and have further defined the system requirements focusing on three applications; Kinect 3D hand tracking, BioSurveillance, and antivirus. These applications are currently available for CUDA-based high-end servers. The applications have been ported to a client-server model in order to compare the results with the final RAPID-based architecture. A portion of the applications have been ported to the existing version of the RAPID infrastructure.
• WP3 (Specifications) has defined the specifications of the RAPID architecture, including the Acceleration Client, the Acceleration Server and the cloud infrastructure, based on the application requirements and the objectives defined by the project.
• WP4 Acceleration Client & Compiler deals mainly with the Acceleration Client, the Dispatch and Fetch engines, which are used to automatically select tasks and offload them to the cloud, as well as the registration and security mechanisms. Moreover, an easy-to-use programming model and API has been defined and the associated Acceleration Compiler has been developed. SILO's cloud infrastructure has been used for testing the Dispatch and Fetch engines.
• WP5 (Acceleration Server Core) has developed the core functionalities of the Acceleration Server that mainly deals with the monitoring of the server's status and the execution of the incoming tasks. The Directory Server is still under development but it will soon be integrated with the rest of the platform. A first version of the Execution Engine and the Directory server are available in github.
• WP6 (Accelerator Infrastructures) deals with the development of the accelerator infrastructures. In particular, we have already our first RAPID private cloud which is used by the partners of the project. The status of the cloud is monitored and the results are sent to the Directory Server.
• WP7 (Integration and Evaluation) has not started yet. However the partners have already started proactively integrating the various components of RAPID, including the Acceleration Server, the Acceleration Client and the Directory Server.
• WP8 (Dissemination and Exploitation) disseminates and analyzes the exploitation possibilities of the know-how produced in the RAPID project. RAPID website is regularly updated. We have 11 publications, 4 poster presentations, and two project presentations so far.

Progress beyond the state of the art and expected potential impact (including the socio-economic impact and the wider societal implications of the project so far)

RAPID does not simply provide another cloud-based offloading engine but it goes beyond the state of the art proposing and developing a peer-to-peer CPU and GPU sharing infrastructure where any device can offload tasks to other more powerful devices and clouds or it can become an accelerator itself. RAPID provides for the first time an heterogeneous infrastructure which can automatically offload demanding power-hungry GPU-based tasks from low-power devices to remote GPUs. Automating the sharing of CPUs and GPUs between devices and cloud infrastructures will be provided for the first time by RAPID. This functionality is offered to the programmer through a user-friendly programming model and API.

The progress beyond the state of the art is described in the DoA and it is outlined below:
• Multi-Level Distributed Cloud infrastructure: The RAPID framework will be the first that can handle seamlessly different processing systems and decide where each task will more efficiently be executed based on a set of criteria including CPU and network energy consumption, latency, throughput etc. For example, since the transmission energy consumption is getting higher and higher when compared with the CPU processing consumption it may worth performing the processing in simple desktop-like elements that are close to the initiative system than to outsource it to large public clouds that may require 3G or some other high-energy, high-latency connectivity. Moreover, RAPID will be the first to provide a registration mechanism that permits the low-power devices to automatically find and connect to nearby accelerators with the required resources.
• Unified acceleration model: RAPID will be the first to use a unified acceleration scheme where, apart from using a smartphone as an accelerated device and a private or a public cloud as an accelerator, almost any entity (device, embedded system or infrastructure) can operate as an accelerated entity and/or as an accelerator serving other less powerful entities.
• Heterogeneous acceleration for mobile devices: The RAPID platform will be the first to provide a runtime system and a heterogeneous cloud infrastructure, which will permit remote offloading of heterogeneous CPU-based and GPU-based tasks over a heterogeneous network (3G, wifi, Ethernet, etc.).
• Acceleration as a service: RAPID will be the first to provide acceleration as a service. Remote acceleration as a service with quality of service support will be provided based on the demands of each application as well as the service-level agreement (SLA) between the client and the service provider. In this way, the RAPID will also provide a commercially exploitable solution.
• Automatic discovery and registration of RAPID entities: Similar to a peer-to-peer file sharing RAPID will provide a Directory Server which monitors the status and the position of the RAPID devices. Any RAPID client and server has to register to the Directory Server in order to discover nearby resources.
• Robotics, Security and Biometrics: The three selected applications that will use RAPID platform represent cutting-edge applications, unique in their respective fields, with strong social, economic and research value. These will be the first applications to take advantage of the RAPID infrastructure.

The expected potential impact of RAPID is described in the DoA. No update is needed.

Related information

Record Number: 192780 / Last updated on: 2016-12-13