고화질 입체 영상의 효과적인 재생을 위해 PC클러스터를 활용한 여러 형태의 병렬화 기법이 제안되었지만, 영상을 구성하는 객체의 분포가 균일하지 않은 경우 충분한 성능을 발휘하지 못하였다. 본 연구에서는 POV-Ray 렌더러를 채택한 PC클러스터 기반의 병렬 렌더링 시스템을 구축하고, 병렬화 성능을 높이기 위한 효과적인 부하 균형 기법을 개발하였다. 특히 애니메이션을 구성하는 연속 프레임 작업에서 프레임간의 연관성(coherence)이 높다는 사실에 근거하여, 임의 프레임의 각 분할 영역에 소요된 계산량을 바탕으로 다음 프레임의 부하 분포를 예측하고 이에 맞게 각 프로세서의 작업 영역을 재조정하는 기법을 제안하였다. 제안 기법의 성능을 평가하기 위해, 충분하지는 않지만 2개의 실제 애니메이션 데이터에 대한 적용 결과, 정적 분할에 비해 약 40% 가량의 성능 향상을 보였다. 또한 다양한 부하 분포에 대한 각 기법의 성능을 추정하기 위해 수행한 모의실험에서, 정적 분할 기법에 대해 부하균형, 확장성 측면에서 우월한 것으로 예측되었다.
고화질 입체 영상의 효과적인 재생을 위해 PC클러스터를 활용한 여러 형태의 병렬화 기법이 제안되었지만, 영상을 구성하는 객체의 분포가 균일하지 않은 경우 충분한 성능을 발휘하지 못하였다. 본 연구에서는 POV-Ray 렌더러를 채택한 PC클러스터 기반의 병렬 렌더링 시스템을 구축하고, 병렬화 성능을 높이기 위한 효과적인 부하 균형 기법을 개발하였다. 특히 애니메이션을 구성하는 연속 프레임 작업에서 프레임간의 연관성(coherence)이 높다는 사실에 근거하여, 임의 프레임의 각 분할 영역에 소요된 계산량을 바탕으로 다음 프레임의 부하 분포를 예측하고 이에 맞게 각 프로세서의 작업 영역을 재조정하는 기법을 제안하였다. 제안 기법의 성능을 평가하기 위해, 충분하지는 않지만 2개의 실제 애니메이션 데이터에 대한 적용 결과, 정적 분할에 비해 약 40% 가량의 성능 향상을 보였다. 또한 다양한 부하 분포에 대한 각 기법의 성능을 추정하기 위해 수행한 모의실험에서, 정적 분할 기법에 대해 부하균형, 확장성 측면에서 우월한 것으로 예측되었다.
Even though many studies on parallel rendering based on PC clusters have been done. most of those did not cope with non-uniform scenes, where locations of 3D models are biased. In this work. we have built a PC cluster system with POV-Ray, a free rendering software on the public domain, and developed...
Even though many studies on parallel rendering based on PC clusters have been done. most of those did not cope with non-uniform scenes, where locations of 3D models are biased. In this work. we have built a PC cluster system with POV-Ray, a free rendering software on the public domain, and developed an adaptive load balancing scheme to optimize the parallel efficiency Especially, we noticed that a frame of 3D animation are closely coherent with adjacent frames. and thus we could estimate distribution of computation amount, based on the computation time of previous frame. The experimental results with 2 real animation data show that the proposed scheme reduces by 40% of execution time compared to the simple static partitioning scheme.
Even though many studies on parallel rendering based on PC clusters have been done. most of those did not cope with non-uniform scenes, where locations of 3D models are biased. In this work. we have built a PC cluster system with POV-Ray, a free rendering software on the public domain, and developed an adaptive load balancing scheme to optimize the parallel efficiency Especially, we noticed that a frame of 3D animation are closely coherent with adjacent frames. and thus we could estimate distribution of computation amount, based on the computation time of previous frame. The experimental results with 2 real animation data show that the proposed scheme reduces by 40% of execution time compared to the simple static partitioning scheme.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
약 40% 가량의 성능 향상을 보였다. 또한 다양한 부하분포에 대한 각 기법의 성능을 추정하기 위해 수행한 모의실험에서. 정적 분할 기법에 대해 부하 균형, 확장성 측면에서 우월한 것으로 예측되었다.
본 연구에서는 POV-Ray〔9〕를 채용한 PC 클러스터 기반의 병렬 렌더링 시스템을 구축하고, 병렬화 성능을 높이기 위한 효과적인 부하.균형 기법을 개발하였다.
따라서. 본 절에서는 모의 3차원 영상 데이터를 모델링하여 그 계산량 분포를 인위적으로 구성하고, 이에 대한 각 기법의 처리 성능을 추정하는 모의실험결과를 제시할 것이다.
따라서 앞선 프레임의 작업 결과로 얻어진 각 분할 영역의 계산량을 바탕으로, 후속 프레임의 계산량을 추정하면 프로세서 간 계산량의 편차를 상당히 줄일 수 있게 된다. 위의 사실을 바탕으로, 본 연구에서는 PC 클러스터를 기반으로한 병렬 렌더링 시스템을 구축함에 있어, 3차원 그래픽스를 활용한 애니메이션 렌더링 작업을 효과적으로 수행하도록 프레임의 연관성과 계산량 정보를 활용하여 부하를 추정하고, 작업 부하를 균형있게 배분하는 기법을 설계하고자 한다. 특히.
가설 설정
그리고, 각 영역을 해당 프로세서를 통해 렌더링한 결과, 각각 wl. w2, w3, w4의 계산량 비율을 보였고, wl+w2>w3 + w4, wl+w3>w2+w4, wl>w2, w3 < w4 ( 0 W 3, M 1, ∑Wi =1)라고 가정하자. 즉, A 영역에 객체 분포가 집중된 경우이다.
주어진 균일도를 만족하는 모의 데이터는 각 분할된 영역에 적절히 계산량을 할당한 배열 자료로 쉽게 구현하였다. 실험에서는 프레임 연관성이 높은 경우와 애니메이션을 구성하는 프레임의 수가 매우 큰, 즉 시간이긴 영상을 생성하는 경우를 가정했고, 이에 따라 영상에 대한 사전 정보가 없는 시작 상태의 영향은 고려하지 않았다.
제안 방법
POV-Ray 렌더링 엔진이 서버 간의 통신을 지원하지 않기 때문에, 본 시스템에서는 각 노드의 외부 인터페이스를 담당하는 중개자(agent) 프로세스를 구현, 데몬의 형태로 실행시킨다. 중개자 간의 통신은 TCP 소켓으로 구현하였고, 중개자가 렌더링 명령을 받으면 쉘 명령을 통해 POV-Ray 렌더러를 실행한다.
효과적인 부하.균형 기법을 개발하였다. 대신 애니메이션을 구성하는 연속 프레임 작업에서 프레임 간의 연관성 (coherence)이 높다는 사실에 근거하여, 임의 프레임의 각분할 영역에 소요된 계산량을 바탕으로 다음 프레임의 부하분포를 예측하고 이에 맞게 각 프로세서의 작업 영역을 재조정하는 기법을 제안하였다.
균형 기법을 개발하였다. 대신 애니메이션을 구성하는 연속 프레임 작업에서 프레임 간의 연관성 (coherence)이 높다는 사실에 근거하여, 임의 프레임의 각분할 영역에 소요된 계산량을 바탕으로 다음 프레임의 부하분포를 예측하고 이에 맞게 각 프로세서의 작업 영역을 재조정하는 기법을 제안하였다. 따라서, 이 방법은 렌더링 시스템의 특성에 독립적으로 동작한다.
본 모의 실험은 계산량 분포에 따른 각 기법의 성능 추이를 살펴보는 의도이므로, 〔그림 6〕에 보이는 바와 같이 균일성이 0.75, 0.25인 두 경우를 대표적으로 살펴보았다. 쉽게 알 수 있듯이, process 시간은 계산량과 참여한 프로세서의 수에 의해 결정되고, 작업 분할 기법과 무관하다.
특히. 본 연구에서는 고가의 상용 렌더링 시스템에 의존하지 않고, 공개된 렌더링 소프트웨어인 POV-Ray〔9〕를 활용하여 병렬 렌더링 클러스터 시스템을 구성하였다.
본 연구에서는 먼저〔그림 2〕에 보이는 것처럼, 리눅스를 탑재한 PC 클러스터에 POV-Ray 3.6 렌더러를 설치, 렌더링 팜(farm)을 구축하고, 3차원 그래픽스를 이용한 애니메이션 프레임을 생성하는 서비스를 구현하였다. 클러스터는 전체 8개의 노드이며, 각 노드는 펜티엄 Ⅲ 933MHz, 512MB 메모리를 갖추었다.
실험 방법은 한 프레임 생성에 평균적으로 64초가 걸리는 모의 3차원 영상 데이터에 대해, 정적 분할(static), 세분화 정적 분할(static4), 제안 기법(proposed)의 성능을 모의 실험 프로그램을 통해 측정하였다. static 기법은 초기에 같은 크기로 분할한 작업 영역을 고수하는 방법이고, static4 기법은 분할 영역을 균등하게 나누되 참여하는 프로세서 수의 4배만큼 세밀하게 영역을 분할하여 부하 균형을 이루려는 방법이다.
이 방법 역시 생성된 분할 영역들이 포함하는 객체의 수에 있어 여전히 큰 편차를 보일 수 있다. 이 연구에서는 프로세서의 수의 열배 만큼의 분할 영역을 만들고 이들을 동적으로 할당, 가능하면 부하량의 편차를 줄이려 했다. 그런데 세밀한 영역 분할은 프로세서의 잦은 영역 배정 요구로 인해 상당한 오버헤드를 동반하고, 한 객체가 지나치게 분할되면서 서로 다른 프로세서에 의해 처리될 경우에, 앞서 계산한 결과를 효과적으로 활용할 수 없게 된다.
모든 서버들이 해당 프레임의 할당된 작업을 완료하면, Front-end 서버는 다음 프레임의 작업할당을 준비한다. 이때 각 노드로부터 수집한 자원 사용 정보를 바탕으로, 작업 영역을 재조정하며. 다시 다음 프레임 번호와 조정된 작업 영역 정보를 전달하여 병렬 작업을 반복적으로 수행시킨다.
정적인 균등 분할과 제안된 기법을 적용하여 비교 실험을 실시하였으며, (표 2〕에 보이는 것처럼 평균 프레임 시간 (frame time), 부하 불균형 (imbalance), 효율성 (efficiency) 를 측정하였다. 부하 불균형은 각 프레임이 최종적으로 완료되기까지 각 서버가 마지막으로 작업을 완료한 서버를 기다려야 했던 평균 시간을 전체 프레임에 대해 합한 것이다.
중개자 간의 통신은 TCP 소켓으로 구현하였고, 중개자가 렌더링 명령을 받으면 쉘 명령을 통해 POV-Ray 렌더러를 실행한다.
대상 데이터
실제 애니메이션 렌더링에서의 효과를 알기 위해, 〔표 1〕 에 보이는 2개의 애니메이션 데이터를 사용하였다. Cell-Phonee 핸드폰 모델의 플립이 열고 닫히는 동작과 함께 회전을 보여주는 애니메이션2로 전체 화면에서 계산량이 일부 영역에 편중된 모습을 보였다.
6 렌더러를 설치, 렌더링 팜(farm)을 구축하고, 3차원 그래픽스를 이용한 애니메이션 프레임을 생성하는 서비스를 구현하였다. 클러스터는 전체 8개의 노드이며, 각 노드는 펜티엄 Ⅲ 933MHz, 512MB 메모리를 갖추었다. 노드들은 100MB/s Fast Ethernet으로 연결되며, 하나의 Front-end 서버가 작업 요청을 접수하고, 계산량에 따라 작업 영역을 Back-end 서버들에게 배정하는 기능을 수행한다.
이론/모형
본 연구에서는 초기에 서버 노드의 수에 맞게 화면 영역을 분할하는 sort-first 기법을 기본적으로 채택하였다. 이때 분할된 영역을 타일(tile)이라 부르고, 타일의 수를 노드 수에 맞춘 것은 더 이상의 세분화가 부하 균형의 이점 보다는 불필요한 프로세서 간 통신과 계산 정보의 지역성을 떨어뜨리기 때문이다.
성능/효과
〔표 2〕의 실험결과를 살펴보면, 전반적으로 제안한 기법이 정적 분할 기법에 비해 우수함을 보인다. 제안된 기법은 정적 분할 기법보다 Cell-Phone과 Lux-Ball 각각에 대 해약 41%, 38%의 성능 향상을 보였다.
이에 비해 제안한 기법은 부하 분포에도 매우 적응적이며, 당연히 불균형으로 인한 낭비 시간도 거의 없다. 다만, 매 프레임마다 작업 영역 재조정을 위한 알고리즘이 수행되어야 하므로, 이 알고리즘의 복잡도에 따른 오버헤드가 성능 향상을 감소시킬 수 있지만, 성능 이득을 넘을 정도는 아니다.
또한 다양한 부하분포에 대한 각 기법의 성능을 추정하기 위해 수행한 모의실험에서. 정적 분할 기법에 대해 부하 균형, 확장성 측면에서 우월한 것으로 예측되었다. 그러나, 만일 프레임 간의.
제안 기법의 성능을 평가하기 위해, 충분하지는 않지만 2 개의 실제 애니메이션 데이터에 대한 적용 결과, 정적 분할에 비해 약 40% 가량의 성능 향상을 보였다. 또한 다양한 부하분포에 대한 각 기법의 성능을 추정하기 위해 수행한 모의실험에서.
정적 분할 기법에 비해 우수함을 보인다. 제안된 기법은 정적 분할 기법보다 Cell-Phone과 Lux-Ball 각각에 대 해약 41%, 38%의 성능 향상을 보였다. 특히 부하 편중으로 인한 지연 시간이 크게 줄고, 부하의 균형적인 분배에 따른 속도 향상도 좋은 것으로 보인다.
그러나, 최근 기가비트 스위치들이 등장하면서. 통신 오버헤드는 무시해도 될 만큼 네트웍 성능이 향상되었다. 그럼에도, 특정 객체가 포함된 영역이 지나치게 세분화되면, 분할 영역들이 서로 다른 프로세서에 의해 처리될 수 있고, 이 경우에 프로세서 자원들이 상당한 동일 계산에 낭비되거나, 캐슁이나 광선 자료 구조 등과 같이 어느 프로세서에 의해 기껏 확보된 지역성 (locality)이 제대로 활용되지 못하는 문제가 오히려 심각할 수 있다.
후속연구
결국 이전의 클러스터 기반 병렬 렌더링 시스템들은 대부분 한 프레임 내 (intra-frame)의 영역을 분할하기 보다는, 여러 프레임을 각각 나누어 맡아 작업하는 프레임 사이 (inter-frame)의 병렬화를 구현한 정도였다〔7, 8〕. 그러나, 고화질 프레임의 실시간 재생을 위해서는 가능한 많은 수의 프로세서를 통해 병렬화를 높이는 것이 바람직하고, 이는 정지(still) 영상뿐 아니라 애니메이션과 같은 연속 영상의 생성에도 마찬가지 효과를 보일 것으로 기대된다. 따라서 프레임 내에서의 작업 영역을 분할하는 시도를 통해 각 프로세서들의 처리 효율을 극대화하면 클러스터 시스템의 성능 제약을 극복하고 실시간 렌더링이 가능할 것으로 기대한다.
다만, 매 프레임마다 작업 영역 재조정을 위한 알고리즘이 수행되어야 하므로, 이 알고리즘의 복잡도에 따른 오버헤드가 성능 향상을 감소시킬 수 있지만, 성능 이득을 넘을 정도는 아니다. 그러나, 본 실험에서 가정한 프레임의 연관성이 나타나지 않는 영상 데이터에 대해서는 목적하는 효과는 얻지 못하고 오히려 부하 조정 오버헤드만이 가중되어 다른 기법들에 비해 성능이 떨어질 수 있으며, 이에 대해서는 향후 연구에서 프레임의 연관성 정도를 판단하여 제안 기법의 적용 여부를 판단하는 과정을 고안하여야 할 것이다.
따라서, 프레임 간의 연관성이 낮은.데이터에 대한 적용 방법을 향후 연구를 통해 개선할 필요가 있다.
그러나, 고화질 프레임의 실시간 재생을 위해서는 가능한 많은 수의 프로세서를 통해 병렬화를 높이는 것이 바람직하고, 이는 정지(still) 영상뿐 아니라 애니메이션과 같은 연속 영상의 생성에도 마찬가지 효과를 보일 것으로 기대된다. 따라서 프레임 내에서의 작업 영역을 분할하는 시도를 통해 각 프로세서들의 처리 효율을 극대화하면 클러스터 시스템의 성능 제약을 극복하고 실시간 렌더링이 가능할 것으로 기대한다.
시스템의 효율성 역시 제안된 기법이 약 50%에 가까운 우수한 결과를 보이는데, 효율성을 저하시키는 요인으로 네트웍지연 시간이 큰 영향을 미치고 있어, 향후 기가비트 네트웍 등을 채택하면 보다 나아질 것으로 기대된다.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.