Software Concerns for Execution on Heterogeneous Platforms
Licentiatavhandling, 2018

Context: Heterogeneous computing, i.e., computing performed on different types of execution units, such as CPUs, GPUs, FPGAs, has shown to be a feasible path towards higher performance and less energy consumption. Heterogeneous platforms are specialized on specific types of computation, e.g., parallel computing. However, this approach imposes a number of challenges on the software side. One of such challenges is related to software deployment, in which applications must be prepared to be executed in different target architectures. Further, the approach demands a robust inter-process communication solution, since these systems inherently distribute computation.

Objective: The objective of this thesis is twofold. First, to provide an overview of the state-of-the-art of software deployment on heterogeneous platforms, with emphasis to goals, concerns, challenges, and identification of topics of importance for further research. Second, to investigate the communication problem and propose a novel method that improves inter-process communication in distributed systems.
Method: Six papers were written as results of four studies: (i) a literature review in the form of a systematic mapping study on software deployment on heterogeneous platforms; (ii) a systematic evaluation of deployment methods in the context of a self-driving heavy vehicle; (iii) an investigation on data marshalling approaches and how they perform in the context of a cyber-physical system; and (iv) a novel message restructuring approach, also in the context of cyber-physical systems.

Results and Conclusions: The mapping study discussed the (i) concerns on the topic such as scheduling and software quality; the (ii) approaches available, such as frameworks; and the (iii) architecture solutions used, such as styles and principles. In the second study, we found that the performance decay is negligible when using sandboxed environments for deployment. In the third and fourth studies, we proposed and evaluated a data marshalling approach that decreases bandwidth consumption.
Future work: We intend to identify challenges that are currently faced in an industrial setting. In particular, a migration from a non-heterogenous platform to a heterogeneous platform can be studied in the context of a modern software development process, such as DevOps.

Software Architecture

Heterogeneous Platforms

Software Deployment

Interprocess Communication

Room 130, Svea building, Forskningsgången 4, Chalmers University of Technology, Campus Lindholmen
Opponent: Prof. Jan Carlson, Mälardalen University, Sweden

Författare

Hugo Sica de Andrade

Chalmers, Data- och informationsteknik, Software Engineering

Software Deployment on Heterogeneous Platforms: A Systematic Mapping Study

A Review on Software Architectures for Heterogeneous Platforms

2018 25th Asia-Pacific Software Engineering Conference (APSEC),;Vol. 2018-December(2018)p. 209-218

Paper i proceeding

Systematic Evaluation of Sandboxed Software Deployment for Real-time Software on the Example of a Self-Driving Heavy Vehicle

19th IEEE International Conference on Intelligent Transportation Systems, ITSC 2016; Rio de Janeiro; Brazil; 1-4 November,;(2016)p. Art no 7795942, Pages 2398-2403

Paper i proceeding

Improving Bandwidth Efficiency with Self-Adaptation for Data Marshalling on the Example of a Self-Driving Miniature Car

Proceedings of the 2015 European Conference on Software Architecture Workshops Article No. 21,;(2015)

Paper i proceeding

Systematic Evaluation of Three Data Marshalling Approaches for Distributed Software Systems

Proceedings of the 15th Workshop on Domain-Specific Modelling,;(2015)p. 71-76

Paper i proceeding

Adaptive message restructuring using model-driven engineering

Advances in Intelligent Systems and Computing,;(2016)p. 773-783

Kapitel i bok

HELPING: Modellering av heterogena plattformar av inbyggda system

Vetenskapsrådet (VR), 2014-10-01 -- 2016-12-31.

Styrkeområden

Informations- och kommunikationsteknik

Ämneskategorier

Programvaruteknik

Inbäddad systemteknik

Datorsystem

Utgivare

Chalmers

Room 130, Svea building, Forskningsgången 4, Chalmers University of Technology, Campus Lindholmen

Opponent: Prof. Jan Carlson, Mälardalen University, Sweden

Mer information

Senast uppdaterat

2018-11-20