$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

CUDA 프레임워크 상에서 스카이라인 질의처리 알고리즘 최적화
Optimizing Skyline Query Processing Algorithms on CUDA Framework 원문보기

정보과학회논문지. Journal of KIISE. 데이타베이스, v.37 no.5, 2010년, pp.275 - 284  

민준 (성균관대학교 임베디드 소프트웨어학과) ,  한환수 (성균관대학교 정보통신공학부) ,  이상원 (성균관대학교 정보통신공학부)

초록
AI-Helper 아이콘AI-Helper

GPU는 대용량 데이터 처리를 위해 특화된 멀티 코어 기반의 스트림 프로세서로서 빠른 데이터 처리 속도 및 높은 메모리 대역 동의 장점을 가지며, CPU에 비해 가격이 저렴하다. 최근 이러한 GPU의 특성용 활용하여 범용 컴퓨팅 분야에 활용하고자 하는 시도가 계속되고 있다. 엔비디아에서 발표한 범용 병렬 컴퓨팅 아키텍처인 쿠다(CUDA) 프로그래밍 모델의 경우 프로그래머가 GPU 상에서 동작하는 범용 어플리케이션을 보다 손쉽게 개발할 수 있도록 지원한다. 본 논문에서는 쿠다 프로그래밍 모델을 이용하여 기본적인 중첩-반복 스카이라인 알고리즘을 병렬화시킨다. 그리고 스카이라인 알고리즘의 특성을 고려하여 GPU 자원용 효율적으로 사용할 수 있도록 GPU의 메모리 및 명령어 처리율에 중점을 두고 단계적인 최적화를 진행한다. 최적화 단계에 따라 각각 다른 성능 개선이 나타나는 것을 확인하였으며, 그 결과 기본 병렬 중첩-반복 알고리즘에 비해 평균 80%의 성능이 향상됨을 확인하였다.

Abstract AI-Helper 아이콘AI-Helper

GPUs are stream processors based on multi-cores, which can process large data with a high speed and a large memory bandwidth. Furthermore, GPUs are less expensive than multi-core CPUs. Recently, usage of GPUs in general purpose computing has been wide spread. The CUDA architecture from Nvidia is one...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

문제 정의

  • 따라서 최적의 성능을 얻기 위해서는 하드웨어 제약과 처리하는 데이터 특성을 고려하여 적합한 개수의 스레드를 생성하고, 처리해야할 객체의 수가 생성된 스레드 수보다 많은 경우s > k) 그림 5의 스레드 0, 스레드 1과 같이 기본 병렬 알고리즘을 반복적으로 수행하여 주어진 조건에 부합하는 스카이라인 집합을 얻을 수 있다. 병렬 중첩-반복 스카이라인 알고리즘을패모리 처리율과 명령어 처리율 관점에서 최적화시키고 성능 향상 정도를 비교해보자.
  • 본 논문에서는 엔비디아의 쿠다 병렬 프로그래밍 모델을 이용하여 가장 기본적인 중첩-반복(nested-loops) 스카이라인 알고리즘을 병렬화시키고, GPU 상에서 성능 극대화를 위한 단계적인 최적화 방안들을 제시한다. 일반적으로 영상 처리 및 컴퓨터 비전(computer vision) 응용과 같이 병렬화 적용을 위한 데이터 구조 및 알고리즘이 단순한 분야가 GPU 처리 구조에 적합한 것으로 알려져 있는데[13, 14], 스카이라인 처리와 같이 상대적으로 복잡한 알고리즘의 경우에도 해당 알고리즘의 특성과 최신 GPU 의 기능을 활용하여 성능을 향상시킬 수 있음을 보이겠다.
  • 본 논문에서는 엔비디아의 쿠다 병렬 프로그래밍 모델을 이용하여 기본적인 중첩-반복 스카이라인 알고리즘을 병렬화하고, 단계적으로 최적화 시키면서 GPU의 성능 확장성을 알아보았다. 일반적으로, GPU 처리 구조는 영상 처리 및 컴퓨터 비전 알고리즘 같은 대용량 병렬 처리에 적합하지만, 특정 알고리즘의 고유한 특성을 GPU 환경에 맞게 단계적으로 수정해 감에 따라 상당한 성능 향상을 얻을 수 있음을 알았다.
  • 또한 하드웨어적으로 관리되는 CPU 상의 캐시 메모리와 달리 GPU의 경우 프로그래머에 의해 소프트웨어적으로 공유 메모리가 사용되어지기 때문에 한 블록의 스레드들이 모두 독립적으로 서로 다른 부분 객체 집합에 대한 스카이라인 처리를 수행할 경우 메모리 대역을 낭비하게 된다. 본 논문에서는 이러한 GPU와 스카이라인알고리즘 고유의 특성을 적절히 조화하여 GPU 자원을 효율적으로 활용하고 전체 프로그램 성능을 향상시킬수 있는 방법을 제안한다.
  • 본 논문에서는 이러한 GPU의 특성을 활용하여 가장 기본적인 중첩-반복(nested-loops) 스카이라인 알고리즘[15]을 병렬화시키고, 성능 향상을 위해 알고리즘 고유의 특성을 GPU 환경에 맞게 단계적으로 수정하는 방법을 제안한다. 중첩-반복 알고리즘은 가장 기본적인 스카이라인 처리 방법으로 전체 객체들을 서로 한 번씩 비교하여 주어진 조건에 부합하는 스카이라인 집합을 구한다.

