Abstract
High-resolution digital holograms can be quickly generated by using a PC cluster that is based on server-client architecture and is composed of several GPU-equipped PCs. However, the data transmission time between PCs becomes a large obstacle for fast generation of video holograms because it linearly increases in proportion to the number of frames. To resolve the problem with the increase of data transmission time, this paper proposes a multi-threading-based method. Hologram generation in each client PC basically consists of three processes: acquisition of light sources, CGH operation using GPUs, and transmission of the result to the server PC. Unlike the previous method that sequentially executes the processes, the proposed method executes in parallel them by multi-threading and thus can significantly reduce the proportion of the data transmission time to the total hologram generation time. Through experiments, it was confirmed that the total generation time of a high-resolution video hologram with 150 frames can be reduced by about 30%.
GPU를 탑재한 여러 대의 PC를 클러스터(서버-클라이언트 구조)로 구성함으로써 고해상도 디지털 홀로그램을 고속으로 생성할 수 있다. 그러나, 비디오 홀로그램의 경우, PC 사이의 데이터 전송 시간이 프레임 수에 비례하여 선형적으로 증가하기 때문에 비디오 홀로그램을 고속 생성하는 데 있어 큰 걸림돌이 된다. 본 논문에서는 이러한 데이터 전송 시간의 증가를 해결하기 위해 멀티쓰레드를 활용하는 방법을 제안한다. 기본적으로 각 클라이언트 PC에서의 홀로그램 생성은 서버로부터 광원 정보 획득, GPU를 이용한 CGH 연산, 서버로의 결과 전송의 과정으로 이루어지는데, 각 과정을 순차적으로 하지 않고 멀티쓰레딩을 통해 병렬로 수행함으로써 전체 홀로그램 생성 시간에서 데이터 전송 시간의 비율을 크게 줄일 수 있다. 실험을 통해, 150 프레임을 가지는 고해상도 비디오 홀로그램을 생성하는 시간을 약 30% 줄일 수 있음을 확인하였다.