멀티코어 CPU를 위한 최신 해싱 방법들의 성능분석

Cited 0 time in webofscience Cited 0 time in scopus
  • Hit : 255
  • Download : 0
해시테이블은 키 값으로 연관된 메모리를 매핑하는 방식으로 구현하는 기본적인 데이터 구조이다. O(1)의 매우 빠른 매핑작업으로 인해, 데이터베이스, 바이오인포매틱스, 그리고 분산 컴퓨팅등 다양한 분야에서 사용되고 있다. 한편, CPU의 마이크로 아키텍쳐 디자인의 패러다임이 빠른 하나의 코어를 사용하는 것에서 여러 개의 느린 다중코어를 사용하는 것으로 변하고 있다. 이러한 최신의 컴퓨터 구조의 성능을 최대한 이용하기 위해서 병렬처리방법은 그 어느 때보다 중요해졌다. 본 논문은 두 가지 잘 알려진 해싱 방법인 선형 해싱과 체인 해싱을 구현하였고 또한 최신 해싱 방법인 쿠쿠 해싱을 구현하여 세 가지 해싱 방법을 인텔 Nehalem 마이크로 아키텍쳐의 32개의 코어를 사용한 환경에서 성능을 분석하였다. 특히 compare-and-swap(CAS) 명령어의 락-프리(lock-free) 데이터 구조와 버킷-레벨(bucket-level) 락 데이터 구조 등의 가장 앞선 기술들을 사용하여 해시 방법들을 구현했다. 본 저자들이 아는 범위에서 본 논문은 위의 세 가지 해싱 방법들을 동일한 구현 프레임워크 하에서 최선의 성능을 발휘하도록 구현하고, 동일한 실험환경에서 성능분석을 한 최초의 논문이다. 223의 데이터(즉, 약 8백만) key-value 쌍을 사용한 실험 결과에서 락 프리 선형 해싱이 삽입 연산에서 가장 좋은 성능을 보였고, 락 프리 체인 해싱이 검색 연산에서 가장 좋은 성능을 보였다. 또한, 실험을 통해, 쿠쿠 해싱이 해당 논문 저자들의 주장만큼 효율적인 것은 아니라는 것을 보였다.
Publisher
한국정보과학회
Issue Date
2013-06
Language
Korean
Citation

정보과학회논문지 : 데이타베이스, v.40, no.3, pp.189 - 201

ISSN
1229-7739
URI
http://hdl.handle.net/10203/272860
Appears in Collection
CS-Journal Papers(저널논문)
Files in This Item
There are no files associated with this item.

qr_code

  • mendeley

    citeulike


rss_1.0 rss_2.0 atom_1.0