A Comparative Study of Programming Environments Exploiting Heterogeneous Systems

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

Research output: Contribution to journalArticlepeer-review

1 Citation (Scopus)


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.

Original languageEnglish
Article number7935359
Pages (from-to)10081-10092
Number of pages12
JournalIEEE Access
Publication statusPublished - 2017

Bibliographical note

Funding Information:
This work was supported in part by the National Research Foundation of Korea Grant through the Korean Government (MSIP) under Grant 2015R1C1A1A01052876 and in part by the Institute for Information and Communications Technology Promotion Grant through the Korean Government (MSIP) under Grants R0190-16-2012 and 2017-0-00142.

Publisher Copyright:
© 2013 IEEE.

All Science Journal Classification (ASJC) codes

  • Computer Science(all)
  • Materials Science(all)
  • Engineering(all)


Dive into the research topics of 'A Comparative Study of Programming Environments Exploiting Heterogeneous Systems'. Together they form a unique fingerprint.

Cite this