Compiler-Assisted Test Acceleration on GPUs for Embedded Software

被引:12
|
作者
Yaneva, Vanya [1 ]
Rajan, Ajitha [1 ]
Dubach, Christophe [1 ]
机构
[1] Univ Edinburgh, Sch Informat, Edinburgh, Midlothian, Scotland
基金
英国工程与自然科学研究理事会;
关键词
Functional testing; GPUs; Embedded software; Compilers; Automated testing;
D O I
10.1145/3092703.3092720
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Embedded software is found everywhere from our highly visible mobile devices to the confines of our car in the form of smart sensors. Embedded software companies are under huge pressure to produce safe applications that limit risks, and testing is absolutely critical to alleviate concerns regarding safety and user privacy. This requires using large test suites throughout the development process, increasing time-to-market and ultimately hindering competitivity. Speeding up test execution is, therefore, of paramount importance for embedded software developers. This is traditionally achieved by running, in parallel, multiple tests on large-scale clusters of computers. However, this approach is costly in terms of infrastructure maintenance and energy consumed, and is at times inconvenient as developers have to wait for their tests to be scheduled on a shared resource. We propose to look at exploiting GPUs (Graphics Processing Units) for running embedded software testing. GPUs are readily available in most computers and offer tremendous amounts of parallelism, making them an ideal target for embedded software testing. In this paper, we demonstrate, for the first time, how test executions of embedded C programs can be automatically performed on a GPU, without involving the end user. We take a compiler-assisted approach which automatically compiles the C program into GPU kernels for parallel execution of the input tests. Using this technique, we achieve an average speedup of 16x when compared to CPU execution of input tests across nine programs from an industry standard embedded benchmark suite.
引用
下载
收藏
页码:35 / 45
页数:11
相关论文
共 50 条
  • [1] Compiler-Assisted Test Acceleration Using GPUs
    Yaneva, Vanya
    PROCEEDINGS 2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING - COMPANION (ICSE-COMPANION, 2018, : 521 - 523
  • [2] Compiler-Assisted Scheduling for Multi-Instance GPUs
    Porter, Chris
    Chen, Chao
    Pande, Santosh
    14TH WORKSHOP ON GENERAL PURPOSE PROCESSING USING GPU (GPGPU 2022), 2022, : 19 - 24
  • [3] Compiler-assisted memory encryption for embedded processors
    Nagarajan, Vijay
    Gupta, Rajiv
    Krishnaswamy, Arvind
    HIGH PERFORMANCE EMBEDDED ARCHITECTURES AND COMPILERS, PROCEEDINGS, 2007, 4367 : 7 - +
  • [4] Compiler-Assisted Memory Encryption for Embedded Processors
    Nagarajan, Vijay
    Gupta, Rajiv
    Krishnaswamy, Arvind
    TRANSACTIONS ON HIGH-PERFORMANCE EMBEDDED ARCHITECTURES AND COMPILERS II, 2009, 5470 : 23 - 44
  • [5] Microcontroller Compiler-Assisted Software Fault Tolerance
    Bohman, Matthew
    James, Benjamin
    Wirthlin, Michael J.
    Quinn, Heather
    Goeders, Jeffrey
    IEEE TRANSACTIONS ON NUCLEAR SCIENCE, 2019, 66 (01) : 223 - 232
  • [6] Compiler-assisted software DSM on a WAN cluster
    Niwa, J
    PARALLEL AND DISTRIBUTED COMPUTING: APPLICATIONS AND TECHNOLOGIES, PROCEEDINGS, 2004, 3320 : 815 - 828
  • [7] CASH-RF: A Compiler-Assisted Hierarchical Register File in GPUs
    Oh, Yunho
    Jeong, Ipoom
    Ro, Won Woo
    Yoon, Myung Kuk
    IEEE EMBEDDED SYSTEMS LETTERS, 2022, 14 (04) : 187 - 190
  • [8] Compiler-Assisted Selection of a Software Transactional Memory System
    Schindewolf, Martin
    Esselson, Alexander
    Karl, Wolfgang
    ARCHITECTURE OF COMPUTING SYSTEMS - ARCS 2011, 2011, 6566 : 147 - 157
  • [9] Compiler-Assisted Hardening of Embedded Software Against Interrupt Latency Side-Channel Attacks
    Winderix, Hans
    Muhlberg, Jan Tobias
    Piessens, Frank
    2021 IEEE EUROPEAN SYMPOSIUM ON SECURITY AND PRIVACY (EUROS&P 2021), 2021, : 667 - 682
  • [10] Processor Energy Characterization for Compiler-Assisted Software Energy Reduction
    Gauthier, Lovic
    Ishihara, Tohru
    JOURNAL OF ELECTRICAL AND COMPUTER ENGINEERING, 2012, 2012