Real-Time Task Scheduling on Island-Based Multi-Core Platforms

With the increasing number of cores in a computing system, how to coordinate the computing units and heterogeneous memory resources has soon become extremely critical for real-time systems. This paper explores the joint considerations of memory management and real-time task scheduling over island-based multi-core architecture, where the local memory module of an island offers shorter access time than the global memory module does. The objective of this work is to minimize the number of needed islands to successfully schedule real-time tasks. When the required amount of the local memory space is specified for each task, a scheduling algorithm is proposed to provide an asymptotic 299-approximation bound. When there is flexibility in determining the needed local memory space for each task, we propose an algorithm with an asymptotic 4-approximation bound to jointly manage memory resources and allocate computing cores. In addition to the worst-case approximation analysis, the proposed algorithms are also evaluated with 82 real-life benchmarks with the support of a worst-case execution time analyzer. Moreover, extensive evaluations are conducted to show the capability of the proposed approaches when being used with various computing cores and memory resources.

[1]  Jian-Jia Chen,et al.  Resource Augmentation Bounds for Approximate Demand Bound Functions , 2011, 2011 IEEE 32nd Real-Time Systems Symposium.

[2]  Limin Xiao,et al.  LvtPPP: Live-Time Protected Pseudopartitioning of Multicore Shared Caches , 2013, IEEE Trans. Parallel Distributed Syst..

[3]  Sanjoy K. Baruah,et al.  Partitioned Real-time Scheduling on Heterogeneous Shared-Memory Multiprocessors , 2011, 2011 23rd Euromicro Conference on Real-Time Systems.

[4]  Zhiying Wang,et al.  Hierarchical memory system design for a heterogeneous multi-core processor , 2008, SAC '08.

[5]  Heiko Falk,et al.  Optimal static WCET-aware scratchpad allocation of program code , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[6]  Shinpei Kato,et al.  Gdev: First-Class GPU Resource Management in the Operating System , 2012, USENIX Annual Technical Conference.

[7]  Tei-Wei Kuo,et al.  Real-time partitioned scheduling on multi-core systems with local and global memories , 2013, 2013 18th Asia and South Pacific Design Automation Conference (ASP-DAC).

[8]  György Dósa,et al.  The Tight Bound of First Fit Decreasing Bin-Packing Algorithm Is FFD(I) <= 11/9OPT(I) + 6/9 , 2007, ESCAPE.

[9]  H. Peter Hofstee,et al.  Introduction to the Cell multiprocessor , 2005, IBM J. Res. Dev..

[10]  Mahmut T. Kandemir,et al.  Shared scratch-pad memory space management , 2006, 7th International Symposium on Quality Electronic Design (ISQED'06).

[11]  Thomas F. Wenisch,et al.  Disaggregated memory for expansion and sharing in blade servers , 2009, ISCA '09.

[12]  Sanjoy K. Baruah,et al.  The partitioned multiprocessor scheduling of sporadic task systems , 2005, 26th IEEE International Real-Time Systems Symposium (RTSS'05).

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

[14]  Peter Marwedel,et al.  Bus-Aware Multicore WCET Analysis through TDMA Offset Bounds , 2011, 2011 23rd Euromicro Conference on Real-Time Systems.

[15]  Alberto Caprara,et al.  Improved approximation algorithms for multidimensional bin packing problems , 2006, 2006 47th Annual IEEE Symposium on Foundations of Computer Science (FOCS'06).

[16]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[17]  Sanjoy K. Baruah,et al.  Partitioning sporadic task systems upon memory-constrained multiprocessors , 2013, TECS.

[18]  Shinpei Kato,et al.  Semi-partitioned Scheduling of Sporadic Task Systems on Multiprocessors , 2009, 2009 21st Euromicro Conference on Real-Time Systems.

[19]  Tei-Wei Kuo,et al.  Partitioned scheduling for real-time tasks on multiprocessor embedded systems with programmable shared srams , 2012, EMSOFT '12.

[20]  Meikang Qiu,et al.  Optimal Data Allocation for Scratch-Pad Memory on Embedded Multi-core Systems , 2011, 2011 International Conference on Parallel Processing.

[21]  Robert I. Davis,et al.  Integrating cache related pre-emption delay analysis into EDF scheduling , 2013, 2013 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[22]  Gerhard J. Woeginger,et al.  There is no Asymptotic PTAS for Two-Dimensional Vector Packing , 1997, Inf. Process. Lett..

[23]  G. S. Lueker,et al.  Bin packing can be solved within 1 + ε in linear time , 1981 .

[24]  Jian-Jia Chen,et al.  Partitioned Packing and Scheduling for Sporadic Real-Time Tasks in Identical Multiprocessor Systems , 2012, 2012 24th Euromicro Conference on Real-Time Systems.

[25]  Pawel Gepner,et al.  Multi-Core Processors: New Way to Achieve High System Performance , 2006, PARELEC.

[26]  Quan Chen,et al.  Adaptive Cache Aware Bitier Work-Stealing in Multisocket Multicore Architectures , 2013, IEEE Transactions on Parallel and Distributed Systems.

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

[28]  Wenceslas Fernandez de la Vega,et al.  Bin packing can be solved within 1+epsilon in linear time , 1981, Comb..

[29]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[30]  Abhik Roychoudhury,et al.  Scalable and Precise Refinement of Cache Timing Analysis via Model Checking , 2011, 2011 IEEE 32nd Real-Time Systems Symposium.

[31]  Ingo Wald,et al.  Fast Construction of SAH BVHs on the Intel Many Integrated Core (MIC) Architecture , 2012, IEEE Transactions on Visualization and Computer Graphics.

[32]  Jian-Jia Chen,et al.  Task Set Synthesis with Cost Minimization for Sporadic Real-Time Tasks , 2013, 2013 IEEE 34th Real-Time Systems Symposium.

[33]  Giuseppe Lipari,et al.  Schedulability Analysis of Global Scheduling Algorithms on Multiprocessor Platforms , 2009, IEEE Transactions on Parallel and Distributed Systems.

[34]  Wendong Hu,et al.  NetBench: a benchmarking suite for network processors , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[35]  Miodrag Potkonjak,et al.  MediaBench: a tool for evaluating and synthesizing multimedia and communications systems , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[36]  Robert I. Davis,et al.  Investigation of Scratchpad Memory for Preemptive Multitasking , 2012, 2012 IEEE 33rd Real-Time Systems Symposium.

[37]  Alexander G. Dean,et al.  Leveraging both Data Cache and Scratchpad Memory through Synergetic Data Allocation , 2012, 2012 IEEE 18th Real Time and Embedded Technology and Applications Symposium.

[38]  Shinpei Kato,et al.  Resource Sharing in GPU-Accelerated Windowing Systems , 2011, 2011 17th IEEE Real-Time and Embedded Technology and Applications Symposium.

[39]  Lothar Thiele,et al.  Timing Analysis for TDMA Arbitration in Resource Sharing Systems , 2010, 2010 16th IEEE Real-Time and Embedded Technology and Applications Symposium.