Scheduling Parallel Real-Time Tasks on the Minimum Number of Processors

Recently, several parallel frameworks have emerged to utilize the increasing computational capacity of multiprocessors. Parallel tasks are distinguished from traditional sequential tasks in that the subtasks contained in a single parallel task can simultaneously execute on multiple processors. In this study, we consider the scheduling problem of minimizing the number of processors on which the parallel real-time tasks feasibly run. In particular, we focus on scheduling sporadic parallel real-time tasks, in which precedence constraints between subtasks of each parallel task are expressed using a directed acyclic graph (DAG). To address the problem, we formulate an optimization problem that aims to minimize the maximum processing capacity for executing the given tasks. We then suggest a polynomial solution consisting of three steps: (1) transform each parallel real-time task into a series of multithreaded segments, while respecting the precedence constraints of the DAG; (2) selectively extend the segment lengths; and (3) interpret the problem as a flow network to balance the flows on the terminal edges. We also provide the schedulability bound of the proposed solution: it has a capacity augmentation bound of 2. Our experimental results show that the proposed approach yields higher performance than one developed in a recent study.

[1]  Jing Li,et al.  Capacity Augmentation Bound of Federated Scheduling for Parallel DAG Tasks , 2014 .

[2]  A. B. Kahn,et al.  Topological sorting of large networks , 1962, CACM.

[3]  Jinkyu Lee,et al.  Global EDF Schedulability Analysis for Parallel Tasks on Multi-Core Platforms , 2017, IEEE Transactions on Parallel and Distributed Systems.

[4]  Huangke Chen,et al.  ERECT: Energy-efficient reactive scheduling for real-time tasks in heterogeneous virtualized clouds , 2017, J. Comput. Sci..

[5]  Andrew V. Goldberg,et al.  Efficient maximum flow algorithms , 2014, CACM.

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

[7]  Chenyang Lu,et al.  Analysis of Federated and Global Scheduling for Parallel Real-Time Tasks , 2014, 2014 26th Euromicro Conference on Real-Time Systems.

[8]  Serge Midonnet,et al.  Graph-to-Segment Transformation Technique minimizing the number of processors for Real-time Multiprocessor Systems , 2012 .

[9]  Serge Midonnet,et al.  A Stretching Algorithm for Parallel Real-time DAG Tasks on Multiprocessor Systems , 2014, RTNS.

[10]  Feng Zhao,et al.  Energy aware consolidation for cloud computing , 2008, CLUSTER 2008.

[11]  Bruce Hendrickson,et al.  Improving load balance with flexibly assignable tasks , 2003, IEEE Transactions on Parallel and Distributed Systems.

[12]  James B. Orlin,et al.  Max flows in O(nm) time, or better , 2013, STOC '13.

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

[14]  Sanjoy K. Baruah,et al.  The Global EDF Scheduling of Systems of Conditional Sporadic DAG Tasks , 2015, 2015 27th Euromicro Conference on Real-Time Systems.

[15]  Scott A. Brandt,et al.  DP-Fair: a unifying theory for optimal hard real-time multiprocessor scheduling , 2011, Real-Time Systems.

[16]  Rolf Ernst,et al.  Response-Time Analysis of Parallel Fork-Join Workloads with Real-Time Constraints , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

[17]  Pascal Richard,et al.  Minimizing the number of processors for real-time distributed systems , 2008 .

[18]  S. Akl,et al.  Number 2007-535 Number of Processors for Scheduling a Set of Real-Time Tasks : Upper and Lower Bounds ∗ , 2007 .

[19]  Sherali Zeadally,et al.  A survey and taxonomy on energy efficient resource allocation techniques for cloud computing systems , 2016, Computing.

[20]  Xu Jiang,et al.  On the Decomposition-Based Global EDF Scheduling of Parallel Real-Time Tasks , 2016, 2016 IEEE Real-Time Systems Symposium (RTSS).

