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 条
  • [21] Compiler-assisted leakage-aware loop scheduling for embedded VLIW DSP processors
    Wang, Meng
    Wang, Yi
    Liu, Duo
    Qin, Zhiwei
    Shao, Zili
    JOURNAL OF SYSTEMS AND SOFTWARE, 2010, 83 (05) : 772 - 785
  • [22] Compiler-Assisted Soft Error Detection under Performance and Energy Constraints in Embedded Systems
    Hu, Jie
    Li, Feihui
    Degalahal, Vijay
    Kandemir, Mahmut
    Vijaykrishnan, N.
    Irwin, Mary J.
    ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS, 2009, 8 (04)
  • [23] Compiler-Assisted Object Inlining with Value Fields
    Bruno, Rodrigo
    Jovanovic, Vojin
    Wimmer, Christian
    Alonso, Gustavo
    PROCEEDINGS OF THE 42ND ACM SIGPLAN INTERNATIONAL CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '21), 2021, : 128 - 141
  • [24] Compiler-Assisted Preferred Caching for Embedded Systems with STT-RAM based Hybrid Cache
    Li, Qingan
    Zhao, Mengying
    Xue, Chun Jason
    He, Yanxiang
    ACM SIGPLAN NOTICES, 2012, 47 (05) : 109 - 118
  • [25] Compiler-Assisted Compaction/Restoration of SIMD Instructions
    Cebrian, Juan M.
    Balem, Thibaud
    Barredo, Adrian
    Casas, Marc
    Moreto, Miquel
    Ros, Alberto
    Jimborean, Alexandra
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2022, 33 (04) : 779 - 791
  • [26] Multiverse: Compiler-Assisted Management of Dynamic Variability in Low-Level System Software
    Rommel, Florian
    Dietrich, Christian
    Rodin, Michael
    Lohmann, Daniel
    PROCEEDINGS OF THE FOURTEENTH EUROSYS CONFERENCE 2019 (EUROSYS '19), 2019,
  • [27] Compiler-assisted thread level control speculation
    Miura, H
    Hung, LD
    Iwama, C
    Tashiro, D
    Barli, ND
    Sakai, S
    Tanaka, H
    EURO-PAR 2003 PARALLEL PROCESSING, PROCEEDINGS, 2003, 2790 : 603 - 608
  • [28] Compiler-assisted Data Distribution for Chip Multiprocessors
    Li, Yong
    Abousamra, Ahmed
    Melhem, Rami
    Jones, Alex K.
    PACT 2010: PROCEEDINGS OF THE NINETEENTH INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, 2010, : 501 - 512
  • [29] Compiler-Assisted STT-RAM-Based Hybrid Cache for Energy Efficient Embedded Systems
    Li, Qingan
    Li, Jianhua
    Shi, Liang
    Zhao, Mengying
    Xue, Chun Jason
    He, Yanxiang
    IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, 2014, 22 (08) : 1829 - 1840
  • [30] Compiler-Assisted Detection of Transient Memory Errors
    Tavarageri, Sanket
    Krishnamoorthy, Sriram
    Sadayappan, P.
    ACM SIGPLAN NOTICES, 2014, 49 (06) : 204 - 215