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]  Sanjoy K. Baruah,et al.  Open problems in real-time scheduling , 2010, J. Sched..

[2]  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.

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

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

[5]  Francisco J. Cazorla,et al.  Merasa: Multicore Execution of Hard Real-Time Applications Supporting Analyzability , 2010, IEEE Micro.

[6]  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).

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

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

[9]  Frank P. Coyle Review of 'The power of events: An introduction to complex event processing in distributed enterprise systems,' by David Luckham, Addison Wesley Professional, May 2002 , 2003, UBIQ.

[10]  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.

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

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

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

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

[15]  Robert D. Blumofe,et al.  Scheduling multithreaded computations by work stealing , 1994, Proceedings 35th Annual Symposium on Foundations of Computer Science.

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

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

[18]  Benoît Dupont de Dinechin,et al.  Time-critical computing on a single-chip massively parallel processor , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

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

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

[21]  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).

[22]  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.

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

[24]  Richard W. Vuduc,et al.  When Prefetching Works, When It Doesn’t, and Why , 2012, TACO.

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

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

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

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

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

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

[31]  Krisztián Flautner,et al.  Evolution of thread-level parallelism in desktop applications , 2010, ISCA.

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

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

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

[35]  Eduardo Quiñones,et al.  OpenMP and timing predictability: A possible union? , 2015, 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE).

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

[37]  Chenyang Lu,et al.  A real-time scheduling service for parallel tasks , 2013, 2013 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[38]  Frank Arens,et al.  [Welcome to the Jungle]. , 2014, Pflege Zeitschrift.

[39]  Bradford Nichols,et al.  Pthreads programming , 1996 .

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

[41]  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).

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

[43]  Pradeep Dubey,et al.  Larrabee: A Many-Core x86 Architecture for Visual Computing , 2009, IEEE Micro.

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