Opendata, web and dolomites

Report

Teaser, summary, work performed and final results

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

Teaser

The PHANTOM project has developed innovative technologies that address software development challenges emerging from the evolution of traditional embedded computing into Cyber-Physical Systems (CPS), where connected and integrated systems of computing and networking need to...

Summary

The PHANTOM project has developed innovative technologies that address software development challenges 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 having a dramatic impact on ICT in Europe:

• Advent of Internet of Things (IoT) 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) estimated to have a significant (~5%) and accelerating share of worldwide energy consumption creating cross-cutting challenge for ICT to improve energy efficiency and adopt more lower-power 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 application engineering and computer system engineering to address the complexity between computing hardware platforms and application domains.

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

The PHANTOM project has delivered an integrated cross-layer (hardware and system software/programming) environment, that supports a multi-objective 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 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 offers 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 have been driven by industrial use cases from the Telecom, Surveillance and High Performance Computing (HPC) domains undertaken by project partners that have also evaluated and verified their achievement within the context of industrial software development environments and platforms.

Work performed

The project has undertaken research and development tasks and produced final 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 tools for 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 have been completed during and have been made available in open source, including an easy to install image of the PHANTOM tool chain components.

Final results

Unlike other approaches, PHANTOM has targeted a range of ‘application classes’ which span 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 optimisation 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 were 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 optimisation 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 application-level monitoring and a more modular component-based and service-oriented architecture. PHANTOM also addressed 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 has been provided to select the proper technology for the implementation of parallelised tasks based on the mapping decisions leveraging the latest 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.

Website & more info

More info: http://www.phantom-project.org.