DBPIA-NURIMEDIA

Similar documents
룩업테이블기반비선형렌즈플레어실시간렌더링방법 (Real-Time Nonlinear Lens-Flare Rendering Method Based on Look-Up Table) 조성훈 정유나 이성길 (Sunghun Jo) (Yuna Jeong) (Sungkil Lee) 요

À±½Â¿í Ãâ·Â

Ⅱ. Embedded GPU 모바일 프로세서의 발전방향은 저전력 고성능 컴퓨팅이다. 이 러한 목표를 달성하기 위해서 모바일 프로세서 기술은 멀티코 어 형태로 발전해 가고 있다. 예를 들어 NVIDIA의 최신 응용프 로세서인 Tegra3의 경우 쿼드코어 ARM Corte

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>

DBPIA-NURIMEDIA

01이국세_ok.hwp

김기남_ATDC2016_160620_[키노트].key

09권오설_ok.hwp

19_9_767.hwp

05( ) CPLV12-04.hwp

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Dec.; 27(12),

08김현휘_ok.hwp

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. vol. 29, no. 10, Oct ,,. 0.5 %.., cm mm FR4 (ε r =4.4)

45-51 ¹Ú¼ø¸¸

06_ÀÌÀçÈÆ¿Ü0926

63-69±è´ë¿µ

(JBE Vol. 21, No. 1, January 2016) (Regular Paper) 21 1, (JBE Vol. 21, No. 1, January 2016) ISSN 228

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. vol. 29, no. 6, Jun Rate). STAP(Space-Time Adaptive Processing)., -

디지털포렌식학회 논문양식

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F E687770>

슬라이드 1

<353420B1C7B9CCB6F52DC1F5B0ADC7F6BDC7C0BB20C0CCBFEBC7D120BEC6B5BFB1B3C0B0C7C1B7CEB1D7B7A52E687770>

[ReadyToCameral]RUF¹öÆÛ(CSTA02-29).hwp

6.24-9년 6월

Microsoft PowerPoint - 30.ppt [호환 모드]

½Éº´È¿ Ãâ·Â

3. 클라우드 컴퓨팅 상호 운용성 기반의 서비스 평가 방법론 개발.hwp

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Nov.; 26(11),

<31325FB1E8B0E6BCBA2E687770>

<35335FBCDBC7D1C1A42DB8E2B8AEBDBAC5CDC0C720C0FCB1E2C0FB20C6AFBCBA20BAD0BCAE2E687770>

untitled

°í¼®ÁÖ Ãâ·Â

大学4年生の正社員内定要因に関する実証分析

3 : OpenCL Embedded GPU (Seung Heon Kang et al. : Parallelization of Feature Detection and Panorama Image Generation using OpenCL and Embedded GPU). e

Oracle9i Real Application Clusters

04_이근원_21~27.hwp

DBPIA-NURIMEDIA

<30362E20C6EDC1FD2DB0EDBFB5B4EBB4D420BCF6C1A42E687770>

03홍성욱.hwp

REP - CP - 016, N OVEMBER 사진 요약 25 가지 색상 Surf 를 이용한 사진 요약과 사진 배치 알고리즘 Photo Summarization - Representative Photo Selection based on 25 Color Hi

(JBE Vol. 23, No. 5, September 2018) (Regular Paper) 23 5, (JBE Vol. 23, No. 5, September 2018) ISSN

±è¼ºÃ¶ Ãâ·Â-1

02손예진_ok.hwp

< FC1A4BAB8B9FDC7D D325FC3D6C1BEBABB2E687770>

08이규형_ok.hwp

정보기술응용학회 발표

14.이동천교수님수정

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Mar.; 25(3),

슬라이드 1

JVM 메모리구조

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Sep.; 30(9),

Æí¶÷4-¼Ö·ç¼Çc03ÖÁ¾š

04 최진규.hwp

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Jul.; 27(7),

Journal of Educational Innovation Research 2017, Vol. 27, No. 4, pp DOI: A Study on the Opti

High Resolution Disparity Map Generation Using TOF Depth Camera In this paper, we propose a high-resolution disparity map generation method using a lo

I

,. 3D 2D 3D. 3D. 3D.. 3D 90. Ross. Ross [1]. T. Okino MTD(modified time difference) [2], Y. Matsumoto (motion parallax) [3]. [4], [5,6,7,8] D/3

Microsoft PowerPoint - gpgpu_proximity.ppt

<4D F736F F F696E74202D20BBE7BABB202D204F DC7C1B7CEBCBCBDBA20BDBAC4C9C1D9B8B528BAF1BCB1C1A12CBCB1C1A1292E707074>

지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., KOSPI200.,. * 지능정보연구제 16 권제 1 호 2010 년 3 월

07.045~051(D04_신상욱).fm

