Service Communautaire d'Information sur la Recherche et le Développement - CORDIS

H2020

PHANTOM Résumé de rapport

Project ID: 688146
Financé au titre de: H2020-EU.2.1.1.

Periodic Reporting for period 1 - PHANTOM (Cross-Layer and Multi-Objective Programming Approach for Next Generation Heterogeneous Parallel Computing Systems)

Reporting period: 2015-12-01 à 2017-05-31

Summary of the context and overall objectives of the project

The PHANTOM project is developing innovative technologies that address software development challenges that are emerging from the evolution of traditional embedded computing into Cyber-Physical Systems (CPS), where connected and integrated systems of computing and networking need to monitor, control and manage physical processes while delivering high performance within real-time constraints and with appropriate security. This evolution is being driven by three key factors that are having a dramatic impact on ICT in Europe:

• The advent of the Internet of Things (IoT) that is forecast by 2020 to create a single worldwide dynamic and intelligent information network of more than 50 billion devices gathering, producing and sharing over the Internet massive amounts of data to be processed in support of new applications and services for business and consumers;

• Information and Communications Technologies (ICT) are estimated to have a significant (~5%) and accelerating share of worldwide energy consumption creating a cross-cutting challenge for ICT to improve energy efficiency and to adopt more lower-power computing technologies;

• Today’s computing assets – including widely available multi-core heterogeneous systems (GPU, CPU, FPGA), and embedded HPC – are burdensome for programmers requiring dual expertise in both application engineering and computer system engineering to address the complexity between the computing hardware platforms and the application domains.

To address these challenges, a holistic approach is needed that encompasses a complete system view of both hardware and software, as well as being applicable to multiple industry domains.

The PHANTOM project will deliver an integrated cross-layer (hardware and system software/programming environment), that supports a multi-objective and cross-application approach for exploiting next generation heterogeneous, parallel and low-power computing systems, while masking the complexity of the underlying computing hardware from the programmer.

The PHANTOM technology innovations will provide a system comprised of a hardware-agnostic software platform that executes over reconfigurable multi-core and heterogeneous (GPU, FPGA, CPU) hardware platforms. The software platform will offer the means for multi-dimensional optimisations through dynamic adaptations of systems and orchestration of reconfigurable hardware platforms, while providing productivity-orientated software programming tools for next generation parallel systems while having energy efficiency, performance guarantees and cost effectiveness as intrinsic software design features.

These technology objectives will be driven by industrial use cases from the Telecom, Surveillance and High Performance Computing (HPC) domains undertaken by project partners that will also evaluate and verify their achievement within the context of industrial software development environments and platforms.

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

During the first 18 months the project has undertaken research and development tasks and produced first prototypes of the following technologies:

• New hardware abstractions for heterogeneous multi-core hardware including CPUs, GPUs, reconfigurable (FPGA) devices as well as analogue processing embedded hardware with standard PC interfaces, and emerging mixed hardware platforms enabling dynamic application code migration and parallel execution, while meeting requirements for energy efficiency and performance guarantees.

• A hardware-agnostic, flexible and cost-effective software platform for multi-dimensional optimisation and increased productivity in programming through an innovative programming environment and monitoring technologies that mask the complexity of the underlying hardware and automate application optimisations, while providing tools for achieving energy efficiency, enhanced performance and fault tolerance.

• System security utilising the innovative application of proven security concepts of separation, component integration, policy architecture and physical resource sharing that exploits heterogeneous architectures to achieve appropriate hardware/software-based enforcement of security and separation policies and architectural enforcement.

• Advances in resource scheduling and monitoring capabilities for heterogeneous hardware computing platforms and programming interfaces that allow energy and resilience related control policies to be incorporated in the multi-dimensional optimisation process thereby improving reliability and lowering power consumption.

Final prototypes of each of these technologies will be completed during the remaining months of the project.

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)

Unlike other approaches, PHANTOM targets a range of ‘application classes’ which cover the entire computing continuum, from resource-constrained embedded devices up to powerful multi-core compute clusters. PHANTOM’s programming model is amenable to describing applications in terms of both control flow and data flow, but also wider system concerns like security and the measurement and analysis of non-functional properties. Application optimization is achieved by multidimensional optimization dealing with the optimal mapping of application components and shared data communications throughout the target heterogeneous platform architecture (CPU, GPU, FPGA), towards user defined non-functional requirements, while guaranteeing Quality of Service. Two innovative optimization approaches are addressed one relying on analytical approaches to verify the timing constraints especially for applications with real-time requirements, while the second one considers evolutionary multi-objective optimization approaches for optimizing the placement of components against multiple objectives such as power, performance, security, taking into account requirement/policies from application developers and the status and capabilities of computing resources.

The PHANTOM monitoring framework goes beyond current approaches by means of enabling the application-level monitoring and the more modular component-based and service-oriented architecture. PHANTOM also addresses two general security problems linked to the project’s specific innovation, namely the seamless integration and orchestration of heterogeneous computing elements by the provision of low-level integrity of isolation and predictability, while exercising control over the qualities exhibited by their combined operation over a broad range of scale.

A methodology is provided to select the proper technology for the implementation of parallelised tasks based on the mapping decisions leveraging the last word in parallelization technologies like CUDA, OpenMP, OpenCL, MPI or Pthreads APIs. A model-based testing approach is integrated into the development methodology for carrying out black box testing for programs on the PHANTOM platform with a focus on properties of distributed and parallel computing systems. Several logic blocks of IP cores specially designed to be used as application-specific accelerators are provided.

“Today, to out-compute is to out-compete”. Since computing systems are essential for all areas and sectors of societies and economies in developed and emerging countries (e.g. energy, water, transportation, health, security, telecoms), the technologies developed in PHANTOM will be key contributors to developing an economy based on knowledge and innovation in an increasingly globalised world.

Informations connexes