가설 설정

  • 이 경우 요청된 데이터 전송을 완료하기 위해서는 총 9번의 128-바이트 메모리 트랜잭션이 발생하게 된다. 그림 6의 (b) 방법은이러한 문제점을 개선한 것이다. 워프의 스레드들은 객체의 속성 단위로 메모리에 접근하고, 3번(속성 수) 반복하여 순차적으로 데이터를 전송한다.
  • 이상의 속성으로 구성된 객체이다. 병렬 중첩-반복 알고리즘에서 사용되는 객체 집합은 전역 메모리 상에 순차적으로 나열되어 있으며, 설명의 편의를 위해 첫 번째 객체는 0번지에 위치하고 각 속성은 4-바이트 크기의 단정밀도 부동 소수점 형식이라고 가정한다. 그림 6 은 워프의 스레드들이 객체들을 공유 메모리로 읽어가기 위해 전역 메모리에 접근하는 방법을 간략하게 도식화한 것이다.
  • 옙를 둘어, 질의자가 휴양지의 호텔 예약을 위해 '숙박 요금은 저렴하고, 해변과의 거리는 가까운 호텔'에관한 정보를 원한다고 가정흥]■자. 일반적으로, 해변과 가까운 호텔 일수록 가격이 비싼 반비례 관계를 형성하브로 조건에 일치하는 최적의 호텔 하나를 결정해 줄 수는 없다.
본문요약 정보가 도움이 되었나요?

