BSC was a partner in this three-year project.
The P-SOCRATES project developed a complete and coherent software system stack, able to bridge the gap between the application design with both high-performance and real-time requirements, and highly parallel heterogeneous embedded processor architectures.
The project, which began in November 2013, investigated new real-time mapping and scheduling techniques with high-performance parallel programming models, based on state-of-the-art OpenMP and OmpSs specifications, and associated tools, able to efficiently parallelise real-time applications.
The software stack extracts all control-flow and data-flow information (in the form of a task dependency graph by means of compiler analysis techniques using Mercurium, developed at BSC) needed to both statically or dynamically map parallel entities (tasks in OpenMP nomenclature) to processor resources with operating system support.
P-SOCRATES transformed its software framework into a complete software developed kit (SDK) that facilitates the development of applications with high-performance and real-time requirements in the Kalray MPPA-256 embedded processor architecture. The P-SOCRATES SDK has been rebranded and released as UpScale SDK, making it available to the community with an industry-friendly open-source license.
As BSC PI Eduardo Quiñones explains, “in recent years, real-time embedded systems have been demanding more and more computational power to cope with the huge performance requirements of new smart functionalities such as autonomous driving, while guaranteeing that the system will respond within stringent time frames. Similarly, there are new types of data analytics techniques, such as complex event processing, capable of analysing data coming from multiple event streams to extract and provide meaningful information within pre-defined time bounds, to be used in smart grids and traffic management or the banking and financial sector. This computational power can only be achieved by efficiently exploiting parallel computation as the HPC domain has done in the last 20 years. The advent of new highly-parallel heterogeneous architectures targeting the embedded market represents an excellent opportunity”.
P-SOCRATES impact in industry
The P-SOCRATES SDK was tested with three real world scenarios in order to demonstrate the improvements it offers:
- An embedded real-time application (a sensor pre-processing sampling application);
- An HPC application such as an on-line text semantic analysis for web advertising;
- An intelligent transport system with complex event processing.
Industrial companies are benefitting from the project outcomes, allowing European technology suppliers to exploit properly the capabilities of next-generation highly-parallel hardware platforms in a predictable way. Impacts are expected in the development of enabling technologies for both the high-performance and embedded computing domains. From an applications point of view, P-SOCRATES represents a reference point for workload-intensive applications with time-criticality requirements, enabling a more efficient smart society.
In that regard, BSC has started several follow-on projects with an automotive company (Denso) and the European Space Agency, to explore the benefits of P-SOCRATES in the automotive and space domains.P-SOCRATES enables the adoption of next-generation many-core heterogeneous embedded platforms in both the high-performance computing and the embedded computing domains with timing requirements
Research carried out over the three years of the project focused on combining:
- the most advanced parallel programming models, such as OpenMP 4.5 and OmpSs (developed at BSC), to efficiently exploit parallelism and offloading computation in heterogeneous environments;
- compilation and run-time techniques from HPC systems with the newest mapping and scheduling methodologies and timing and schedulability analysis techniques used in real-time embedded systems.
This work allowed the project team to take important steps towards the convergence of the HPC and EC domains, significantly increasing the performance of real-time embedded systems, and providing better predictable performance for enhanced quality of services to HPC systems.
The P-SOCRATES (Parallel Software Framework for Time-Critical Many-core Systems) project brought together teams from the high-performance (Barcelona Supercomputing Center and Atos), embedded (Swiss Federal Institute of Technology Zurich and Active Technologies) and real-time (Instituto Superior de Engenharia do Porto, University of Modena and Evidence) fields of computing in a consortium ranging from application providers to hardware manufacturers.
A wide-ranging advisory board of multinational companies, high-tech SMEs and application providers supported the project partners. This board, which includes IBM, Honeywell, Airbus, Expert Systems, Rapita Systems and the council of the City of Bratislava, both gave advice on project progress and acted as end users of the P-SOCRATES technology.
This project, which began in November 2013, has received €2.76M funding from the European Union’s Seventh Framework Programme for research, technological development and demonstration under grant agreement no 611016.