• Title/Summary/Keyword: Manycore CPU

Search Result 6, Processing Time 0.024 seconds

Efficient Task Distribution of Pig Monitoring Application using OpenCL (OpenCL을 사용한 돈사 감시 응용의 효율적인 태스크 분배)

  • Kim, J.;Choi, Y.;Kim, J.;Chung, Y.;Chung, Y.;Park, D.;Kim, H.
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2017.04a
    • /
    • pp.54-57
    • /
    • 2017
  • 돈사 감시 응용은 내재된 데이터 병렬성을 활용하고 성능가속기를 사용하여 병렬처리가 가능하다. 본 논문에서는 multicore-CPU와 manycore-GPU로 구성된 이기종 컴퓨팅 환경에서 돈사 감시 응용 수행 시 태스크 분배 방법을 제안한다. 즉, 각 태스크별로 OpenCL로 작성된 병렬 프로그램을 deviceCPU와 deviceGPU 각각에서 수행시켜 측정된 수행시간을 기준으로 가장 적합한 처리기를 결정한다. 제안 방법은 간단하지만 매우 효과적이고, CPU와 GPU로 구성된 이기종 컴퓨팅 플랫폼에서 다른 응용을 병렬화하는데에도 적용될 수 있다. 실험 결과, 상이한 이기종 컴퓨팅 플랫폼에서 최적의 태스크 분배로 수행 한 경우가 전체 태스크들을 deviceGPU에서 수행한 방법에 비교하여 각각 2배, 11배 성능 개선이 되었음을 확인하였다.

A Study on Optimizing LRU lock for Improving Parallel I/O Throughout in Manycore CPU Systems (매니코어 CPU 시스템에서의 병렬 I/O 성능 향상을 위한 LRU 최적화 기법 연구)

  • Byun, Eun-Kyu;Bang, Jiwoo;Gu, Gibeom;Oh, Kwang-Jin
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2022.11a
    • /
    • pp.2-4
    • /
    • 2022
  • 매니코어 CPU 시스템에서의 병렬 I/O 는 현재의 리눅스 시스템의 LRU 관리 방법의 한계로 확장성에 문제를 가지고 있다. 본 연구에서는 이 문제를 해결했던 하기 위한 개선된 FinerLRU 를 제안한다. LRU 락을 최대 코어 개수만큼 증가시키고 세분화된 Lock 관리를 통해 버퍼 캐시를 사용하는 파일 시스템의 병렬 I/O 성능을 향상시킨다. 리눅스 5.18.11 에 제안한 방법을 구현하였으며, 64 개의 물리적 코어와 256 개의 논리적 코어를 가지는 Intel Knights Landing 프로세서를 이용한 실험을 통해 두 배 가량의 성능 향상을 얻을 수 있음을 확인하였다.

Optimizing LRU Lock Management in the Linux Kernel for Improving Parallel Write Throughout in Many-Core CPU Systems (매니코어 CPU 시스템의 병렬 쓰기 성능 향상을 위한 리눅스 커널의 LRU 관리 최적화 기법)

  • Eun-Kyu Byun;Gibeom Gu;Kwang-Jin Oh;Jiwoo Bang
    • KIPS Transactions on Computer and Communication Systems
    • /
    • v.12 no.7
    • /
    • pp.209-216
    • /
    • 2023
  • Modern HPC systems are equipped with many-core CPUs with dozens of cores. When performing parallel I/O in such a system, there is a limit to scalability due to the problem of the LRU lock management policy of the Linux system. The study proposes an improved FinerLRU to solve this problem. Our new FinerLRU improves the parallel write performance of file systems using the buffer cache through granular lock management by increasing the number of LRU locks upto the maximum number of cores. The proposed method was implemented in Linux 5.18.11, and the performance was measured on two types of CPUs, Intel Icelake Xeon and Intel Knights landing, with different characteristics, and it was found that a performance improvement of about two times can be obtained in both types of systems.

