Analyzing composability of applications on MPSoC platforms

Modern day applications require use of multi-processor systems for reasons of performance, scalability and power efficiency. As more and more applications are integrated in a single system, mapping and analyzing them on a multi-processor platform becomes a multi-dimensional problem. Each possible set of applications that can be concurrently active leads to a different use-case (also referred to as scenario) that the system has to be verified and tested for. Analyzing the feasibility and resource utilization of all possible use-cases becomes very demanding and often infeasible. Therefore, in this paper, we highlight this issue of being able to analyze applications in isolation while still being able to reason about their overall behavior - also called composability. We make a number of novel observations about how arbitration plays an important role in system behavior. We compare two commonly used arbitration mechanisms, and highlight the properties that are important for such analysis. We conclude that none of these arbitration mechanisms provide the necessary features for analysis. They either suffer from scalability problems, or provide unreasonable estimates about performance, leading to waste of resources and/or undesirable performance. We further propose to use a Resource Manager (RM) to ensure applications meet their performance requirements. The basic functionalities of such a component are introduced. A high-level simulation model is developed to study the performance of RM, and a case study is performed for a system running an H.263 and a JPEG decoder. The case study illustrates at what granularity of control a resource manager can effectively regulate the progress of applications such that they meet their performance requirements.

[1]  Yang Cai,et al.  Nonpreemptive scheduling of periodic tasks in uni- and multiprocessor systems , 1996, Algorithmica.

[2]  Sanjoy K. Baruah,et al.  The Non-preemptive Scheduling of Periodic Tasks upon Multiprocessors , 2006, Real-Time Systems.

[3]  Wayne H. Wolf,et al.  The future of multiprocessor systems-on-chips , 2004, Proceedings. 41st Design Automation Conference, 2004..

[4]  R. Karp,et al.  Properties of a model for parallel computations: determinacy , 1966 .

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

[6]  Shuvra S. Bhattacharyya,et al.  Embedded Multiprocessors: Scheduling and Synchronization , 2000 .

[7]  Yajun Ha,et al.  Global Analysis of Resource Arbitration for MPSoC , 2006, 9th EUROMICRO Conference on Digital System Design (DSD'06).

[8]  Orlando Moreira,et al.  Predictable Embedded Multiprocessor System Design , 2004, SCOPES.

[9]  Yukihiro Nakamura,et al.  Proceedings of the 15th international symposium on System Synthesis , 2002 .

[10]  E. A. de Kock Multiprocessor mapping of process networks: a JPEG decoding case study , 2002 .

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

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

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

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

[15]  Sanjoy K. Baruah,et al.  Proportionate progress: A notion of fairness in resource allocation , 1993, Algorithmica.

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

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

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

[19]  Domenico Ferrari,et al.  Rate-controlled static-priority queueing , 1993, IEEE INFOCOM '93 The Conference on Computer Communications, Proceedings.

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

[21]  Diederik Verkest,et al.  Low cost task migration initiation in a heterogeneous MP-SoC , 2005, Design, Automation and Test in Europe.

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

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

[24]  Kees Goossens,et al.  AEthereal network on chip: concepts, architectures, and implementations , 2005, IEEE Design & Test of Computers.

[25]  MesmanBart,et al.  Analyzing composability of applications on MPSoC platforms , 2008 .

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