Mimer and Schedeval: Tools for Comparing Static Schedulers for Streaming Applications on Manycore Architectures

Scheduling algorithms published in the scientific literature are often difficult to evaluate or compare due to differences between the experimental evaluations in any two papers on the topic. Very few researchers share the details about the scheduling problem instances they use in their evaluation section, the code that allows them to transform the numbers they collect into the results and graphs they show, nor the raw data produced in their experiments. Also, many scheduling algorithms published are not tested against a real processor architecture to evaluate their efficiency in a realistic setting. In this paper, we describe Mimer, a modular evaluation tool-chain for static schedulers that enables the sharing of evaluation and analysis tools employed to elaborate scheduling papers. We propose Schedeval that integrates into Mimer to evaluate static schedules of streaming applications under throughput constraints on actual target execution platforms. We evaluate the performance of Schedeval at running streaming applications on the Intel Single-Chip Cloud computer (SCC), and we demonstrate the usefulness of our tool-chain to compare existing scheduling algorithms. We conclude that Mimer and Schedeval are useful tools to study static scheduling and to observe the behavior of streaming applications when running on many core architectures.

[1]  William Thies,et al.  StreamIt: A Language for Streaming Applications , 2002, CC.

[2]  Jörg Keller,et al.  Energy-efficient Mapping of Task Collections onto Manycore Processors , 2013, HiPEAC 2013.

[3]  Lothar Thiele,et al.  Efficient execution of Kahn process networks on multi-processor systems using protothreads and windowed FIFOs , 2009, 2009 IEEE/ACM/IFIP 7th Workshop on Embedded Systems for Real-Time Multimedia.

[4]  W. Schiffmann,et al.  A COMPREHENSIVE TEST BENCH FOR THE EVALUATION OF SCHEDULING HEURISTICS , 2004 .

[5]  Christoph W. Kessler,et al.  Fast Crown Scheduling Heuristics for Energy-Efficient Mapping and Scaling of Moldable Streaming Tasks on Many-Core Systems , 2015, SCOPES.

[6]  Kirk Pruhs,et al.  Speed Scaling of Tasks with Precedence Constraints , 2005, Theory of Computing Systems.

[7]  Christoph W. Kessler,et al.  Fast Crown Scheduling Heuristics for Energy-Efficient Mapping and Scaling of Moldable Streaming Tasks on Manycore Systems , 2015, ACM Trans. Archit. Code Optim..

[8]  Ishfaq Ahmad,et al.  Benchmarking the task graph scheduling algorithms , 1998, Proceedings of the First Merged International Parallel Processing Symposium and Symposium on Parallel and Distributed Processing.

[9]  Christoph W. Kessler,et al.  XPDL: Extensible Platform Description Language to Support Energy Modeling and Optimization , 2015, 2015 44th International Conference on Parallel Processing Workshops.

[10]  Johan Eker,et al.  CAL language report: Specification of the CAL actor language , 2003 .

[11]  Michael I. Gordon,et al.  Exploiting coarse-grained task, data, and pipeline parallelism in stream programs , 2006, ASPLOS XII.

[12]  Fanxin Kong,et al.  Energy Minimizing for Parallel Real-Time Tasks Based on Level-Packing , 2012, 2012 IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[13]  Roberto Tamassia,et al.  Handbook on Graph Drawing and Visualization , 2013 .

[14]  Saurabh Dighe,et al.  A 48-Core IA-32 Processor in 45 nm CMOS Using On-Die Message-Passing and DVFS for Performance and Power Scaling , 2011, IEEE Journal of Solid-State Circuits.

[15]  Johan Janzén Evaluation of Energy-Optimizing Scheduling Algorithms for Streaming Computations on Massively Parallel Multicore Architectures , 2014 .

[16]  Christoph W. Kessler,et al.  Engineering Parallel Sorting for the Intel SCC , 2012, ICCS.

[17]  Christoph W. Kessler,et al.  Optimized On-Chip-Pipelining for Memory-Intensive Computations on Multi-Core Processors with Explicit Memory Hierarchy , 2012, J. Univers. Comput. Sci..

[18]  Roberto Tamassia,et al.  Handbook of Graph Drawing and Visualization (Discrete Mathematics and Its Applications) , 2007 .

[19]  Brian W. Kernighan,et al.  AMPL: A Modeling Language for Mathematical Programming , 1993 .

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

[21]  Mendel Rosenblum,et al.  Stream programming on general-purpose processors , 2005, 38th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'05).