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.