엣지 디바이스에서의 병렬 프로그래밍 모델 성능 비교 연구
A Performance Comparison of Parallel Programming Models on Edge Devices
0
조회
0
다운로드
0
인용
0
참고문헌
키워드
초록
Heterogeneous computing is a technology that utilizes different types of processors to perform parallel processing. It maximizes task processing and energy efficiency by leveraging various computing resources such as CPUs, GPUs, and FPGAs. On the other hand, edge computing has developed with IoT and 5G technologies. It is a distributed computing that utilizes computing resources close to clients, thereby offloading the central server. It has evolved to intelligent edge computing combined with artificial intelligence. Intelligent edge computing enables total data processing, such as context awareness, prediction, control, and simple processing for the data collected on the edge. If heterogeneous computing can be successfully applied in the edge, it is expected to maximize job processing efficiency while minimizing dependence on the central server. In this paper, experiments were conducted to verify the feasibility of various parallel programming models on high-end and low-end edge devices by using benchmark applications. We analyzed the performance of five parallel programming models on the Raspberry Pi 4 and Jetson Orin Nano as low-end and high-end devices, respectively. In the experiment, OpenACC showed the best performance on the low-end edge device and OpenSYCL on the high-end device due to the stability and optimization of system libraries.
Abstract
Heterogeneous computing is a technology that utilizes different types of processors to perform parallel processing. It maximizes task processing and energy efficiency by leveraging various computing resources such as CPUs, GPUs, and FPGAs. On the other hand, edge computing has developed with IoT and 5G technologies. It is a distributed computing that utilizes computing resources close to clients, thereby offloading the central server. It has evolved to intelligent edge computing combined with artificial intelligence. Intelligent edge computing enables total data processing, such as context awareness, prediction, control, and simple processing for the data collected on the edge. If heterogeneous computing can be successfully applied in the edge, it is expected to maximize job processing efficiency while minimizing dependence on the central server. In this paper, experiments were conducted to verify the feasibility of various parallel programming models on high-end and low-end edge devices by using benchmark applications. We analyzed the performance of five parallel programming models on the Raspberry Pi 4 and Jetson Orin Nano as low-end and high-end devices, respectively. In the experiment, OpenACC showed the best performance on the low-end edge device and OpenSYCL on the high-end device due to the stability and optimization of system libraries.
참고문헌 (25)
- V. G. Cerf, "On Heterogeneous Computing", Communication of the ACM, 64(21), pp.9~ (2021)
- "OpenCL"[URL]
- S. Mendez, "Edge Computing Systems with Kubernetes" (2022), Packt Publishing
- J. Diaz, "A Survey of Parallel Programming Models and Tools in the Multi and Many-Core Era", IEEE Transactions on Parallel and Distributed Systems, 23(8), pp.1369~1386 (2012)
- "CUDA"[URL]
- "SYCL"[URL]
- T. Deakin, "Evaluating Attainable Memory Bandwidth of Parallel Programming Models Via BabelStream", International Journal of Computational Science and Engineering, 17(3), pp.247~262 (2018)
- "Raspberry Pi"[URL]
- "Jetson Orin Nano"[URL]
- A. Alpay, "One Pass to Bind Them: The First Single-Pass SYCL Compiler with Unified Code Representation Across Backends", Proceedings of the 2023 International Workshop on OpenCL (2023)
- "OpenMP"[URL]
- "OpenACC"[URL]
- D. Angus, "Porting SYCL Accelerated Neural Network Frameworks to Edge Devices", Proceedings of the 2023 International Workshop on OpenCL (2023)
- 홍정현, "OpenCL을 활용한 CPU와 GPU 에서의 CMMB LDPC 복호기 병렬화", 대한임베디드공학회논문지, 11(6), pp.325~334 (2016), 대한임베디드공학회[DOI]
- S. Memeti, "Benchmarking OpenCL, OpenACC, OpenMP, and CUDA: Programming Productivity, Performance, and Energy Consumption", Proceedings of the 2017Workshop on Adaptive Resource Management and Scheduling for Cloud Computing, pp.1~7 (2017)
- "Codeplay ComputeCpp"[URL]
- "Intel oneAPI DPC++"[URL]
- "OpenSYCL"[URL]
- "STREAM Benchmark"[URL]
- "VC4CL : OpenCL for VideoCore IV GPU"[URL]
- "strace : Linux syscall tracer"[URL]
- "JetPack SDK"[URL]
- "Portable Computing Language"[URL]
- "NVIDIA HPC SDK"[URL]
- C. Feng, "Computation Offloading in Mobile Edge Computing Networks: A Survey", Journal of Network and Computer Applications, 202, pp.103366~ (2022)
