Allocation Optimization for Component-Based Embedded Systems with GPUs

Platforms equipped with GPU processors help mitigating the ever-increasing computational demands of modern embedded systems. Such systems can be specifically developed by using component-based development thanks to the concept of flexible components. Through this concept, a component can be transparently executed either on a CPU or a GPU. However, this flexibility complicates the allocation process because it adds additional complexity (i.e., due to the undecided CPU or GPU execution) and constraints to consider (i.e., CPUs and GPUs properties) In this work, we address this problem by providing an optimization model for component-based embedded systems executing on both CPU and GPU. The model addresses important optimization goals, characteristic to the embedded system domain, such as memory usage, energy usage and execution time. A novelty of this work is the formal description of the optimization model, which supports the usage of mixed integer nonlinear programming to compute optimal allocation schemes. To examine the feasibility of the proposed method, we apply the optimization model on a vision system constructed using the industrial Rubus component model.

[1]  Feng Zhao,et al.  Energy-optimal software partitioning in heterogeneous multiprocessor embedded systems , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[2]  Gabriel Campeanu,et al.  Run-time component allocation in CPU-GPU embedded systems , 2017, SAC.

[3]  Sam Malek,et al.  An energy consumption framework for distributed java-based systems , 2007, ASE.

[4]  Lars Grunske,et al.  Software Architecture Optimization Methods: A Systematic Literature Review , 2013, IEEE Transactions on Software Engineering.

[5]  Kang G. Shin,et al.  Component allocation with multiple resource constraints for large embedded real-time software design , 2004, Proceedings. RTAS 2004. 10th IEEE Real-Time and Embedded Technology and Applications Symposium, 2004..

[6]  Timo Berthold Heuristic algorithms in global MINLP solvers , 2014 .

[7]  Song Huang,et al.  On the energy efficiency of graphics processing units for scientific computing , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[8]  Martin Burtscher,et al.  Measuring GPU Power with the K20 Built-in Sensor , 2014, GPGPU@ASPLOS.

[9]  Michael Tiegelkamp,et al.  IEC 61131-3: Programming Industrial Automation Systems: Concepts and Programming Languages, Requirements for Programming Systems, Decision-Making Aids , 2001 .

[10]  Séverine Sentilles,et al.  Component Allocation Optimization for Heterogeneous CPU-GPU Embedded Systems , 2014, 2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications.

[11]  Osgi Alliance,et al.  Osgi Service Platform, Release 3 , 2003 .

[12]  Sanjoy K. Baruah Task Partitioning Upon Heterogeneous Multiprocessor Platforms , 2004, IEEE Real-Time and Embedded Technology and Applications Symposium.

[13]  Jukka Mäki-Turja,et al.  The Rubus component model for resource constrained real-time systems , 2008, 2008 International Symposium on Industrial Embedded Systems.

[14]  Séverine Sentilles,et al.  Flexible Components for Development of Embedded Systems with GPUs , 2017, 2017 24th Asia-Pacific Software Engineering Conference (APSEC).