The 2PARMA project focuses on the definition of suitable parallel programming models, instruction set virtualisation, run-time resource management policies and mechanisms as well as design space exploration methodologies for Many-core Computing Fabrics. The 2PARMA project will demonstrate methodologies, techniques and tools by using innovative hardware platforms provided and developed by the partners, including the "Platform 2012", an early implementation of Many-core Computing Fabric provided by STMicro-electronics. To ensure a wide range of application scenarios comprising the typical computation-intensive workload of a general-purpose computing system, a set of industrial high performance demanding applications will be used and customized by using the developed techniques. The selected applications are: Scalable Video Coding (HHI), Cognitive Radio (RWTH / IMEC), and Multi View Image Processing (IMEC).
In concrete terms, 2PARMA project has the following main goals:
2PARMA will focus on
- design space exploration and
- run-time management
of many-core architectures
Programmability of Many-core Computing Fabrics: 2PARMA project tackles the issue of programmability of Multi-core Computing Fabrics at both the programming language and Operating System level. On one hand, it leverages the increasingly popular Component-Based Software Engineering and develops parallelism extrac-tion techniques to identify opportunities for paralleli-sation at a high level in the design phase. Then, 2PARMA employs extensions of existing standards for parallel programming, such as OpenCL, to express data parallelism for Many-core Computing Fabrics. On the Operating System level, 2PARMA provides the means to define and deploy logic peripherals to the Many-core Computing Fabric, preserving isolation among them and efficient communication between host and Computing Fabric.
Virtualisation and Continuous Adaptation: portable bytecode representations of software are employed in 2PARMA project to provide not only portability but also the ability to adapt applications at runtime to the available resources. Instruction set virtualisation provides the means to tailor the application to the subset of the computing resources given by the coexistence of multiple applications on the computing platform, by employing dynamic compilation and optimisation techniques.
Runtime Management: 2PARMA project develops intelligent policies to manage the system resources taking into account the Quality of Service requirements imposed by the application, while optimising the resource usage for system-wide performance and energy consumption goals.
Design Space Exploration: continuous adaptation and run-time management require large amount of information on the system and the applications to take effective and timely decisions. 2PARMA goes beyond traditional design space exploration (DSE) by defining a methodology to provide synthetic information about the points of operation of each application with respect to the subsets of resources available to it. DSE methodologies developed in 2PARMA provide also architectural customisation to support parallel programming models, especially communication and memory mapping.