Research and development of PHANTOM project technologies will continue through February 2019. The following public reports (in chronological order) developed during the first thrity months of the project are available for download. Many of the software technologies described are available for download under the Software tab at the top of the page.
This document provides an overview of the entire toolflow, describing how the activities and artefacts of the project will combine to produce the complete PHANTOM platform. The PHANTOM project targets development across the entire computing continuum, from resource-constrained embedded devices up to powerful multi-core compute clusters. It does this by the definition of a component-based programming model in which user applications are comprised of a set of components that are independent, concurrent, micro-services. An iterative development process is key to the PHANTOM toolflow. The developer deploys the components of their application to the target architecture. They then observe the resulting system and redeploy if the results are in some way insufficient.
The content of this document results from the background study of tools that can be used for the development of PHANTOM platform. As such, this deliverable receives valuable input from report describing the first design of the PHANTOM platform where the toolflow and the functional modules are described, with the role of each module of the toolflow being well-defined and the main interaction between them identified. This document uses that information to identify functionalities required in each step of the toolflow and seeks to match these with the tools available.
This document describes the first prototypes of the multi-objective mapper, runtime monitoring functionality and security mechanisms which constitute the basic mechanisms to be considered for the integration and further refinements towards the multi-dimensional optimization process.The Multi-Objective Mapper (MOM) is responsible for the optimal mapping of components and shared data communications throughout the target architecture, towards user defined non-functional requirements, while guaranteeing Quality of Service. Two complementary approaches and mechanisms for MOM are proposed. The runtime monitoring functionality plays an essential role for the application optimization based on the understanding of both software non-functional properties and hardware quality attributes with regards to performance and energy consumption aspects. For security, the report addresses two general security problems linked to the project’s specific innovation, namely the seamless integration and orchestration of heterogeneous computing elements while exercising control over the qualities exhibited by their combined operation over a broad range of scale.
This document describes the initial developments on the tools and technologies to support the activities of the Parallelization Toolset and Model Based Testing modules of the PHANTOM architecture, and on the specification of the PHANTOM Programming Interface. One section of the report describes the Parallelization Toolset technologies and algorithms for both code analysis and technique selection, along with the methodology to select the proper technology for the implementation of parallelised tasks based on the deployment plan provided by the Multi-Objective Mapper. A further section identifies and describes APIs to support the development of PHANTOM applications following a component-based approach. These APIs use the C programming language and allow the use of generic parallelisation functionalities, addressing both synchronization and data sharing mechanisms. A final section reports the current status of Model Based Testing development where a study of the functional behaviour of each use case is performed to understand the expected inputs and outputs of the tests.
The purpose of this document is to describe the preliminary release of the system software stack of the PHANTOM platform. The components that are included in the release are the Monitoring Framework for heterogeneous hardware platforms and applications, the Resource Management service as well as a set of tools that enable the integration of reconfigurable hardware resources into a common infrastructure – the FPGA Linux system and the IP Cores Marketplace. The released tools constitute an important part of the PHANTOM platform framework and are used to support the core platform components such as the Multi-Objective Mapper, the Deployment Manager, and others. The documentation gives details on the technological background and PHANTOM advances for all the referenced tools and provides necessary installation and usage guides.
The report describes the enhanced release of the system software stack of the PHANTOM platform. The components included in the release are the Monitoring Framework for heterogeneous hardware platforms and applications, the Resource Management service as well as a set of tools that enable the integration of reconfigurable hardware resources into a common infrastructure – the FPGA Linux system and the IP Cores Marketplace. The released tools constitute an important central part of the PHANTOM platform framework and are used to support the core platform components such as the Multi-Objective Mapper and the Deployment Manager. The release documentation gives necessary details on the technological background and PHANTOM advances for all the major tools described and provides installation and usage guides for each of them.
This document describes the final release of the system software stack for multi-dimensional optimisation of the PHANTOM platform that enables applications that are developed with the PHANTOM platform to be executed on resources of a heterogeneous infrastructure environment in compliance with the user’s functional and non-functional requirements. The following tools are described: 1) Generic Multi-Objective Mapper that analyses the historical data that characterise the previous executions of the application in order to propose their optimal dynamic mapping on the heterogeneous hardware platform; 2) Offline Multi-Objective Mapper extension of the Generic MOM that is analyses the properties of newly-submitted applications for which dynamic mapping might be not efficient; 3) Monitoring Server and the Execution Manager software stack for storing and analysis of the application- and hardware-specific data; and 4) Security Framework that enforces the security policies of the PHANTOM applications in heterogeneous and distributed hardware infrastructure.
This document describes the final development of the PHANTOM tools and technologies, which are achieved by the Parallelization Toolset, Programming Interfaces, Model Based Testing and Monitoring Library components of the PHANTOM platform. The report describes the Parallelization Toolset where technologies and algorithms are presented for both the code analysis and the suitable techniques selection for the preparation of the components for deployment, and introduces the PHANTOM Programming Interface to support the development of PHANTOM applications following a component-based approach. The Model Based Testing capabilities in PHANTOM are described addressing both early validation and test execution for functional and non-functional testing, and the Monitoring Library for application optimisation based on non-functional properties and hardware quality attributes is also described.
This document describes the final release of the PHANTOM middleware which sets up, operates, and optimizes the distributed heterogeneous infrastructure (consisting of diverse CPU, GPU, FPGA, and mixed hardware). The middleware primarily supports the higher-level PHANTOM tools (such as the Multi-Objective Mapper or the Modelling Framework), and it also provides end user interfaces for the management of the infrastructure. This final release includes updates for the tools that were introduced in the early extended release (D4.3) – the Monitoring Client, the Resource Manager, the FPGA Linux Infrastructure, and the IP-Cores Marketplace – and the Deployment Manager, which is introduced in this deliverable.
This document describes the final design of the PHANTOM technologies for the development and execution of applications in a highly heterogeneous and distributed computing environment. The design covers specifications of the core PHANTOM technologies such as the cross-layer programming environment, automatic deployment and execution, Model-Based Testing, integrated security, and automatic runtime monitoring. The specifications that were elaborated by deliverable D1.2 and extended by deliverable D1.3 have been finalized according to the results of validation of the tools such as the system software for multi-dimensional optimization of D2.2, programmer and productivity oriented tools of D3.2, deployment tools, monitoring framework and FPGA Linux environment of D4.4, model-based testing environment of D3.). The validation was performed by three consortium partners – each of which are providers of the pilot application use cases.
This deliverable presents the PHANTOM Framework as an integration of the several PHANTOM tools previously developed. Is starts by presenting one of the key elements in the integration – the Repository – as it enables tools to exchange information between them and allow the implementation of a “wait-and-run” model where tools wait for the output of other tools before starting its activity. Moreover, that repository also enables the execution of the security mechanism provided by the Security Framework. It also describes the information flow between the PHANTOM tools, through the different stages of the application analysis and execution.
This document provides the final documentation for PHANTOM users. First, it provides guidelines that need to be followed when placing an application for deployment in the PHANTOM framework so as to facilitate the use of the PHANTOM tools. This information comprises specific rules about the definition of the application components in the application code and the use of the PHANTOM Programming Interface and Monitoring Library, as well as details on the specific structure in the Repository that the developer should respect when uploading any source, input or description files. Second, the document contains the deployment guides for each PHANTOM tool and the Integrated Reference System, in terms of guidelines about the individual deployment of each tool and the whole toolchain with details that will ensure their installation and execution on any platform that satisfy the dependencies specified.