OpenMP and timing predictability: A possible union?

Next-generation many-core embedded platforms have the chance of intercepting a converging need for high performance and predictability. Programming methodologies for such platforms will have to promote predictability as a first-class design constraint, along with features for massive parallelism exploitation. OpenMP, increasingly adopted in the embedded systems domain, has recently evolved to deal with the programmability of heterogeneous many-cores, with mature support for fine-grained task parallelism. While tasking is potentially very convenient for coding real-time applications modeled as periodic task graphs, OpenMP adopts an execution model completely agnostic to any timing requirement that the target application may have. In this position paper we reason about the suitability of the current OpenMP v4 specification and execution model to provide timing guarantees in many-cores.

[1]  Alistair P. Rendell,et al.  OpenMP on the Low-Power TI Keystone II ARM/DSP System-on-Chip , 2013, IWOMP.

[2]  Luca Benini,et al.  Enabling fine-grained OpenMP tasking on tightly-coupled shared memory clusters , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[3]  Francisco J. Cazorla,et al.  On the evaluation of the impact of shared resources in multithreaded COTS processors in time-critical environments , 2012, TACO.

[4]  Chenyang Lu,et al.  Outstanding Paper Award: Analysis of Global EDF for Parallel Tasks , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

[5]  Sebastian Stiller,et al.  Feasibility Analysis in the Sporadic DAG Task Model , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

[6]  Luca Benini,et al.  Improving the programmability of STHORM-based heterogeneous systems with offload-enabled OpenMP , 2013, MES '13.

[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]  Sebastian Stiller,et al.  Feasibility Tests for Recurrent Real-Time Tasks in the Sporadic DAG Model , 2012, ArXiv.

[9]  Cheng Wang,et al.  libEOMP: a portable OpenMP runtime library based on MCA APIs for embedded systems , 2013, PMAM '13.

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

[11]  Barbara M. Chapman,et al.  Implementing OpenMP on a high performance embedded multicore MPSoC , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[12]  Björn Lisper Towards Parallel Programming Models for Predictability , 2012, WCET.

[13]  Alan Burns,et al.  A survey of hard real-time scheduling for multiprocessor systems , 2011, CSUR.

[14]  Sanjoy K. Baruah Improved Multiprocessor Global Schedulability Analysis of Sporadic DAG Task Systems , 2014, 2014 26th Euromicro Conference on Real-Time Systems.

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

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