1 : HEVC Rough Mode Decision (Ji Hun Jang et al.: Down Sampling for Fast Rough Mode Decision for a Hardware-based HEVC Intra-frame encoder) (Special P

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Nov.; 25(11),

<BFA9BAD02DB0A1BBF3B1A4B0ED28C0CCBCF6B9FC2920B3BBC1F62E706466>

6주차.key

DBPIA-NURIMEDIA

Microsoft PowerPoint - 알고리즘_1주차_2차시.pptx

PowerPoint 프레젠테이션

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Jun.; 27(6),

03_queue

사용자수준의스레드 : 사용자의라이브러리에의해운영, 속도는빠르나, 구현이복잡하다. 커널수준의스레드 : 운영체제커널에의해운영, 속도는느리나, 구현이단순하다. 스케줄링 (Scheduling) 1) 스케줄링의정의 프로세스가생성되어실행될때필요한시스템의여러자원을해당프로세스에게할당

Microsoft PowerPoint - NV40_Korea_KR_2.ppt

DBPIA-NURIMEDIA

untitled

(JBE Vol. 20, No. 5, September 2015) (Special Paper) 20 5, (JBE Vol. 20, No. 5, September 2015) ISS

À¯Çõ Ãâ·Â

Title slide option A: Main title can extend over one or two lines

04 Çмú_±â¼ú±â»ç


ISSN X(Print) / ISSN (Online) Journal of KIISE, Vol. 45, No. 7, pp , GPU 기반

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Mar.; 28(3),

슬라이드 1

¾ÈÀü°ü¸®¸Å´º¾óÃÖÁ¾11.8

Journal of Educational Innovation Research 2017, Vol. 27, No. 2, pp DOI: : Researc

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

Integ

04( ) CSTV15-23.hwp

DBPIA-NURIMEDIA

Journal of Educational Innovation Research 2018, Vol. 28, No. 3, pp DOI: NCS : * A Study on

항목

Voice Portal using Oracle 9i AS Wireless

13김상민_ok.hwp

CUDA Programming Tutorial 2 - Memory Management – Matrix Transpose

00-Intro

<3136C1FD31C8A35FC3D6BCBAC8A3BFDC5F706466BAAFC8AFBFE4C3BB2E687770>

<C7D1B1B9C4DCC5D9C3F7C1F8C8EFBFF82D C4DCC5D9C3F7BBEABEF7B9E9BCAD5FB3BBC1F E687770>

2002 Game White paper 2002 Game White paper

11¹ÚÇý·É

1. 서 론

Transcription:

ISSN 2383-630X(Print) / ISSN 2383-6296(Online) Journal of KIISE, Vol. 42, No. 11, pp. 1332-1338, 2015. 11 http://dx.doi.org/10.5626/jok.2015.42.11.1332 묵시적동기화기반의고성능다중 GPU 렌더링 (High-Performance Multi-GPU Rendering Based on Implicit Synchronization) 김영욱 이성길 (Younguk Kim) (Sungkil Lee) 요약최근고품질, 초고해상도실시간렌더링지원을위하여다중 GPU 렌더링에대한관심이커지고있다. 실시간렌더링에서여러개의 GPU 로고성능을달성하기위해서는 GPU 간의데이터전송지연과프레임합성부하를고려해야한다. 이논문은이러한부하를최소화하고다중 GPU 의효율을향상하기위해 split frame 렌더링의동기화를묵시적질의기반으로향상하는기법을제안한다. 또한, 이러한묵시적동기화기반프레임합성을지원하기위한메시지큐기반의렌더링스케줄링알고리즘도제안한다. 본알고리즘을적용한실험은본알고리즘이기존알고리즘대비 200% 이상효율을향상함을확인하였다. 키워드 : 다중 GPU, 실시간렌더링, 병렬렌더링, GPU 렌더링 Abstract Recently, growing attention has been paid to multi-gpu rendering to support real-time high-quality rendering at high resolution. In order to attain high performance in real-time multi-gpu rendering, great care needs to be taken to reduce the overhead of data transfer among GPUs and frame composition. This paper presents a novel multi-gpu algorithm that greatly enhances split frame rendering with implicit query-based synchronization. In order to support implicit synchronization in frame composition, we further present a message queue-based scheduling algorithm. We carried out an experiment to evaluate our algorithm, and found that our algorithm improved rendering performance up to 200% more than previously existing algorithms. Keywords: multi-gpu, real-time rendering, parallel rendering, GPU rendering 1. 서론 이논문은미래창조과학부의재원으로한국연구재단의지원을받아 < 실감교류인체감응솔루션 > 글로벌프론티어사업, 중견연구자지원사업으로수행된연구임 (2012M3A6A3055695, 2015R1A2A2A01003783) 학생회원 : 성균관대학교전자전기컴퓨터공학과 ywkim91@skku.edu 종신회원 : 성균관대학교소프트웨어학과교수 (Sungkyunkwan Univ.) sungkil@skku.edu (Corresponding author임 ) 논문접수 :2015년 9월 1일 (Received 1 September 2015) 논문수정 :2015년 9월 14일 (Revised 14 September 2015) 심사완료 :2015년 9월 15일 (Accepted 15 September 2015) CopyrightC2015 한국정보과학회ː 개인목적이나교육목적인경우, 이저작물의전체또는일부에대한복사본혹은디지털사본의제작을허가합니다. 이때, 사본은상업적수단으로사용할수없으며첫페이지에본문구와출처를반드시명시해야합니다. 이외의목적으로복제, 배포, 출판, 전송등모든유형의사용행위를하는경우에대하여는사전에허가를얻고비용을지불해야합니다. 정보과학회논문지제42권제11호 (2015. 11) 최근 4K, 8K Ultra-HD와같은초고해상도디스플레이의등장과함께처리하는데이터의양의빠른증가로고성능연산을향상시키기위해 graphics processing unit(gpu) 에대한관심이많아지고있다. GPU는수많은코어를병렬로사용하여대용량데이터에대해동시에연산을수행함으로써계산속도를크게높여준다. 이미그성능은기존 central processing unit(cpu) 성능을넘어섰으며계속적인 GPU의발전으로성능이나날이증가하고있다. 단일 GPU도이미상당히높은성능을제공하지만이보다더고성능을얻기위해, 여러 GPU를사용하여연산을수행하는방법들이제안되고있다. GPU의경우자체적으로병렬성을가지고있어다중 GPU 사용이용이하므로, general purpose GPU(GPGPU) 분야같은곳에서는다중 GPU를활용하는연구가많이진행된다. 실시간렌더링에서도더높은품질의렌더링을하려는

