论文标题
在汽车域中重构软件在异质平台上执行
Refactoring Software in the Automotive Domain for Execution on Heterogeneous Platforms
论文作者
论文摘要
在计算机系统中实现更高性能的最重要方法是通过使用包含多种处理器的硬件平台(例如CPU,GPU和FPGA)来实现异质计算。在异质平台上可以更快地执行几种类型的算法。但是,将CPU的可确保软件迁移到其他类型的执行平台为软件工程带来了许多挑战。在这种类型的迁移中,需要重大努力,特别是用于重新构造和重新实现软件。此外,在性能和其他运行时属性方面优化它可能非常具有挑战性,使过程复杂,昂贵且容易出错。因此,需要一种基于明确和合理的建筑决策的系统方法,才能成功地重构从同质平台到异质平台进行重构。在本文中,我们提出了一个决策框架,该框架在重构软件系统以适应异构平台时支持工程师。它包括对重要因素的评估,以最大程度地降低此过程中复发问题的风险。通过一系列问题,从业人员能够提出答案,这将有助于做出适当的建筑决策以适应异构平台。该框架的内容是根据与汽车域中建筑师和开发人员的讨论开发和进化的。
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.