Refactoring Software in the Automotive Domain for Execution on Heterogeneous Platforms

05/18/2020
by   Hugo Andrade, et al.
0

The most important way to achieve higher performance in computer systems is through heterogeneous computing, i.e., by adopting hardware platforms containing more than one type of processor, such as CPUs, GPUs, and FPGAs. Several types of algorithms can be executed significantly faster on a heterogeneous platform. However, migrating CPU-executable software to other types of execution platforms poses a number of challenges to software engineering. Significant efforts are required in such type of migration, particularly for re-architecting and re-implementing the software. Further, optimizing it in terms of performance and other runtime properties can be very challenging, making the process complex, expensive, and error-prone. Therefore, a systematic approach based on explicit and justified architectural decisions is needed for a successful refactoring process from a homogeneous to a heterogeneous platform. In this paper, we propose a decision framework that supports engineers when refactoring software systems to accommodate heterogeneous platforms. It includes the assessment of important factors in order to minimize the risk of recurrent problems in the process. Through a set of questions, practitioners are able to formulate answers that will help in making appropriate architectural decisions to accommodate heterogeneous platforms. The contents of the framework have been developed and evolved based on discussions with architects and developers in the automotive domain.

READ FULL TEXT

page 1

page 2

research
12/01/2020

HPM-Frame: A Decision Framework for Executing Software on Heterogeneous Platforms

Heterogeneous computing is one of the most important computational solut...
research
05/05/2019

A Review on Software Architectures for Heterogeneous Platforms

The increasing demands for computing performance have been a reality reg...
research
08/05/2020

Supporting Robotic Software Migration Using Static Analysis and Model-Driven Engineering

The wide use of robotic systems contributed to developing robotic softwa...
research
03/15/2023

Machine Learning-Driven Adaptive OpenMP For Portable Performance on Heterogeneous Systems

Heterogeneity has become a mainstream architecture design choice for bui...
research
03/20/2021

The Concept of an Autonomic Avionics Platform and the Resulting Software Engineering Challenges

The self-* properties commonly associated with the concept of autonomic ...
research
04/13/2020

Intelligent Orchestration of ADAS Pipelines on Next Generation Automotive Platforms

Advanced Driver-Assistance Systems (ADAS) is one of the primary drivers ...
research
05/12/2014

Resource-Aware Replication on Heterogeneous Multicores: Challenges and Opportunities

Decreasing hardware feature sizes and increasing heterogeneity in multic...

Please sign up or login with your details

Forgot password? Click here to reset