묵시적동기화기반의고성능다중 GPU 렌더링 1333 수요가증가하고있으나, 다중 GPU를활용할때높은효율성을얻기힘들어그활용도는낮은편이다. GPGPU나오프라인렌더링에서는실시간성 (30 Hz 이상 ) 을고려하지않고효율성을최대화하기때문에 GPU 활용에있어제약이적다. 하지만실시간렌더링에서는효율성을최대화하면서실시간성을확보해야하기때문에시간적인제약이발생한다. 특히, GPGPU에서흔히발생할수있는 CPU와 GPU간의데이터전송은실시간렌더링에서크게성능을저하시킨다. 따라서 GPGPU나오프라인렌더링에서효율성이확보된다중 GPU 알고리즘들을실시간렌더링에서는사용할수없어다중 GPU 활용도가낮다. 현재, 실시간다중 GPU 렌더링을사용하기위한방법으로 alternative frame rendering (AFR) 과 split frame rendering (SFR) 의두방법이있다 [1]. AFR에서는한프레임을렌더링하기위해서하나의 GPU만사용을하면서, 각프레임을 GPU들이교대로렌더링을수행한다. 각 GPU가독립적으로장면을렌더링하므로단일 GPU 의렌더링구조의큰변환없이다중 GPU 사용에적용하기쉽지만, 입력의지연이단일 GPU 만큼길어져서반응성을향상시키지못하는단점이있다. 그리고렌더링과정에따라프레임을렌더링하는시간이불규칙하게되어화면갱신이불규칙적인 micro stuttering 현상을나타내게된다. SFR은장면을각 GPU에게분배하여모든 GPU가한프레임을렌더링하는데사용함으로써, 지연시간을실제로감소시킨다. 그러나 AFR과는달리장면을균일하게분배하는부하분산 (load balancing) 과정이필요하고, 최종디스플레이를위해각 GPU의렌더링결과들을하나로합치는과정 (frame composition) 이추가로요구된다. 프레임합성을위해각 GPU는하나의 GPU 혹은 CPU에게결과를전송하는과정이필요하고이를위한추가전송지연이발생하여, 각 GPU 간에는합성을대기하는동기화가요구된다. 동기화로인하여렌더링이일찍끝나는 GPU들은합성이끝날때까지대기해야하므로다중 GPU의확장성 (scalability) 이감소하게되고, 입력에대한지연시간역시크게감소하지못할수있다 [2]. 본논문에서는 SFR에서동기화로인한대기상태 (stall) 및데이터전송시간을제거하기위해질의 (query) 를활용한묵시적동기화방식의 SFR 기법을제안한다. 묵시적동기화에서는데이터의전송완료여부를질의를통해파악하고, 전송완료시프레임합성을수행한다. 데이터전송과합성과정을대기하지않고 GPU들이렌더링을계속해서수행함으로써, 대기상태를제거하여상호작용의지연을감소시키면서더나은확장성 (scalability) 을얻을수있다. 또한, 묵시적동기화방식을사용할경우 GPU 간의렌더링과정이동기화되지않아렌더링결과가어긋나는현상이발생할수있으므로, 동일한프레임간의렌더링결과의합성을지원하기위해메시지큐기반의렌더링스케줄링알고리즘도제안한다. 제안하는알고리즘은묵시적동기화방식을효과적으로활용하고 SFR 에서요구하는부하분산알고리즘에대한의존성도낮출수있다. 2. 관련연구 GPU의높은성능을더욱증가시키기위해다중 GPU 에대한연구역시많이진행되어왔다. 실시간렌더링과같이시간에크게제약을받지않는 GPGPU 환경이나오프라인렌더링에서는대기상태를최소화하고각 GPU 의효율을최대화하기위한연구가많이진행되었다. 2.1 GPGPU 다중 GPU를사용하는 GPGPU 환경에서는계산을수행하기위한데이터의의존성에따라서 GPU의대기상태가발생할수있으며, 모든 GPU를최대한활용하기위해균일한작업부하 (workload) 스케줄링이필요하다. 아직까지 CUDA와같은 GPU 프로그래밍 API에서불균일한작업부하를효율적으로처리하지못하고있기때문에, 효율적인부하분산없이는 GPU 성능을효과적으로이끌어내기어렵다 [3]. Chen 등은작업부하를균일하게조절하기위해 task 기반의부하분산방법을제안했다 [3]. 이논문에서는 task 수준의병렬성을이용하여 GPU의성능을향상시키고, heterogeneous system에서 CPU 및 GPU 자원을동적으로분배할수있도록했다. 기존알고리즘을 GPU로확장하는연구역시진행되고있는데, Rustico 등은기존시뮬레이션알고리즘을단일및다중 GPU에서구현하여높은성능향상을달성했다 [4]. 그리고부하분산알고리즘을통해추가적인성능향상이가능함을보여주고있으나, 정밀한부하분산이필요하며부하분산과정에따른추가적인부하가발생하는문제점도언급하고있다. 2.2 오프라인렌더링오프라인렌더링에서다중 GPU를사용하는것은 GPGPU 의경우와달리, 각프레임마다독립적으로장면을렌더링하기때문에작업간의의존성은적다. 그러나렌더링의작업부하를균일하게분배하지못하면 GPU의활용률이떨어지는것은 GPGPU와비슷한문제점으로발생한다. Eilemann 등이제안한 equalizer는병렬렌더링에필요한기능들을추상화하면서확장성 (scalability) 을유

