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. |
Year | DOI | Venue |
---|---|---|
2017 | 10.1109/ACCESS.2017.2708738 | IEEE ACCESS |
Keywords | Field | DocType |
Big data processing,heterogeneous systems,programming environment | System programming,Computer architecture,Programming paradigm,Shared memory,Computer science,Inductive programming,Reactive programming,Stream processing,Computer programming,Distributed computing,CUDA Pinned memory | Journal |
Volume | ISSN | Citations |
5 | 2169-3536 | 0 |
PageRank | References | Authors |
0.34 | 7 | 5 |
Name | Order | Citations | PageRank |
---|---|---|---|
Bongsuk Ko | 1 | 0 | 0.34 |
Seunghun Han | 2 | 0 | 0.34 |
Yongjun Park | 3 | 277 | 20.15 |
Moongu Jeon | 4 | 456 | 72.81 |
Byeongcheol Lee | 5 | 0 | 0.34 |