참고문헌 (24)

  1. NVIDIA Corporation, http://www.nvidia.com 

  2. J. Krueger, R. Westermann, Linear, "Linear algebra operators for GPU implementation of numerical algorithms," In Proceedings of SIGGRAPH, pp.908-916, 2003. 

  3. J. Bolz, I. Farmer, E. Grinspun, P. Schroeder, "Sparse matrix solvers on the GPU: Conjugate gradients and multigrid," In Proceedings of SIGGRAPH, pp.917-924, 2003. 

  4. Mark J. Harris, Greg Coombe, Thorsten Scheuermann, and Anselmo Lastra, "Physically-Based Visual Simulation on Graphics Hardware," Proc. 2002 SIGGRAPH. 

  5. John D. Owens, David Luebke, Naga Govindaraju, Mark Harris, Jens Kruuger, Aaron E. Lefohn, and Timoty J. Purcell, "A Survey of General-Purpose Computation on Graphics Hardware," In Eurographics 2005, State of the Art Reports, pp.21-51, August 2005. 

  6. GPGPU, http://gpgpu.org 

  7. Mark D. Hill, Michael R. Marty, "Amdahl's Law in the Multicore Era," IEEE Computer Society, 2008. 

  8. K. Asanovic et al., "The Landscape of Parallel Computing Research: A View from Berkeley," report UCB/EECS 2006, p.183, 2006. 

  9. DevNote, "멀티프로세서 프로그래밍 시대의 개막," http://devnote.net/wiki/index.php/Main_Page 

  10. NVIDIA CUDATM Programming Guide Version 3.0, NVIDIA Corporation, Santa Clara, CA, USA, 2010. 

  11. David Kirk and Wen-mei Hwu, CUDA Textbook, Draft Version, 2009. 

  12. R. Rost, OpenGL Shading Language Second Edition, Addison-Wesley, 2006. 

  13. J.-M. Frahm, M. Pollefeys, and M. Shah, Proc. of CVPR Workshop on Visual Computer Vision on GPU's, June, 2008. 

  14. A. Gopalakrishnan and A. Sekmen, "Vision-based Mobile Robot Learnig an Navigation," ROMAN, IEEE International Workshop on Robots and Human Interactive Communication, pp.28-53, 2005. 

  15. Stephan Borzsonyi, Donald Kossamann, and Konrad Stocker, "The Skyline Operator," in ICDE, pp. 421-430, 2001. 

  16. Sungwoo Park, Taekyung Kim, Johghyun Park, Jinha Kim, and Hyeonseung Im, "Parallel Skyline Computation on Multicore Architectures," in ICDE, pp.760-771, 2009. 

  17. P. Wu, C. Zhang, Y. Feng, B. Y. Zhao, D. Agrawal, and A. E. Abbadi, "Parallelizing skyline queries for scalable distribution," in EDBT, pp.112-130, 2006. 

  18. A. Cosgaya-Lozano, A. Rau-Chaplin, and N. Zeh, "Parallel computation of skyline queries," in HPCS, p.12, 2007. 

  19. D. Kossmann, F. Ramsak, and S. Rost, "Shooting stars in the sky: an online algorithm for skyline queries," in VLDB, pp.275-286, 2002. 

  20. D. Papadias, Y. Tao, G. Fu, and B. Seeger, "Progressive skyline computation in database systems," ACM Transactions on Database Systems, vol.30, no.1, pp.41-82, 2005. 

  21. Joachim Selke, Christoph Lofi, and Wolf-Tilo Balke, "Highly Scalable Multiprocessing Algorithms for Preference-Based Database Retrieval," 15th International Conference on Database Systems for Advanced Applications (DASFAA), Tsukuba, Japan, 04/2010. 

  22. S.-R. Cho, H. Han, S.-W. Lee, "Multi-Dimensional Record Scan with SIMD Vector Instructions," Journal of KIISE : Computing Practices and Letters, vol.16, no.6, pp.732-736, June. 2010. (in Korean) 

  23. J. Chhugani, W. Macy, A. Baransi, A. Nguyen, M. Hagog, S. Kumar, V.W. Lee, Y. K. Chen, and P. Dubey, "Efficient Implementation of Sorting on Multi-core SIMD CPU Architecture," Proc. of the Very Large Data Base Endowment, vol.1 issue2, August 2008, pp.1313-1324, 2008. 

  24. 민준, 한환수, 이상원, "Multi-core 환경에서 입력 데이터 크기에 따른 skyline 알고리즘 병렬화 고찰", 한국정보과학회 가을 학술발표논문집 , 제 36권 제 2호 pp. 22-23, 2009. 

저자의 다른 논문 :

LOADING...

관련 콘텐츠

저작권 관리 안내
섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로