1334 정보과학회논문지제 42 권제 11 호 (2015. 11) 지하고범용적으로사용할수있는병렬렌더링프레임워크이다 [5]. 간단한설정을통해서 sort-first나 sortlast 렌더링방식을선택하여다중 GPU를쉽게사용할수있도록지원한다. Equalizer를활용하여뉴런시뮬레이션의렌더링을수행한연구도수행되어, 다중 GPU와 GPU 클러스터환경에서높은렌더링성능향상을달성했다 [6]. 그러나여전히불균일한부하분배로인한확장성이떨어지는문제점이남아있다. R. Hagan 및 Y. Cao 는시뮬레이션과렌더링을처리하기위해버퍼를기반으로부하분산을수행하는방법을제안했다 [7]. 시뮬레이션계산이클경우에는이에대해더많은 GPU가할당되어수행되고, 반대로렌더링계산량이커지면시뮬레이션에할당된 GPU를렌더링계산으로분배하며, 비동기적으로수행함으로써효율성을향상시켰다. 하지만두연구모두데이터전송시간이나프레임합성시간을고려하지않았기때문에, 실시간렌더링에서는대기상태가발생하여성능이하락하는문제가발생할수있다. 2012년 Eilemann 등은이러한시간들을다중 GPU cluster 환경에서고려했다 [8]. 이논문에서는렌더링시스템사이에데이터를전송하고합성할때, 읽기과정과합성과정연산들을비동기적으로실행하여시간을중첩시켜서성능을향상시켰다. 그러나이는 GPU-GPU 사이의비동기전송이아닌 CPU-GPU 사이의비동기전송을고려했다. 2.3 실시간렌더링실시간렌더링에서다중 GPU를사용하는경우에도렌더링의작업부하를균일하게분배해야한다는문제점이있다. 그러나 GPGPU나오프라인렌더링과는달리렌더링시간에제약이있기때문에부하분산시에데이터의전송시간에대한고려와각 GPU 간의동기화문제가더중요해진다. 이로인하여, GPGPU나오프라인렌더링에서사용하던방식들을적용하기어렵다. 합성할프레임의전송시간이나프레임합성시간으로인한대기상태를없애기위해몇가지방법론이제안되었고성능을향상시켰으나, 동기화에의한제약을여전히가지고있다. Jordi Roca Monfort 등은 SFR과 AFR 방식을조합하여, 클러스터 GPU 사용시에확장성 (scalability) 과반응속도를개선시켜서다중 GPU 렌더링효율을향상시켰다 [1]. 그리고렌더링된프레임의전송시간을감추기위해렌더링과동시에렌더링이끝난픽셀의복사과정을수행하여성능을향상시켰다. Liu 등은렌더링된프레임의합성과정이다른 GPU 들의대기상태를만든다는점에서합성과정을 GPU와분리하는방식을사용했다 [9]. 프레임합성을 CPU에서하는대신합성시간동안에 GPU가동시에렌더링을 수행함으로써 GPU의활용률을높여서성능향상을달성했다. 그러나해상도가커짐에따라 CPU로프레임을전송하는시간과합성시간이증가하여, 부하로작용하게되는문제점이있다. 3. 알고리즘본절에서는논문에서제안하는기법및알고리즘들을설명한다. 먼저, SFR에서사용되는부하분산과의관계성을설명하고묵시적동기화방식을사용하는프레임합성기법을설명한다. 그리고이러한기법을지원하기위한메시지큐스케줄링알고리즘을설명하고, 알고리즘을최적화하기위해사용되는인자들에대하여설명한다. 3.1 부하분산 SFR은장면을각 GPU에게분배하여렌더링된프레임을하나로모아서합성하는방법이다. 그림 1은알고리즘의전체과정의개요를나타내는데, 부하분산과정은렌더링전에처리된다. 부하분산시분배기준에따라시점을기준으로나누는방법인 sort-first와객체를기준으로나누는방법인 sort-last을사용할수있다 [10]. Sort-first에서는장면에서객체의분포를고려하여시점을나누고, 각 GPU가해당시점을렌더링하여이를하나의시점으로합친다. Sort-last의경우, 객체의특성 ( 위치, 정점개수등 ) 을고려하여각 GPU에객체들을분배하고렌더링한다. 그리고렌더링된같은크기의프레임들을합치는데, 이과정에서같은위치에있는픽셀에대해서깊이값을비교하여카메라에가까운픽셀을선택하는과정을거친다. Sort-first는깊이계산이필요없는장점이있지만, 시점을나눌때객체가균일하게분배되지못할경우불균형한분배가발생할수있기때문에객체의위치를미리계산해야한다는문제점이있다. Sort-last는객체의특성을활용하므로균일한부하분산이쉬울수있으나, 보이지않을부분까지렌더링하므로불필요한성능부하가발생할수있다. 기존다중 GPU 렌더링에서는부하분산이제대로되지못할경우, 대기상태로인해부하가적게걸린 GPU의효율성이떨어지는문제가발생한다. 그러나본논문의알고리즘은대기상태의제거를통해부하분산으로인한 GPU 성능손실을최소화할수있으므로, 단순한부하분산방식을사용할수있으며부하분산알고리즘과는독립적으로작동한다. 3.2 프레임합성각 GPU에서부하를분산하여그려진결과는주 GPU에서하나로합성하는과정을거친다 ( 그림 1의합성과정 ). 주 GPU에서결과들을사용하기위해, 보조 GPU에서주 GPU로렌더링된프레임을복사해야한

