The PHANTOM project has delivered 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.
Today's Software Challenges
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, 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 Information and Communications Technologies (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;
ICT is 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; and
Today’s computing assets – including widely available multi-core heterogeneous systems (GPU, CPU, FPGA), and embedded High Performance Computing (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 that can be applied in multiple industry domains.
PHANTOM Project Technologies
The PHANTOM project is providing a hardware-agnostic software platform that executes over reconfigurable multi-core and heterogeneous (GPU, FPGA, CPU) hardware platforms. The software platform offers capabilities 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. The PHANTOM research and development objectives are the following:
Increasing the versatility, reconfigurability and integration of heterogeneous computing platforms – through new hardware abstractions for heterogeneous multi-core hardware including CPUs, GPUs, reconfigurable devices (FPGA), as well as analogue processing embedded hardware with standard PC interfaces, and emerging mixed hardware platforms, while meeting requirements for energy efficiency, performance guarantees and cost effectiveness.
Developing 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 balancing ease of programming, portability and performance.
Providing system security across all levels starting from secure and trusted zones on hardware up to system software and application software level – through the innovative application of proven security concepts of separation, component integration, policy architecture and physical resource sharing that exploits heterogeneous architectures.
Improving key system characteristics of energy efficiency and system resilience – through 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.
The technology developments are driven by industrial use cases from the Telecom, Surveillance and High Performance Computing (HPC) domains within the context of industrial software development environments and platforms.