PASA: Framework for partitioning and scheduling automation applications on multicore controllers

With multicore controllers becoming available for industrial automation applications, new tools and algorithms to compute efficient partitioning and scheduling solutions for control applications need to be developed. Optimizing the deployment and the schedule of a set of Function Block Diagrams on a parallel architecture are both NP hard. Additionally, control engineers need help to shift from the single core towards the multicore paradigm. By taking advantage of the parallelism inside the control applications it is effectively possible to decrease the finish times of the applications which enables to decrease their cycle times and improve the quality of service of the controller processes. This paper presents a practical solution to this problem that consists in a framework, called PASA, designed for partitioning and scheduling control applications modeled as function block diagrams. It enables new algorithms tailored to solve these optimization problems. This paper presents an extension of list-based DAG scheduling algorithms designed to compute a deployment and schedule for several control applications with different cycle times. The different variants of this algorithm are compared against each other as well as against some other existing solutions on a set of randomly generated examples.

[1]  Jan Carlson,et al.  Task Synthesis for Control Applications on Multicore Platforms , 2014, 2014 11th International Conference on Information Technology: New Generations.

[2]  Helen D. Karatza,et al.  Scheduling multiple task graphs in heterogeneous distributed real-time systems by exploiting schedule holes with bin packing techniques , 2011, Simul. Model. Pract. Theory.

[3]  Nawwaf N. Kharma,et al.  A high performance algorithm for static task scheduling in heterogeneous distributed computing systems , 2008, J. Parallel Distributed Comput..

[4]  Heiko Koziolek,et al.  FASA: a scalable software framework for distributed control systems , 2012, ISARCS '12.

[5]  Emmanuel Jeannot,et al.  Comparative Evaluation Of The Robustness Of DAG Scheduling Heuristics , 2008, CoreGRID Integration Workshop.

[6]  A. Zoitl,et al.  Framework for Distributed Industrial Automation and Control (4DIAC) , 2008, 2008 6th IEEE International Conference on Industrial Informatics.

[7]  Rizos Sakellariou,et al.  An Experimental Investigation into the Rank Function of the Heterogeneous Earliest Finish Time Scheduling Algorithm , 2003, Euro-Par.

[8]  Rizos Sakellariou,et al.  Scheduling multiple DAGs onto heterogeneous systems , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

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

[10]  Yun Li,et al.  PID control system analysis, design, and technology , 2005, IEEE Transactions on Control Systems Technology.

[11]  David S. Johnson,et al.  Near-optimal bin packing algorithms , 1973 .

[12]  Chenyang Lu,et al.  Parallel Real-Time Scheduling of DAGs , 2014, IEEE Transactions on Parallel and Distributed Systems.

[13]  Füsun Özgüner,et al.  Dynamic, competitive scheduling of multiple DAGs in a distributed heterogeneous environment , 1998, Proceedings Seventh Heterogeneous Computing Workshop (HCW'98).

[14]  Séverine Sentilles,et al.  A Component Model for Control-Intensive Distributed Embedded Systems , 2008, CBSE.