Colored Petri Net model with automatic parallelization on real-time multicore architectures

This paper proposes a novel Colored Petri Net (CPN) based dynamic scheduling scheme, which aims at scheduling real-time tasks on multiprocessor system-on-chip (MPSoC) platforms. Our CPN based scheme addresses two key issues on task scheduling problems, dependence detecting and task dispatching. We model inter-task dependences using CPN, including true-dependences, output-dependences, anti-dependences and structural dependences. The dependences can be detected automatically during model execution. Additionally, the proposed model takes the checking of real-time constraints into consideration. We evaluated the scheduling scheme on the state-of-art FPGA based multiprocessor hardware system and modeled the system behavior using CPN tools. Simulations and state space analyses are conducted on the model. Experimental results demonstrate that our scheme can achieve 98.9% of the ideal speedup on a real FPGA based hardware prototype.

[1]  Bernd Kleinjohann,et al.  From Model-Driven Design to Resource Management for Distributed Embedded Systems , 2006 .

[2]  L. Dagum,et al.  OpenMP: an industry standard API for shared-memory programming , 1998 .

[3]  Chuang Lin,et al.  Modeling and survivability analysis of service composition using Stochastic Petri Nets , 2009, The Journal of Supercomputing.

[4]  Wen-mei W. Hwu,et al.  MCUDA: An Efficient Implementation of CUDA Kernels for Multi-core CPUs , 2008, LCPC.

[5]  Paulo Romero Martins Maciel,et al.  Pre-Runtime Scheduling Considering Timing and Energy Constraints in Embedded Systems with Multiple Processors , 2006, DIPES.

[6]  George J. Pappas,et al.  Optimal Paths in Weighted Timed Automata , 2001, HSCC.

[7]  Kim G. Larsen,et al.  Minimum-Cost Reachability for Priced Timed Automata , 2001, HSCC.

[8]  R. Dodd,et al.  Coloured Petri Net Modelling of Real-Time Task Scheduling , 2006, 2006 ieee/aiaa 25TH Digital Avionics Systems Conference.

[9]  Lars Michael Kristensen,et al.  Coloured Petri Nets and CPN Tools for modelling and validation of concurrent systems , 2007, International Journal on Software Tools for Technology Transfer.

[10]  P. Cochat,et al.  Et al , 2008, Archives de pediatrie : organe officiel de la Societe francaise de pediatrie.

[11]  Manish Madhukar,et al.  Petri net model of a dynamically partitioned multiprocessor system , 1995, Proceedings 6th International Workshop on Petri Nets and Performance Models.

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

[14]  Christoforos E. Kozyrakis,et al.  Flexible architectural support for fine-grain scheduling , 2010, ASPLOS XV.

[15]  Abel G. Silva-Filho,et al.  A timed Petri net approach for pre-runtime scheduling in partial and dynamic reconfigurable systems , 2005, 19th IEEE International Parallel and Distributed Processing Symposium.

[16]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[17]  Mladen Berekovic,et al.  A Distributed, Simultaneously Multi-Threaded (SMT) Processor with Clustered Scheduling Windows for Scalable DSP Performance , 2007, J. Signal Process. Syst..

[18]  Christopher J. Hughes,et al.  Carbon: architectural support for fine-grained parallelism on chip multiprocessors , 2007, ISCA '07.

[19]  M. Zubereky,et al.  Timed Colored Petri Net Models of Distributed Memory Multithreaded Multiprocessors , 1998 .

[20]  Reza Entezari-Maleki,et al.  Task scheduling modelling and reliability evaluation of grid services using coloured Petri nets , 2010, Future Gener. Comput. Syst..

[21]  Kim G. Larsen,et al.  Optimal scheduling using priced timed automata , 2005, PERV.

[22]  Paulo Romero Martins Maciel,et al.  A Novel Approach for Off-Line Multiprocessor Scheduling in Embedded Hard Real-Time Systems , 2004, DIPES.

[23]  Oded Maler,et al.  Task graph scheduling using timed automata , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[24]  A. Hoheisel,et al.  Dynamic Workflows for Grid Applications , 2003 .

[25]  Joachim Geiler,et al.  Workflow-based Grid applications , 2006, Future Gener. Comput. Syst..

[26]  Jirí Srba,et al.  Comparing the Expressiveness of Timed Automata and Timed Extensions of Petri Nets , 2008, FORMATS.

[27]  Daniel Kroening,et al.  Formal verification of SystemC by automatic hardware/software partitioning , 2005, Proceedings. Second ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2005. MEMOCODE '05..

[28]  Bradley C. Kuszmaul,et al.  Cilk: an efficient multithreaded runtime system , 1995, PPOPP '95.

[29]  Eduard Ayguadé,et al.  Task Superscalar: An Out-of-Order Task Pipeline , 2010, 2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture.

[30]  Y.-K. Kwok,et al.  Static scheduling algorithms for allocating directed task graphs to multiprocessors , 1999, CSUR.

[31]  Mostafa Azizi,et al.  Modeling and Analysis of a Real-Time System Using the Networks of Extended Petri , 2009, J. Comput..