CPU와 GPGPU간 동적 로드 밸런싱을 통한 트리 검색성능 향상 기법

Title
CPU와 GPGPU간 동적 로드 밸런싱을 통한 트리 검색성능 향상 기법
Authors
신동영
Keywords
cpu와gpgpu간동적로드밸런싱을통한트리검색성능향상기법
Issue Date
2012
Publisher
인하대학교
Abstract
트리의 검색은 다양한 응용 프로그램에서 흔히 사용하는 연산이다. 트리를 검색하는 질의를 동시에 여러 개 수행하거나 하나의 질의를 여러 개로 분할하고 각각의 분할된 질의들을 병렬적으로 수행함으로써 트리 검색의 성능을 향상시킬 수 있다. 그러나 CPU를 사용하는 환경에서는 여러 개의 쓰레드를 생성한다 할지라도 쓰레드를 수행하는 연산 코어의 개수가 한정되어 있기 때문에 일정 수준 이상의 병렬성을 확보하기 어려우며, 따라서 성능 개선에는 한계가 있다. 오히려 생성된 쓰레드가 많을 경우 쓰레드 제어에 필요한 오버헤드로 인하여 성능이 저하될 수 있다. 본 논문에서는 연결 리스트로 구성된 트리를 GPGPU(Gerenal Purspose Graphic Processing Unit)에서 검색이 용이한 배열 기반의 트리로 변환하는 방법을 설명한다. 또한, 많은 쓰레드를 동시에 수행할 수 있는 GPGPU를 사용하여 충분한 병렬성을 확보하고, 이를 통해 트리 검색의 성능을 개선한다. 더 나아가 GPGPU상에서 수행될 질의가 검색할 데이터의 양을 GPGPU 쓰레드에 동적으로 균형적으로 분할 및 할당함으로써 성능을 개선하는 방법을 제시한다.
Description
제 1 장 서론 1 제 2 장 관련 연구 4 2.1 쿼드 트리 4 2.2 GPGPU 5 2.3 FPGA를 이용한 포인터 기반 데이터 구조 검색 성능 개선 5 2.4 GPGPU를 이용한 문자열 비교 성능 개선 6 제 3 장 연결 리스트 트리의 배열 트리 변환 8 3.1 데이터 타입 변경 8 3.2 배열 트리 생성 10 제 4 장 호스트와 디바이스 프로세스 전환 12 4.1 호스트에서의 배열 트리 검색 12 4.2 디바이스에서의 배열 트리 검색 13 4.3 호스트와 디바이스의 인터페이스 15 4.4 디바이스 쓰레드 로드 밸런싱 18 제 5 장 성능 측정 및 평가 21 5.1 응용 프로그램 소개 21 5.2 성능 측정 22 제 6 장 결론 27 참고문헌 28 그림 1. 데이터 분포에 따른 쿼드트리의 구조 4 그림 2. 절대 주소 지정 방법과 상대 주소 지정 방법 9 그림 3. 배열 트리 생성 의사코드 11 그림 4. 쓰레드 블록별 검색 범위 배열 참조 14 그림 5. 검색 노드에 따른 큐의 상태 변화 15 그림 6. 검색 범위 배열 확장 16 그림 7. 불필요한 검색 노드 제거 17 그림 8. 디바이스 쓰레드 문턱값에 따른 성능 비교 23 그림 9. 디바이스 쓰레드 로드 분산 적용 결과 25 표 1. 트리를 구성하는 레코드 크기에 따른 트리 노드의 개수 22 표 2. 데이터 크기와 쓰레드 문턱값에 따른 GPGPU 쓰레드 사용 질의 번호 24
URI
http://dspace.inha.ac.kr/handle/10505/23574
Appears in Collections:
College of Engineering(공과대학) > Computer Engineering (컴퓨터공학) > Theses(컴퓨터정보공학 석박사 학위논문)
Files in This Item:
24655.pdfDownload

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Browse