묵시적동기화기반의고성능다중 GPU 렌더링 1335 그림 1 비동기메시지스케줄링에서메시지큐및프로세스의개요 Fig. 1 Overview of message queue and process on asynchronous message scheduling 다. 그래픽스 API의복사명령은 CPU 및 GPU 스레드 (thread) 를정지시키지않기때문에복사과정을대기하지않고다른작업을계속수행할수있다. 그러나명시적동기화에서는복사이후에서동기화명령을수행하여복사과정을대기하는데, PCI Express 2.0 8배속 (4 GB/s) 에서 1920 1080 해상도이미지 (31.6 MB) 를복사하는데, 이론적으로약 8 ms의시간을필요로한다. 또한, 합성과정을수행한이후에다음렌더링을진행할수있으므로, 보조 GPU는복사시간뿐만아니라합성시간을추가적인대기상태로가지게된다. 이로인하여, 렌더링과복사가빠르게끝난보조 GPU에서는대기상태로인한성능하락이발생한다 ( 그림 2). 이런대기상태를최소화하여 SFR 렌더링의성능을향상시킬수있는데, 보조 GPU의렌더링과텍스처전송을동시에수행함으로써이를달성할수있다. 보조 GPU의복사과정과주 GPU의합성과정동안에보조 GPU가렌더링을계속수행함으로써보조 GPU의대기상태를제거한다. 전송이나합성과정의대기없이바로다음프레임렌더링을수행하지만최종적인합성과정을수행하기위해묵시적동기화를사용한다. 프레임의복사가완료할때까지대기하는것이아니라, 복사가완료되었는지 GPU에서확인하는작업을수행하여프레임들을동기화시키고합성을수행한다. 복사가완료되었는지확인하는방법은그래픽스 API의시간질의 (timer query) 를사용한다. 그래픽스 API 중 OpenGL 시간질의의경우이전작업이끝난경우에사용이가능한데, 이를이용하여질의의가용성 (GL_QUERY_RESULT_AVAILABLE) 을확인하면이전 GPU 명령인복사과정이끝났는지확인할수있다. 묵시적동기화를위해시간질의를복사명령이후에추가하고합성과정의대기없이다음렌더링을수행한다. 그리고시간질의의가용성을확인하여복사완료여 그림 2 데이터전송대기 ( 상 ) 및프레임합성대기 ( 하 ) Fig. 2 Stalls by data transfer (above) and compositing frames (below) 부를테스트해야하는데, 해당테스트는각각의 GPU에서만할수있기때문에, 각보조 GPU는장면을렌더링하기전에질의의가용여부테스트를수행해서복사완료를알려야한다. 주 GPU의렌더링스레드는그림 1의합성단계에서보조 GPU들의테스트결과를합성전에확인하는데, 모든프레임들이주 GPU의텍스처에복사되었다면주 GPU는프레임을합성하고화면에보여준다. 만일, 복사가되어있지않다면주 GPU 역시대기없이렌더링을계속수행한다 ( 그림 1의렌더링루프 ). 이러한프레임합성방법은렌더링과전송을동시에수행할수있게하여프레임의전송시간을숨길수있다. 3.3 메시지큐스케줄링묵시적동기화를수행할경우렌더링시점이나복사가완료되는시점이일치하지않을수있으며, 같은시점의프레임간의합성을수행하기위해서이들을관리해야한다. 본알고리즘에서는메시지큐를사용하여이를스케줄링한다. 그림 1에서사각형으로표시된메시지는특정시점에서렌더링에필요한데이터들을저장하여, 각 GPU의렌더링시작시간이다르더라도동일한시점의장면을렌더링할수있도록하고, 렌더링된결과를저장하기위해 GPU 개수만큼텍스처를가지고있다. 메시지를관리하기위해서사용되는메시지큐는 4가지로, 빈메시지가포함된대기큐 (ready queue) 와

