IEEE Access (Jan 2017)

A Comparative Study of Programming Environments Exploiting Heterogeneous Systems

  • Bongsuk Ko,
  • Seunghun Han,
  • Yongjun Park,
  • Moongu Jeon,
  • Byeongcheol Lee

DOI
https://doi.org/10.1109/ACCESS.2017.2708738
Journal volume & issue
Vol. 5
pp. 10081 – 10092

Abstract

Read online

This paper compares programming environments that exploit heterogeneous systems to process a large amount of data efficiently. Our motivation is to investigate the feasibility of the adaptive, transparent migration of intensive computation for a large amount of data across heterogeneous programming languages and processors for high performance and programmability. We compare a variety of programming environments composed of programming languages, such as Java and C, memory space models, such as distinct and shared memory, and parallel processors, such as general-purpose CPUs and graphics processing units (GPUs) to examine their performance-programmability tradeoffs. In addition, we introduce a software-based shared virtual memory that creates a view of the host memory inside GPU kernels to enable seamless computation offloading from the host to the device. This paper reveals a programmability-performance hierarchy in which programs increase their performance at the cost of decreasing programmability. The experimental results suggest the desirability of a well-balanced system.

Keywords