P-SOCRATES: A Parallel Software Framework for Time-Critical Many-Core Systems

The advent of next-generation many-core embedded platforms has the chance of intercepting a converging need for predictable high-performance coming from both the High-Performance Computing (HPC) and Embedded Computing (EC) domains. On one side, new kinds of HPC applications are being required by markets needing huge amounts of information to be processed within a bounded amount of time. On the other side, EC systems are increasingly concerned with providing higher performance in real-time, challenging the performance capabilities of current architectures. This converging demand, however, raises the problem about how to guarantee timing requirements in presence of parallel execution. This paper presents the approach of project P-SOCRATES for the design of an integrated framework for the execution of workload-intensive applications with real-time requirements on top of next-generation commercial-off-the-shelf (COTS) platforms based on many-core accelerated architectures. The time-criticality and parallelisation challenges are addressed by merging techniques coming from both HPC and EC domains, identifying the main sources of indeterminism and proposing efficient mapping and scheduling algorithms, along with the associated timing and schedulability analysis, to guarantee the real-time and performance requirements of the applications.

[1]  Björn Andersson,et al.  Response Time Analysis of COTS-Based Multicores Considering the Contention on the Shared Memory Bus , 2011, 2011IEEE 10th International Conference on Trust, Security and Privacy in Computing and Communications.

[2]  Luís Nogueira,et al.  Scheduling parallel real-time tasks using a fixed-priority work-stealing algorithm on multiprocessors , 2013, 2013 8th IEEE International Symposium on Industrial Embedded Systems (SIES).

[3]  David Luckham,et al.  The power of events - an introduction to complex event processing in distributed enterprise systems , 2002, RuleML.

[4]  José Carlos Fonseca,et al.  Dynamic Global Scheduling of Parallel Real-Time Tasks , 2012, 2012 IEEE 15th International Conference on Computational Science and Engineering.

[5]  Cédric Augonnet,et al.  StarPU: a unified platform for task scheduling on heterogeneous multicore architectures , 2011, Concurr. Comput. Pract. Exp..

[6]  William J. Dally,et al.  A portable runtime interface for multi-level memory hierarchies , 2008, PPoPP.

[7]  Sanjoy K. Baruah,et al.  A Generalized Parallel Task Model for Recurrent Real-time Processes , 2012, 2012 IEEE 33rd Real-Time Systems Symposium.

[8]  Sanjoy K. Baruah,et al.  Open problems in real-time scheduling , 2010, J. Sched..

[9]  Stefan M. Petters,et al.  Preemption delay analysis for floating non-preemptive region scheduling , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[10]  Marco Caccamo,et al.  A Predictable Execution Model for COTS-Based Embedded Systems , 2011, 2011 17th IEEE Real-Time and Embedded Technology and Applications Symposium.

[11]  Alejandro Duran,et al.  Productive Cluster Programming with OmpSs , 2011, Euro-Par.

[12]  Robert I. Davis,et al.  Limited Pre-emptive Global Fixed Task Priority , 2013, 2013 IEEE 34th Real-Time Systems Symposium.

[13]  Luca Benini,et al.  Time Criticality Challenge in the Presence of Parallelised Execution , 2014 .

[14]  Hong Jiang,et al.  Pangaea: A tightly-coupled IA32 heterogeneous chip multiprocessor , 2008, 2008 International Conference on Parallel Architectures and Compilation Techniques (PACT).

[15]  Jesús Labarta,et al.  CellSs: Making it easier to program the Cell Broadband Engine processor , 2007, IBM J. Res. Dev..

[16]  Luis Lino Ferreira,et al.  Towards transparent parallel/distributed support for real-time embedded applications , 2013, 2013 8th IEEE International Symposium on Industrial Embedded Systems (SIES).

[17]  Sami Yehia,et al.  The next convergence: High-performance and mission-critical markets , 2013 .

[18]  Allan Porterfield,et al.  OpenMP task scheduling strategies for multicore NUMA systems , 2012, Int. J. High Perform. Comput. Appl..

[19]  Stefan M. Petters,et al.  Extending fixed task-priority schedulability by interference limitation , 2012, RTNS '12.

[20]  Francisco J. Cazorla,et al.  A dynamic scheduler for balancing HPC applications , 2008, 2008 SC - International Conference for High Performance Computing, Networking, Storage and Analysis.

[21]  Chenyang Lu,et al.  Multi-core real-time scheduling for generalized parallel task models , 2011, 2011 IEEE 32nd Real-Time Systems Symposium.

[22]  Jakob Engblom,et al.  Execution Time Analysis for Embedded Real-Time Systems , 2007, Handbook of Real-Time and Embedded Systems.

[23]  Luís Nogueira,et al.  On the use of Work-Stealing Strategies in Real-Time Systems , 2013 .

[24]  Michele Pagano,et al.  Towards an Open Source Framework for Small Engine Controls Development , 2014 .

[25]  Luca Benini,et al.  P2012: Building an ecosystem for a scalable, modular and high-efficiency embedded computing accelerator , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[26]  Edward T. Grochowski,et al.  Larrabee: A many-Core x86 architecture for visual computing , 2008, 2008 IEEE Hot Chips 20 Symposium (HCS).

[27]  Per Stenström,et al.  Timing anomalies in dynamically scheduled microprocessors , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

[28]  K Lakshmanan,et al.  Scheduling Parallel Real-Time Tasks on Multi-core Processors , 2010, 2010 31st IEEE Real-Time Systems Symposium.

[29]  Christian Terboven,et al.  OpenACC - First Experiences with Real-World Applications , 2012, Euro-Par.

[30]  Alejandro Duran,et al.  Ompss: a Proposal for Programming Heterogeneous Multi-Core Architectures , 2011, Parallel Process. Lett..

[31]  Giuseppe Lipari,et al.  Architecture for a Portable Open Source Real-Time Kernel Environment , 2000 .

[32]  Patrick Meumeu Yomsi,et al.  P-SOCRATES: A parallel software framework for time-critical many-core systems , 2015, Microprocess. Microsystems.

[33]  Sunil D. Sherlekar Intel Many Integrated Core (MIC) Architecture. , 2012, ICPADS 2012.

[34]  Sudarshan K. Dhall,et al.  On a Real-Time Scheduling Problem , 1978, Oper. Res..