Efficient Task Distribution for Pig Monitoring Applications Using OpenCL (OpenCL을 이용한 돈사 감시 응용의 효율적인 태스크 분배)

  • Kim, Jinseong;Choi, Younchang;Kim, Jaehak;Chung, Yeonwoo;Chung, Yongwha;Park, Daihee;Kim, Hakjae
    • KIPS Transactions on Computer and Communication Systems
    • /
    • v.6 no.10
    • /
    • pp.407-414
    • /
    • 2017
  • Pig monitoring applications consisting of many tasks can take advantage of inherent data parallelism and enable parallel processing using performance accelerators. In this paper, we propose a task distribution method for pig monitoring applications into a heterogenous computing platform consisting of a multicore-CPU and a manycore-GPU. That is, a parallel program written in OpenCL is developed, and then the most suitable processor is determined based on the measured execution time of each task. The proposed method is simple but very effective, and can be applied to parallelize other applications consisting of many tasks on a heterogeneous computing platform consisting of a CPU and a GPU. Experimental results show that the performance of the proposed task distribution method on three different heterogeneous computing platforms can improve the performance of the typical GPU-only method where every tasks are executed on a deviceGPU by a factor of 1.5, 8.7 and 2.7, respectively.

Parallel Programming Model for Manycore (매니코어 병렬프로그래밍 모델)

  • Kim, J.M.;Byun, S.W.;Kim, K.H.;Koh, K.W.;Cha, S.J.;Jeong, Y.J.;Jung, S.I.
    • Electronics and Telecommunications Trends
    • /
    • v.30 no.4
    • /
    • pp.36-45
    • /
    • 2015
  • 매니코어는 단순한 기능을 가진 수백~수천 개 코어를 하나의 CPU에 집적하여 성능을 구현하는 것으로 근본적으로 이를 활용할 병렬프로그래밍이 필요하다. 단순히 속도를 높이는 방향으로 발전하던 하드웨어는 병렬성을 증대하는 방향으로 발전하고 있고 이에 따라 프로그래밍 패러다임 역시 변하고 있다. 병렬화를 위한 여러 기술이 하드웨어에 구현되고 프로그래머가 이를 보다 적극적으로 활용할 수 있게 하는 유용한 병렬프로그래밍 모델이 필요하다. 또한, 컴퓨팅 환경은 자원의 활용도를 중시하는 시스템 중심에서 응용 및 서비스 중심으로 변화하고 있으므로, 그 도메인에 적합하게 프로그래밍할 수 있는 환경이 요구된다. 매니코어에서 병렬시스템 구조를 활용하는 방법을 결정하는 병렬프로그래밍 모델은 그 목적에 유연하게 제공되고 또한 컴퓨팅 환경 변화에 따라 새로운 개념의 모델을 정립하는 데 있어 유용해야 한다.

  • PDF

Analysis of Programming Techniques for Creating Optimized CUDA Software (최적화된 CUDA 소프트웨어 제작을 위한 프로그래밍 기법 분석)

  • Kim, Sung-Soo;Kim, Dong-Heon;Woo, Sang-Kyu;Ihm, In-Sung
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.16 no.7
    • /
    • pp.775-787
    • /
    • 2010
  • Unlike general-purpose CPUs, the GPUs have been specialized as many-core streaming processors, and are frequently replacing the CPUs in an increasing range of computations thanks to their outstanding parallel computing capacity. In order to respond to such trend, NVIDIA has recently issued a new parallel computing architecture called CUDA(Compute Unified Device Architecture), offering a flexible GPU programming environment for GPGPU(General Purpose GPU) computing. In general, when programmers use the CUDA API, they should clearly understand many aspects of GPU's computing architecture to produce efficient parallel software. In this article, we explain several optimization techniques for CUDA programming that we have verified through a lot of experiment and trial and error, and review how those techniques affect the performance of code execution. In particular, we use a specific problem as an example to analyze several elements that affect performances, such as effective accesses to hierarchical memory system, processor occupancy, and latency hiding. In conclusion, we present several directions that may be utilized effectively in CUDA-based parallel programming.