Earticle

현재 위치 Home 검색결과

결과 내 검색

발행연도

-

학문분야

자료유형

간행물

검색결과

검색조건
검색결과 : 5
No
1

그래픽 처리장치 기반 병렬컴퓨은(GPGPU) 응용로그램을 처리하기 한 가장 매력인 고성능 연산 랫폼 하나가 되고 있다. 이러한 경향은 CUDA, OpenCL 등과 같은 병렬 로그래 모델의 사용으로 인해 더욱 증 가하고 있다. GPGPU 구조에서, 최신 GPGPU 스러를 활용하면 스트리 멀티로세서에 스드 블록을 최 한 할당할 수 있다. 하지만, 이러한 스링은 연산 자원 활용률을 극화하는 최의 방법은 아니라는 문제을 가지고 있다. 본 논문에서는 GPGPU 구조의 성능 향상을 해, 스드 블록 벨에서 일반으로 사용되는 라운드 로빈 스링의 단을 분석하고, 동으로 스드 블록의 수를 변경하는 새로운 스링 기법을 제안한다. 제안 된 기법은 메모리와 내부 연결망의 경합에 따라 스트리 로세서에 할당되는 스드 블록의 수를 동으로 변경한 다. 실험결과, 15개의 코어를 가진 GPGPU 랫폼에서 제안된 기법은 라운드 로빈 스링과 비교하여 평균 6.3%의 성능향상을 보임을 알 수 있다.

General-Purpose computing on Graphics Processing Units (GPGPUs) are becoming one of the most attractive computing platforms for handling high performance computing applications. This trend is more and more increasing especially with the help of new parallel programming models like CUDA and OpenCL, etc. The state-of-the-art GPGPU schedulers are likely to allocate as many as possible number of thread blocks into streaming multiprocessors. In fact, this is not always the optimal way to maximize the hardware utilization. This paper studies the drawbacks of the common-used round-robin scheduling at the thread block level. After that, we propose a new technique that can dynamically adjust the number of thread blocks to be assigned to streaming multiprocessors depending on the level of memory and interconnection network contention. Our simulation results on a 15-core GPGPU platform show that the proposed technique provides better performance over the baseline round-robin scheduling by around 6.3% on average.

2

SimTBS: GPGPU 스레드블록 스케줄링 시뮬레이터 KCI 등재

조경운, 반효경

국제인공지능학회(구 한국인터넷방송통신학회) 한국인터넷방송통신학회 논문지 제20권 제4호 2020.08 pp.87-92

※ 원문제공기관과의 협약기간이 종료되어 열람이 제한될 수 있습니다.

GPGPU(General-Purpose GPU)는 수만 단위의 스레드들을 병렬적으로 수행하여 성능을 최대화시킬 수 있지 만, 실질적으로는 스레드들을 그룹화하여 스레드블록(Thread Block) 단위로 작업을 정의하고 GPGPU 하드웨어 자원의 할당 단위로 활용한다. 이러한 역할을 담당하는 스레드블록 스케줄러는 GPGPU내에 하드웨어적으로 구현되어 있으며, 스레드블록들을 하드웨어 자원들에게 라운드로빈 방식으로 할당한다. 그런데, 라운드로빈 정책은 단순 순차 할당 방식으 로서 GPGPU 하드웨어 자원의 활용도에 최적화되어 있지 않다. 본 논문에서는 다양한 스레드블록 스케줄링 방식의 성능 을 정량적으로 분석할 수 있는 스레드블록 스케줄러 모델을 제안하고, 구현된 시뮬레이터의 성능 결과를 통해 기존 GPGPU의 스레드블록 스케줄링 방식이 작업 부하가 높은 경우에는 적합하지 않음을 보이고자 한다.

Although GPGPU (General-Purpose GPU) can maximize performance by parallelizing a task with tens of thousands of threads, those threads are internally grouped into a thread block, which is a base unit for processing and resource allocation. A thread block scheduler is a specialized hardware gadget whose role is to allocate thread blocks to GPGPU processing hardware in a round-robin manner. However, round-robin is a sequential allocation policy and is not optimized for GPGPU resource utilization. In this paper, we propose a thread block scheduler model which can analyze and quantify performances for various thread block scheduling policies. Experiment results from the implemented simulator of our model show that the legacy hardware thread block scheduling does not behave well when workload becomes heavy.

3

상세 자원 이용률에 기반한 병렬 가속기용 스레드 블록 스케줄링 KCI 등재

반효경, 조경운

국제인공지능학회(구 한국인터넷방송통신학회) 한국인터넷방송통신학회 논문지 제22권 제5호 2022.10 pp.49-54

※ 원문제공기관과의 협약기간이 종료되어 열람이 제한될 수 있습니다.

최근 클라우드 시스템에서 병렬가속기를 사용하는 사례가 늘면서 가속기 내에서 멀티태스킹을 통해 자원 이용률 을 높이는 것이 중요한 이슈로 부각되고 있다. 본 논문에서는 병렬가속기 내 자원 사용 패턴을 컴퓨팅 중심과 메모리 중심으로 분류하여 워크로드를 배치하는 방식이 자원 이용률 측면에서 충분한 효과를 나타내지 못함을 보이고, 워크로드 별 상세 자원 이용률에 기반한 새로운 스레드 블록 스케줄링 기법을 제안한다. 제안한 기법은 기존 방식과 달리 프로파 일링과 스케줄링을 분리하여 스케줄링시의 오버헤드를 줄이고 병목 자원이 일치하지 않는 워크로드들을 최대한 중복 배치하여 자원 이용률을 높인다. 다양한 가상머신 시나리오에 대한 시뮬레이션 실험을 통해 제안한 기법이 병렬가속기의 처리량을 평균 130.6%, 최대 161.4%까지 개선함을 보인다.