1336 정보과학회논문지제 42 권제 11 호 (2015. 11) 렌더링정보를포함하고있는렌더링큐 (render queue), 복사가진행중인복사큐 (copy queue), 합성을대기하는합성큐 (composite queue) 가있다. 그리고렌더링큐와복사큐는사용되는 GPU의개수만큼존재한다. 그림 1의렌더링과정에서각렌더링스레드는렌더링큐로부터메시지를가져와서렌더링을수행하는데, 큐가비어있을경우대기큐로부터메시지를가져와서렌더링정보를초기화하고각렌더링큐에추가한다. 렌더링이끝난메시지는보조 GPU의경우복사큐로, 주 GPU 의경우합성큐로이동한다. 보조 GPU에서는복사큐로들어간메시지에대해서복사완료를확인하고복사가완료된메시지는제거한다. 주 GPU에서는렌더링이끝난이후합성큐에메시지가있는지확인하고합성의가능여부를확인한다. 만일, 합성이가능하다면, 해당메시지의프레임을합성한다. 마지막으로주 GPU에서는합성이끝난메시지를대기큐로이동시킨다 ( 그림 1). 이러한알고리즘을통해프레임시점의순서대로합성및디스플레이가진행되도록할수있다. 그리고이와같은메시지큐구성을통해, 대기큐와렌더링큐에서발생할수있는락 (lock) 들이렌더링과정에영향을끼치지않도록한다. 또한, 락과정에서는부하가거의없는메시지생성과같은작업만수행하여, 부하를최소화시키며렌더링효율을높일수있다. 그리고메시지큐방식을통해부하분산에대한의존성을낮출수있지만, 심한부하불균형이발생할경우에는렌더링큐가꽉찰수있다. 이는메시지생성과정에서락으로인한대기상태를일으켜성능저하를발생시키는데, 렌더링큐의상태에서부하불균형을미리감지하여, 부하분산을통해성능하락을방지할수있다. 3.4 최적화본스케줄링에서는장면의구조나 GPU 성능에따라최적화를위한인자로메시지수 ( 큐의크기 ) 와복사 / 합성의지연시간, 복사테스트의횟수를사용한다. 메시지수는스케줄링에서사용하는큐의크기와동일하며, 메시지가많을수록부하가적게걸린 GPU들이미리렌더링하는프레임의개수가많아진다. 적절한메시지개수는불균일한부하상황에서도모든 GPU를지속적으로활용할수있게한다. 그러나메시지수가많아질경우미리렌더링된프레임수를증가시키기때문에렌더링을더부드럽게수행할수있지만, 합성되어보이는시점간의차이가증가하기때문에상호작용지연이증가한다. 복사및합성의지연시간은보조 GPU에서수행하는복사완료테스트나주 GPU에서수행하는합성가능테스트가바로수행되지않도록프레임을기준으로지연시킨다. 각테스트는복사가시작된이후바로수행할필요가없기때문에, 렌더링시간과전송시간을고려하 여 1-2 프레임정도지연시킨다. 복사테스트의횟수는보조 GPU들이복사가완료되었는지테스트하는메시지의개수를의미한다. 복사과정이연속적으로진행될경우렌더링과정동안 2개이상의복사가완료될수있다. 복사완료여부는미리확인할수록추가질의의감소와합성지연시간이감소할수있으므로 2개이상의복사를확인한다. 본스케줄링에서는이런인자들의값으로각각 3, 1, 1 및 2를사용했다. 4. 결과마지막으로본알고리즘의장면별성능측정과 equalizer[5] 및 Liu의방법 [9] 들의성능을비교했다. 모델의분배알고리즘의효율에따라서성능이달라질수있지만, 본실험에서는평균적으로가장높은성능을내는비율을고정으로하고평균초당프레임수 (frames per second; FPS) 를측정했다. 실험환경은 Intel i7-3770 CPU와 NVIDIA Quadro K5000 GPU 및 Full-HD (1920 1080) 해상도를사용했으며, 사용한장면은 bunny, balloon, cityblock으로그림 3과같이구성했다. Bunny 장면에서는삼각형 69,451개를가지는 bunny를임의로배치하여삼각형개수를증가시고, balloon 장면에서는삼각형 10,588개를가지는 balloon을임의로배치했다. 마지막으로 cityblock 장면은건물과도로및가로등을격자형태로배치하고, 삼각형 83,894개를가지는사람모델을 cityblock에임의로배치해서삼각형개수를증가시켰다. 그림 4는 bunny, balloon, cityblock 장면별로 GPU 1개, 2개, 3개를사용하여측정한결과를나타낸다. 각장면에서다중 GPU를사용했을때단일 GPU보다높은성능을나타낸다. GPU 2개를사용했을때는 7.5 Hz에서 14.1 Hz로최대 187% 성능향상을보여주고, GPU 3 개를사용했을때는 5.6 Hz에서 13.8 Hz로최대 246% 성능향상을보여준다. Bunny 및 cityblock 장면의경우 2개의 GPU를사용했을때최소 150% 이상의성능향상을달성할수있었으나, 3개의 GPU를사용하게되면 GPU 간의전송부하가많은영향을끼치게되면서성능향상폭이 178% 까지감소하게된다. Balloon 장면의경우에는객체의삼각형단위가다른장면들에비해매우작고텍스처사용도많아서 GPU 성능이높지않다. 단일 GPU에서도 GPU 활용률이 60% 미만으로나오기때문에, 다중 GPU를활용할경우전체적으로 GPU 활용률이떨어진다. 또한, 복사로인한메모리읽기 / 쓰기증가도성능에영향을미쳐서, GPU 3개를활용할경우에는성능이오히려하락하는현상이있다. 그림 5는각장면및 GPU 개수별로본알고리즘과 equalizer 및 Liu 알고리즘과의성능비교결과를보여준다. Equalizer는 eqply 예제를기준으로 sort-last 방