[21]  David K. Smith Network Flows: Theory, Algorithms, and Applications , 1994 .

[22]  Jinkyu Lee,et al.  Global EDF Schedulability Analysis for Synchronous Parallel Tasks on Multicore Platforms , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

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

[24]  Chang-Gun Lee,et al.  System-Wide Time versus Density Tradeoff in Real-Time Multicore Fluid Scheduling , 2018, IEEE Transactions on Computers.

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

[26]  Chenyang Lu,et al.  Federated scheduling for stochastic parallel real-time tasks , 2014, 2014 IEEE 20th International Conference on Embedded and Real-Time Computing Systems and Applications.

[27]  Kenli Li,et al.  Slack allocation algorithm for energy minimization in cluster systems , 2017, Future Gener. Comput. Syst..

[28]  Chang-Gun Lee,et al.  Multicore scheduling of parallel real-time tasks with multiple parallelization options , 2015, 21st IEEE Real-Time and Embedded Technology and Applications Symposium.

[29]  C. Gill,et al.  Analysis of Global EDF for Parallel Tasks , 2013 .

[30]  Jean-Marc Vincent,et al.  Random graph generation for scheduling simulations , 2010, SimuTools.

[31]  Giorgio Buttazzo,et al.  Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications , 1997 .

[32]  Chenyang Lu,et al.  Parallel Real-Time Scheduling of DAGs , 2014, IEEE Transactions on Parallel and Distributed Systems.

[33]  Björn Andersson,et al.  Analyzing Global-EDF for Multiprocessor Scheduling of Parallel Tasks , 2012, OPODIS.

[34]  Geoffrey Nelissen,et al.  U-EDF: An Unfair But Optimal Multiprocessor Scheduling Algorithm for Sporadic Tasks , 2012, 2012 24th Euromicro Conference on Real-Time Systems.

[35]  Geoffrey Nelissen,et al.  Techniques Optimizing the Number of Processors to Schedule Multi-threaded Tasks , 2012, 2012 24th Euromicro Conference on Real-Time Systems.

[36]  Chenyang Lu,et al.  Multi-core Real-Time Scheduling for Generalized Parallel Task Models , 2011, RTSS.

[37]  Giorgio C. Buttazzo,et al.  Response-Time Analysis of Conditional DAG Tasks in Multiprocessor Systems , 2015, 2015 27th Euromicro Conference on Real-Time Systems.

[38]  Matteo Frigo,et al.  The implementation of the Cilk-5 multithreaded language , 1998, PLDI.

[39]  Xiaomin Zhu,et al.  EONS: Minimizing Energy Consumption for Executing Real-Time Workflows in Virtualized Cloud Data Centers , 2016, 2016 45th International Conference on Parallel Processing Workshops (ICPPW).

[40]  Frank Ruskey,et al.  Generating Linear Extensions Fast , 1994, SIAM J. Comput..

[41]  Doug Lea,et al.  A Java fork/join framework , 2000, JAVA '00.

[42]  Chenyang Lu,et al.  Mixed-criticality federated scheduling for parallel real-time tasks , 2016, 2016 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS).

[43]  Binoy Ravindran,et al.  An Optimal Real-Time Scheduling Algorithm for Multiprocessors , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[44]  Sanjoy K. Baruah,et al.  The Federated Scheduling of Systems of Mixed-Criticality Sporadic DAG Tasks , 2016, 2016 IEEE Real-Time Systems Symposium (RTSS).

[45]  Keqin Li,et al.  Mixed real-time scheduling of multiple DAGs-based applications on heterogeneous multi-core processors , 2016, Microprocess. Microsystems.

[46]  Marko Bertogna,et al.  Response-Time Analysis of Synchronous Parallel Tasks in Multiprocessor Systems , 2014, RTNS.

[47]  Haoyi Xiong,et al.  Energy-Efficient Real-Time Scheduling of DAG Tasks , 2018, ACM Trans. Embed. Comput. Syst..