Improved hard real-time scheduling of CSDF-modeled streaming applications

Recently, it has been shown that hard real-time scheduling theory can be applied to streaming applications modeled as acyclic Cyclo-Static Dataflow (CSDF) graphs. However, that approach is not efficient in terms of throughput and processor utilization. Therefore, in this paper, we propose an improved hard real-time scheduling approach to schedule streaming applications modeled as acyclic CSDF graphs on a Multi-Processor System-on-Chip (MPSoC) platform. The proposed approach converts each actor in a CSDF graph to a set of real-time periodic tasks. The conversion enables application of many hard real-time scheduling algorithms which offer fast calculation of the required number of processors for scheduling the tasks. We evaluate the performance and time complexity of our approach in comparison to several existing scheduling approaches. Experiments on a set of real-life streaming applications demonstrate that our approach: 1) results in systems with higher throughput and better processor utilization in comparison to the existing hard real-time scheduling approach for CSDF graphs while requiring comparable time for the system derivation; 2) gives the same throughput as the existing periodic scheduling approach for CSDF graphs but requires much shorter time to derive the task schedule and tasks' parameters (periods, start times, etc.); and 3) gives the throughput that is equal or very close to the maximum achievable throughput of an application obtained via self-timed scheduling, but requires much shorter time to derive the schedule. The total time needed for the proposed conversion approach and the calculation of the minimum number of processors needed to schedule the tasks and the calculation of the size of communication buffers between tasks is in the range of seconds.

[1]  Soonhoi Ha,et al.  Fractional Rate Dataflow Model for Efficient Code Synthesis , 2004, J. VLSI Signal Process..

[2]  Maarten Wiggers,et al.  Two parameter workload characterization for improved dataflow analysis accuracy , 2013, 2013 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[3]  Sanjoy K. Baruah,et al.  Proportionate progress: a notion of fairness in resource allocation , 1993, STOC '93.

[4]  Todor Stefanov,et al.  On the hard-real-time scheduling of embedded streaming applications , 2012, Design Automation for Embedded Systems.

[5]  James H. Anderson,et al.  Group-Based Pfair Scheduling , 2006, Real-Time Systems.

[6]  Gerard J. M. Smit,et al.  Efficient Computation of Buffer Capacities for Cyclo-Static Real-Time Systems with Back-Pressure , 2006, 13th IEEE Real Time and Embedded Technology and Applications Symposium (RTAS'07).

[7]  Mohamed Benazouz,et al.  A new method for minimizing buffer sizes for Cyclo-Static Dataflow graphs , 2010, 2010 8th IEEE Workshop on Embedded Systems for Real-Time Multimedia.

[8]  Benoît Dupont de Dinechin,et al.  Periodic schedules for Cyclo-Static Dataflow , 2013, The 11th IEEE Symposium on Embedded Systems for Real-time Multimedia.

[9]  Joseph Y.-T. Leung,et al.  On the complexity of fixed-priority scheduling of periodic, real-time tasks , 1982, Perform. Evaluation.

[10]  Takeo Kanade,et al.  A Cooperative Algorithm for Stereo Matching and Occlusion Detection , 2000, IEEE Trans. Pattern Anal. Mach. Intell..

[11]  Edward G. Coffman,et al.  Approximation algorithms for bin packing: a survey , 1996 .

[12]  Jan Vitek,et al.  Affine Data-Flow Graphs for the Synthesis of Hard Real-Time Applications , 2012, 2012 12th International Conference on Application of Concurrency to System Design.

[13]  Sander Stuijk,et al.  SDF^3: SDF For Free , 2006, Sixth International Conference on Application of Concurrency to System Design (ACSD'06).

[14]  Gerard J. M. Smit,et al.  Efficient computation of buffer capacities for multi-rate real-time systems with back-pressure , 2006, Proceedings of the 4th International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS '06).

[15]  Lui Sha,et al.  Handling mixed-criticality in SoC-based real-time embedded systems , 2009, EMSOFT '09.

[16]  E.A. Lee,et al.  Synchronous data flow , 1987, Proceedings of the IEEE.

[17]  Omar U. Pereira Zapata,et al.  EDF and RM Multiprocessor Scheduling Algorithms : Survey and Performance Evaluation , 2005 .

[18]  Giuseppe Lipari,et al.  Resource partitioning among real-time applications , 2003, 15th Euromicro Conference on Real-Time Systems, 2003. Proceedings..

[19]  Jean A. Peperstraete,et al.  Cycle-static dataflow , 1996, IEEE Trans. Signal Process..

[20]  Sander Stuijk,et al.  Throughput-Buffering Trade-Off Exploration for Cyclo-Static and Synchronous Dataflow Graphs , 2008, IEEE Transactions on Computers.

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

[22]  Todor Stefanov,et al.  Exploiting just-enough parallelism when mapping streaming applications in hard real-time systems , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).