묵시적동기화기반의고성능다중 GPU 렌더링 1337 그림 3 3 가지성능측정장면 : Bunny ( 좌 ), Balloon ( 중 ), Cityblock ( 우 ) Fig. 3 Three benchmark scenes: Bunny (left), Balloon (middle) and Cityblock (right) 그림 4 Bunny ( 좌 ), balloon ( 중 ), cityblock ( 우 ) 장면별단일및다중 GPU 성능측정결과 Fig. 4 Performance of single- and multi-gpu rendering on bunny (left), balloon (middle), and cityblock (right) scenes 그림 5 제안하는알고리즘과 equalizer, Liu 알고리즘간의성능비교 Fig. 5 Performance comparisons for our algorithm, equalizer, and those of Liu et al. 식의기본설정을사용해서측정했으며, Liu 알고리즘은 decoupled parallel rendering을구현하여성능을측정했다. 그결과로, 본알고리즘은다른알고리즘들과비교하여높은성능향상을달성했다. Equalizer 대비 2-GPU에서 8.2 Hz에서 15.3 Hz로최대 187% 성능향상하고, 3-GPU에서 8.7 Hz에서 18.6 Hz로 214% 성능향상을보여준다. 또한, Liu 알고리즘대비 2-GPU에서 11.4 Hz에서 36.3 Hz로최대 318% 성능향상되며, 3-GPU 에서 8.4 Hz에서 40.2 Hz로 479% 성능향상을나타낸다. Equalizer의경우, 본알고리즘과비슷한패턴을보이지만, 프레임의합성과정의지연으로인해성능향상이크지않았다. Liu 알고리즘의경우, Full-HD 해상도를사용할경우프레임전송및합성시간이매우커져서크기가작은장면에서는성능향상이적으며, 크기가큰장면에서도성능향상이크지않았다. 5. 결론본논문은실시간다중 GPU 렌더링의성능향상을

