HPM-Frame: A Decision Framework for Executing Software on Heterogeneous Platforms
Hugo Andrade, Ola Benderius, Christian Berger, Ivica Crnkovic, Jan, Bosch

TL;DR
This paper introduces HPM-Frame, a systematic decision framework designed to assist engineers in refactoring CPU-centric applications for execution on heterogeneous platforms like GPUs and FPGAs, addressing the complexity of such transitions.
Contribution
It presents a structured five-step framework covering the software engineering lifecycle to facilitate the refactoring process for heterogeneous computing platforms.
Findings
Framework is feasible based on practitioner feedback.
Case study demonstrates step-by-step application in automotive computer vision.
Positive impressions from practitioners support framework's utility.
Abstract
Heterogeneous computing is one of the most important computational solutions to meet rapidly increasing demands on system performance. It typically allows the main flow of applications to be executed on a CPU while the most computationally intensive tasks are assigned to one or more accelerators, such as GPUs and FPGAs. The refactoring of systems for execution on such platforms is highly desired but also difficult to perform, mainly due the inherent increase in software complexity. After exploration, we have identified a current need for a systematic approach that supports engineers in the refactoring process -- from CPU-centric applications to software that is executed on heterogeneous platforms. In this paper, we introduce a decision framework that assists engineers in the task of refactoring software to incorporate heterogeneous platforms. It covers the software engineering lifecycle…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware System Performance and Reliability · Cloud Computing and Resource Management · Real-Time Systems Scheduling
