A Review on Software Architectures for Heterogeneous Platforms

A Review on Software Architectures for Heterogeneous Platforms

A Review on Software Architectures for Heterogeneous Platforms Hugo Andrade Ivica Crnkovic Department of Computer Science and Engineering Department of Computer Science and Engineering Chalmers j University of Gothenburg Chalmers j University of Gothenburg Gothenburg, Sweden Gothenburg, Sweden [email protected] [email protected] Abstract—The increasing demands for computing performance a computer system containing one CPU and one GPU as an have been a reality regardless of the requirements for smaller and accelerator, the program control data may be processed by the more energy efficient devices. Throughout the years, the strategy CPU while multiple floating-point calculations are processed adopted by industry was to increase the robustness of a single processor by increasing its clock frequency and mounting more by the GPU. This strategy allows for better performance in transistors so more calculations could be executed. However, high-demand systems, but at the same time requires a robust it is known that the physical limits of such processors are orchestration of hardware resources and the inherent software being reached, and one way to fulfill such increasing computing complexity. demands has been to adopt a strategy based on heterogeneous A key aspect in heterogeneous computing is software de- computing, i.e., using a heterogeneous platform containing more than one type of processor. This way, different types of tasks ployment [3], through which the mapping between software can be executed by processors that are specialized in them. kernels and PUs is created. In addition to data types to be Heterogeneous computing, however, poses a number of challenges processed, there are several other attributes to be taken into to software engineering, especially in the architecture and deploy- consideration for the decomposition of the software system ment phases. In this paper, we conduct an empirical study that and allocation onto PUs. Critical aspects include, for instance, aims at discovering the state-of-the-art in software architecture for heterogeneous computing, with focus on deployment. We the proximity between PUs and bandwidth through which mes- conduct a systematic mapping study that retrieved 28 studies, sages will be passed. Such a complex environment demands which were critically assessed to obtain an overview of the a software architecture that accounts for these diverse aspects research field. We identified gaps and trends that can be used by while supporting software deployment on heterogeneous plat- both researchers and practitioners as guides to further investigate forms. The software architecture must enable the software to the topic. Index Terms—software architecture, heterogeneous computing, take full advantage of the hardware resources, considering the software deployment different nature of the available processors. In this paper, we describe the conduction of a systematic mapping study that aims at investigating the state-of-the-art I. INTRODUCTION of software deployment on heterogeneous platforms, focusing The demands for computing performance keep increasing. on the architecture discipline. Our intention is to provide an Especially in the domain of cyber-physical systems, there is a overview of the research area, allowing both practitioners to large amount of data to be processed and critical requirements acknowledge approaches and researchers to abide to oppor- to be satisfied. Throughout the years, the hardware industry tunities for future research. This systematic mapping study has aimed at increasing the processors’ clock frequency in gathers common practices while highlighting trends and gaps arXiv:1905.01695v1 [cs.SE] 5 May 2019 order to process more data. In this sense, the physical density in research. of the chips has been increased with the addition of more and This paper is derived from a larger study investigating more transistors and therefore improving the capacity of the further aspects of software deployment on heterogeneous processing unit (PU). However, we are reaching the physical platforms. Due to the importance of the architecture discipline limit of processors with such strategy [1], uprising the need for within the context of this topic, we present our findings a different way to continue increasing hardware performance separately in the present paper. in accordance to the also increasing software demands. The remainder of this paper is organized as follows. Sec- One way to handle such performance requirements is tion II describes the background. Section III presents the through heterogeneous computing [2]. It refers to the use of research method used in this study. Section IV provides the re- processors of different types in a computer system, such as sults after critically assessing the primary studies. In section V, CPUs, GPUs and FPGAs. In software engineering, the goal we discuss those results and reflect on their impact to the in employing heterogeneous computing is to decompose the research area. Section VI describes the threats to the validity software system into comprehensive kernels and assign data of this work. Section VII presents the related work. Finally, to processors that are specialized in them. For example, in in section VIII we conclude presenting our final remarks. II. BACKGROUND III. RESEARCH METHOD As previously mentioned, this paper is part of a larger The topic of heterogeneous computing has been increasingly study that included aspects other than architecture in the studied over the past few years, mainly due to the general con- investigation of software deployment on heterogeneous plat- clusions that the combination of different types of processors forms. The process described here was conducted as part - rather than the choice between one over another - can bring of such study, with the difference that, for this study, we performance improvements. In our experience conducting this selected only the papers referring to architecture and analyzed systematic mapping study, we identified multiple definitions them separately. As the goal is to identify the state-of-the- to common terms used in this area of research. Thus, it is art of software deployment on heterogeneous platforms, we important to clarify a few terms used in this paper in order to performed a literature review in the form of a systematic avoid misconceptions. Mapping Study (MS). MSs differ from classic Systematic Heterogeneous platform: Refers to a set of processing units Literature Reviews in their broadness and depth [4], [5]. Rather of different types within a computing system. We found than having a narrow focus on the investigation, in this study multiple studies that refer to this term in different ways. we aim at obtaining a broad overview of the research area Besides meaning different processors, we found that this term through categorizing papers and aspects within them. also refers to platforms containing processors of the same This study followed the steps below, which were based on type, but with different capacities. For instance, a system that the guidelines proposed in [6]. includes 2 CPUs with a different number of cores and/or clock 1) Definition of research question frequencies is often called heterogeneous. Another situation 2) Conduction of search in which the term is commonly found is when the types and 3) Screening of papers further characteristics of the processors are omitted, being dis- 4) Keywording using abstracts cussed only the difference in capacity of the PUs. For example, 5) Data extraction and mapping process strictly combinatorial problems that take into account a cost Prior to the definition of research questions, we composed formula and a few performance attributes of the processors in a Review Protocol 1 to thoroughly define the review process. order to determine the best deployment strategy. In this paper, The document serves as a guide during the review and includes we only consider systems that clearly and explicitly include information such as the motivation for a review, rationale to processors of different types, such as CPUs, GPUs and FPGAs. the research questions, inclusion/exclusion criteria and facets Software deployment: Refers to a stage within the software in which papers are categorized. All steps of the review engineering process in which the (ready to be executed) soft- were documented to allow traceability between them and ware is placed onto the target hardware for execution. As we enable reproducibility. Three researchers were involved in the conducted this review, we realized that the activities performed processes of defining and conducting the review. Multiple in this stage are heavily influenced by activities in previous meetings were held in order to align concepts, findings, and stages in the software process. For instance, we learned that validate partial results that were obtained individually. one common way to realize deployment onto heterogeneous In the following subsections, we describe the review steps. platforms is by using a development framework, which needs to be applied as soon as in the architecture phase. For this A. Research question reason, we extend the concept of deployment to include all From the goal of this study, we elaborated three research activities that are relevant throughout the software engineering questions that cover aspects of interest within the topic of process to successfully execute software onto a heterogeneous software deployment on heterogeneous platforms. The first platform. research question refers to

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    10 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us