A Comparative Study of Programming Environments Exploiting Heterogeneous Systems
- Abstract
- 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.
- Author(s)
- Ko, Bongsuk; Han, Seunghun; Park, Yongjun; Jeon, Moongu; Lee, Byeongcheol
- Issued Date
- 2017-05
- Type
- Article
- DOI
- 10.1109/ACCESS.2017.2708738
- URI
- https://scholar.gist.ac.kr/handle/local/13751
- 공개 및 라이선스
-
- 파일 목록
-
Items in Repository are protected by copyright, with all rights reserved, unless otherwise indicated.