With the recent widespread adoption of general-purpose GPUs (GPGPUs) in cloud systems, maximizing the resource utilization through multitasking in GPGPU has become an important issue. In this article, we show that resource allocation based on the workload classification of computing-bound and memory-bound is not sufficient with respect to resource utilization, and present a new thread block scheduling policy for GPGPU that makes use of fine-grained resource utilizations of each workload. Unlike previous approaches, the proposed policy reduces scheduling overhead by separating profiling and scheduling, and maximizes resource utilizations by co-locating workloads with different bottleneck resources. Through simulations under various virtual machine scenarios, we show that the proposed policy improves the GPGPU throughput by 130.6% on average and up to 161.4%.

4

다중 워크로드 환경을 위한 GPGPU 스레드 블록 스케줄링 KCI 등재

박소연, 조경운, 반효경

국제인공지능학회(구 한국인터넷방송통신학회) 한국인터넷방송통신학회 논문지 제22권 제2호 2022.04 pp.71-76

※ 원문제공기관과의 협약기간이 종료되어 열람이 제한될 수 있습니다.

대규모 병렬 워크로드를 GPGPU의 연산 유닛에 할당하기 위한 스케줄링으로 라운드 로빈 방식이 널리 사용되고 있다. 라운드 로빈은 작업을 각 연산 유닛에 순차적으로 할당하여 구현이 쉽다는 장점이 있으나, 클라우드와 같은 다중 워크로드 환경에서는 연산 유닛 간 부하 균형이 잘 이루어지지 않는 문제점이 발생한다. 본 논문에서는 이러한 문제를 해결하기 위해 새로운 스레드 블록 스케줄링을 제안한다. 제안하는 방식은 다양한 GPGPU 워크로드가 만들어낸 스레드 블록들을 그 작업량에 근거해 다중큐로 관리하고 각 연산 유닛의 잔여 자원을 가장 잘 활용할 수 있는 큐에서 스레드 블록을 선택하여 연산 유닛들의 자원 이용률을 극대화시키고 부하균형을 유도한다. 다양한 부하 환경에서의 시뮬레이션 실험을 통해 제안하는 방식이 라운드 로빈 대비 평균 24.8%의 성능개선 효과가 있음을 보인다.

Round-robin is widely used for the scheduling of large-scale parallel workloads in the computing units of GPGPU. Round-robin is easy to implement by sequentially allocating tasks to each computing unit, but the load balance between computing units is not well achieved in multi-workload environments like cloud. In this paper, we propose a new thread block scheduling policy to resolve this situation. The proposed policy manages thread blocks generated by various GPGPU workloads with multiple queues based on their computation loads and tries to maximize the resource utilization of each computing unit by selecting a thread block from the queue that can maximally utilize the remaining resources, thereby inducing load balance between computing units. Through simulation experiments under various load environments, we show that the proposed policy improves the GPGPU performance by 24.8% on average compared to Round-robin.

5

A Novel Cooperative Warp and Thread Block Scheduling Technique for Improving the GPGPU Resource Utilization

DOCONG THUAN, 최용, 김종면, 김철홍

[NRF 연계] 한국정보처리학회 KIPS Transactions on Computer and Communication Systems Vol.6 No.5 2017.05 pp.219-230

※ 협약을 통해 무료로 제공되는 자료로, 원문이용 방식은 연계기관의 정책을 따르고 있습니다.

원문보기

General-Purpose Graphics Processing Units (GPGPUs) build massively parallel architecture and apply multithreading technology to explore parallelism. By using programming models like CUDA, and OpenCL, GPGPUs are becoming the best in exploiting plentiful thread-level parallelism caused by parallel applications. Unfortunately, modern GPGPU cannot efficiently utilize its available hardware resources for numerous general-purpose applications. One of the primary reasons is the inefficiency of existing warp/thread block schedulers in hiding long latency instructions, resulting in lost opportunity to improve the performance. This paper studies the effects of hardware thread scheduling policy on GPGPU performance. We propose a novel warp scheduling policy that can alleviate the drawbacks of the traditional round-robin policy. The proposed warp scheduler first classifies the warps of a thread block into two groups, warps with long latency and warps with short latency and then schedules the warps with long latency before the warps with short latency. Furthermore, to support the proposed warp scheduler, we also propose a supplemental technique that can dynamically reduce the number of streaming multiprocessors to which will be assigned thread blocks when encountering a high contention degree at the memory and interconnection network. Based on our experiments on a 15-streaming multiprocessor GPGPU platform, the proposed warp scheduling policy provides an average IPC improvement of 7.5% over the baseline round-robin warp scheduling policy. This paper also shows that the GPGPU performance can be improved by approximately 8.9% on average when the two proposed techniques are combined.

 
페이지 저장