1338 정보과학회논문지제 42 권제 11 호 (2015. 11) 위한묵시적동기화와메시지스케줄링알고리즘을제안했다. 다중 GPU 렌더링성능을최대화하기위해서묵시적동기화를사용하여, 전송과합성으로인한대기상태를제거하고모든 GPU의효율을향상시켰다. 또한, 묵시적동기화를효율적으로사용하고렌더링및합성과정을관리하기위해메시지스케줄링알고리즘을도입하고다중 GPU의확장성 (scalability) 을개선했다. 본연구는다음과같은한계점을가지며추후연구로진행될예정이다. (1) 부하분산알고리즘에따라메시지스케줄링방법이나최적화조건이달라질수있고, 심한부하불균형을막기위한부하부산알고리즘에대한고려도필요하다. 본연구에서는간단한방법을사용하였으므로이를고려한최적화된알고리즘연구가필요하다. (2) 이전프레임과일관성 (coherence) 을가지는렌더링기법을사용할경우최종합성된프레임을보조 GPU에다시전송해야하는부하가발생하는데, 본연구에서는이를고려하지않았다. 그러나이러한렌더링기법은보편적으로사용될수있기때문에이를고려한연구가요구된다. (3) 또한, bunny나 balloon과같은단순한장면보다 cityblock이나게임및애니메이션장면처럼일반적인모델및장면에대해서도알고리즘성능향상이효과적인지추가적으로실험할필요가있다. (4) 마지막으로, 차세대그래픽스 API(DirectX 12 또는 Vulkan) 들이부하를최소화하며, 다중 GPU를적극적으로지원하는방향으로변화하고있다. 이후차세대그래픽스 API 및 GPU를적용하여향상된알고리즘연구가필요하다. References [1] J. R. Monfort, and M. Grossman, "Scaling of 3d game engine workloads on modern multi-gpu systems," Proc. of the Conference on High Performance Graphics 2009, pp. 37-46, 2009. [2] W. Braithwaite, and S. Venkataraman, "Mixing Graphics & Compute with multi-gpu," GPU Technology Conference, 2013. [3] L. Chen, O. Villa, and S. Krishnamoorthy, "Dynamic load balancing on single-and multi-gpu systems," IEEE International Symposium on Parallel & Distributed Processing, pp. 1-12, 2010. [4] E. Rustico, G. Bilotta, A. Herault, C. Del Negro, and G. Gallo, "Advances in multi-gpu smoothed particle hydrodynamics simulations," IEEE Trans. on Parallel and Distributed Systems, Vol. 25, No. 1, pp. 43-52, 2014. [5] S. Eilemann, M. Makhinya, and R. Pajarola, "Equalizer: A scalable paralle rendering framework," IEEE Trans. on Visualization and Computer Graphics, Vol. 15, No. 3, pp. 436-452, 2009. [6] J. B. Hernando, J. Biddiscombe, B. Bohara, S. Eilemann, and F. Schürmann, "Practical parallel rendering of detailed neuron simulations," Eurographics Symposium on Parallel Graphics and Visualization, pp. 49-56, 2013. [7] R. Hagan, and Y. Cao, "Multi-gpu load balancing for in-situ visualization," The 2011 International Conference on Parallel and Distributed Processing Techniques and Applications, 2011. [8] S. Eilemann, A. Bilgili, M. Abdellah, J. Hernando, M. Makhinya, R. Pajarola, and F. Schurmann, "Parallel rendering on hybrid multi-gpu clusters," Eurographics Symposium on Parallel Graphics and Visualization, pp. 109-117, 2012. [9] H. Liu, P. Wang, K. Wang, X. Cai, L. Zeng, and S. Li, "Scalable multi-gpu decoupled parallel rendering approach in shared memory architecture," 2011 International Conference on Virtual Reality and Visualization, pp. 172-178, 2011. [10] S. Molnar, M. Cox, D. Ellsworth, and H. Fuchs, "A sorting classification of parallel rendering," IEEE Computer Graphics and Applications, Vol. 14, No. 4, pp. 23-32, 1994. 김영욱 2014년성균관대학교컴퓨터공학과졸업 ( 학사 ). 2014년~현재성균관대학교전자전기컴퓨터공학과석사과정. 관심분야는 Real-time GPU rendering, GPU algorithms, GPU computing 이성길 2002년포항공과대학교신소재공학과졸업 ( 학사 ). 2009년포항공과대학교컴퓨터공학과졸업 ( 박사 ). 2009년~2011년독일 Max-Planck-Institut Informatik 박사후연구원. 2011년~2015년성균관대학교소프트웨어학과조교수. 2015년~현재성균관대학교소프트웨어학과부교수. 관심분야는 Realtime rendering, perception-based information visualization, virtual reality, high-performance GPU computing