Iterative Probabilistic Performance Prediction for Multi-Application Multiprocessor Systems

Modern embedded devices are increasingly becoming multiprocessor with the need to support a large number of applications to satisfy the demands of users. Due to a huge number of possible combinations of these multiple applications, it becomes a challenge to predict their performance. This becomes even more important when applications may be dynamically started and stopped in the system. Since modern embedded systems allow users to download and add applications at run-time, a complete design-time analysis is not always possible. This paper presents a new technique to accurately predict the performance of multiple applications mapped on a multiprocessor platform. Iterative probabilistic analysis is used to estimate the time spent by tasks during their contention phase, and thereby predicting the performance of applications. The approach is scalable with the number of applications and processors in the system. As compared to earlier techniques, this approach is much faster and scalable, while still improving the accuracy. The analysis takes 300 ¿s on a 500 MHz processor for ten applications. Since multimedia applications are increasingly becoming more dynamic, results of a case-study with applications with varying execution times are also presented. In addition, results of a case-study with real applications executing on a field-programmable gate array multiprocessor platform are shown.

[1]  Edward A. Lee,et al.  Synthesis of Embedded Software from Synchronous Dataflow Specifications , 1999, J. VLSI Signal Process..

[2]  Sander Stuijk,et al.  Throughput Analysis of Synchronous Data Flow Graphs , 2006, Sixth International Conference on Application of Concurrency to System Design (ACSD'06).

[3]  Shuvra S. Bhattacharyya,et al.  Background Terminology And Notation , 2009 .

[4]  Sudarshan K. Dhall,et al.  An On Line Algorithm for Real-Time Tasks Allocation , 1986, IEEE Real-Time Systems Symposium.

[5]  Giorgio C. Buttazzo,et al.  QoS guarantee using probabilistic deadlines , 1999, Proceedings of 11th Euromicro Conference on Real-Time Systems. Euromicro RTS'99.

[6]  Kristof Denolf,et al.  SPRINT: A Tool to Generate Concurrent Transaction-Level Models from Sequential Code , 2007, EURASIP J. Adv. Signal Process..

[7]  Petru Eles,et al.  Schedulability analysis of applications with stochastic task execution times , 2004, TECS.

[8]  Yajun Ha,et al.  Analyzing composability of applications on MPSoC platforms , 2008, J. Syst. Archit..

[9]  Gang Qu,et al.  Probabilistic design of multimedia embedded systems , 2007, TECS.

[10]  Sander Stuijk,et al.  Parametric Throughput Analysis of Synchronous Data Flow Graphs , 2008, 2008 Design, Automation and Test in Europe.

[11]  Edward A. Lee,et al.  Hierarchical static scheduling of dataflow graphs onto multiple processors , 1995, 1995 International Conference on Acoustics, Speech, and Signal Processing.

[12]  Yajun Ha,et al.  Multiprocessor systems synthesis for multiple use-cases of multiple applications on FPGA , 2008, TODE.

[13]  R. R. P. Jackson,et al.  Introduction to the Theory of Queues , 1963 .

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

[15]  Ali Dasdan,et al.  Experimental analysis of the fastest optimum cycle ratio and mean algorithms , 2004, TODE.

[16]  Yajun Ha,et al.  A Probabilistic Approach to Model Resource Contention for Performance Estimation of Multi-featured Media Devices , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[17]  Francky Catthoor,et al.  Managing dynamic concurrent tasks in embedded real-time multimedia systems , 2002, 15th International Symposium on System Synthesis, 2002..

[18]  Falko Bause,et al.  Stochastic Petri Nets , 1996 .

[19]  Rolf Ernst,et al.  A Formal Approach to MpSoC Performance Verification , 2003, Computer.

[20]  Sander Stuijk,et al.  Exploring trade-offs in buffer requirements and throughput constraints for synchronous dataflow graphs , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[21]  Sander Stuijk,et al.  Dataflow Analysis for Real-Time Embedded Multiprocessor System Design , 2005 .

[22]  John Wawrzynek,et al.  Research accelerator for multiple processors , 2006, 2006 IEEE Hot Chips 18 Symposium (HCS).

[23]  G. F. Newell,et al.  Introduction to the Theory of Queues. , 1963 .

[24]  S. Stuijk Predictable mapping of streaming applications on multiprocessors , 2007 .

[25]  Jakob Engblom,et al.  The worst-case execution-time problem—overview of methods and survey of tools , 2008, TECS.

[26]  Marc Geilen,et al.  Software/Hardware Engineering with the Parallel Object-Oriented Specification Language , 2007, 2007 5th IEEE/ACM International Conference on Formal Methods and Models for Codesign (MEMOCODE 2007).

[27]  Lothar Thiele,et al.  Real-time calculus for scheduling hard real-time systems , 2000, 2000 IEEE International Symposium on Circuits and Systems. Emerging Technologies for the 21st Century. Proceedings (IEEE Cat No.00CH36353).

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

[29]  Luca Benini,et al.  Combining Simulation and Formal Methods for System-Level Performance Analysis , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[30]  Edward A. Lee,et al.  Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing , 1989, IEEE Transactions on Computers.

[31]  Charles U. Martel,et al.  On non-preemptive scheduling of period and sporadic tasks , 1991, [1991] Proceedings Twelfth Real-Time Systems Symposium.

[32]  Koen De Bosschere,et al.  Function level parallelism driven by data dependencies , 2007, CARN.

[33]  Alexandru Turjan,et al.  System design using Khan process networks: the Compaan/Laura approach , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[34]  Edward G. Coffman,et al.  Waiting Time Distributions for Processor-Sharing Systems , 1970, JACM.

[35]  Shuvra S. Bhattacharyya,et al.  Intermediate Representations for Design Automation of Multiprocessor DSP Systems , 2002, Des. Autom. Embed. Syst..

[36]  Christoforos E. Kozyrakis,et al.  RAMP: Research Accelerator for Multiple Processors , 2007, IEEE Micro.

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