Cited time in webofscience Cited time in scopus

Full metadata record

DC Field Value Language
dc.contributor.advisor Kim, Min Soo -
dc.contributor.author Kim, Eui Hyeok -
dc.date.accessioned 2017-05-10T08:49:47Z -
dc.date.available 2016-05-18T00:00:00Z -
dc.date.issued 2013 -
dc.identifier.uri http://dgist.dcollection.net/jsp/common/DcLoOrgPer.jsp?sItemId=000002262483 en_US
dc.identifier.uri http://hdl.handle.net/20.500.11750/1323 -
dc.description.abstract A hash table is a fundamental data structure implementing an associative memory that maps a key to its associative value. Due to its very fast mapping operation of O(1), it has been widely used in various areas such as databases, bioinformatics, and distributed computing. Besides, the paradigm of micro-architecture design of CPUs is shifting away from faster uniprocessors toward slower chip multiprocessors. In order to fully exploit the performance of such modern computer architectures, the data structures and algorithms considering parallelism become more important than ever. This paper implements four cache-conscious hashing methods, linear hashing and chained hashing, and also, a modern hashing methods, cuckoo hashing and hopscotch hashing, and analyzes their performance under Intel 32-core CPU of Nehalem microarchitecture. We implement each hashing method using state-of-the-art techniques such as lock-free data structures, especially based on compare-and-swap (CAS) operations, and refinable data structures. To the best of our knowledge, the work done by this paper is the first work analyzing the performance of four all hashing methods under the same implementation framework. Experimental results using data of 223 (i.e., about eight millions) key-value pairs shows that lock-free linear hashing is the best for insert operation among four hashing methods, and lock-free chained hashing is the best for lookup operation. Hopscotch hashing shows the second best per-formance of lookup operation. However, cuckoo hashing and hopscotch hash size is much bigger than other hash table size. Through experiments, we have found that the cuckoo hashing and hopscotch hashing are relatively not efficient than other hash methods. ⓒ 2013 DGIST -
dc.description.tableofcontents Ⅰ. INTRODUCTION 1
--
Ⅱ. Related work 3
--
2.1 linear hashing 3
--
2.2 chained hashing 3
--
2.3 cuckoo hashing 4
--
2.4 hopscotch hashing 6
--
Ⅲ. Implementation 6
--
3.1 Lock-free linear hashing 6
--
3.2 Lock-free chained hashing 8
--
3.3 Refinable lock-based cuckoo hashing 10
--
3.3 Refinable lock-based hopscotch hashing 16
--
Ⅳ. Performance evaluation 18
--
4.1 Experimental data and experiment environment 18
--
4.2 Insert operation performance 18
--
4.3 Lookup operation performance 20
--
4.4 Hash table size 21
--
4.5 The performance of table-level lock-based hash methods 22
--
4.6 Detailed performance analysis 24
--
Ⅴ. Conclusions 26
-
dc.format.extent 33 -
dc.language eng -
dc.publisher DGIST -
dc.subject linear hashing -
dc.subject chained hashing -
dc.subject cuckoo hashing -
dc.subject hopscotch hashing -
dc.subject parallel programming -
dc.subject 선형 해싱 -
dc.subject 체인 해싱 -
dc.subject 쿠쿠 해싱 -
dc.subject 홉스카치해싱 -
dc.subject 병렬프로그래밍 -
dc.title Performance Analysis of Hashing Techniques for Multi-core CPUs -
dc.title.alternative 멀티코어 CPU를 위한 최신 해싱방법들의 성능분석 -
dc.type Thesis -
dc.identifier.doi 10.22677/thesis.2262483 -
dc.description.alternativeAbstract 해시테이블은 키 값으로 연관된 메모리를 매핑하는 방식으로 구현하는 기본적인 데이터 구조이다. O(1)의 매우 빠른 매핑작업으로 인해, 데이터베이스, 바이오인포매틱스, 그리고 분산 컴퓨팅등 다양한 분야에서 사용되고 있다. 한편, CPU 의 마이크로 아키텍쳐 디자인의 패러다임이 빠른 하나의 코어를 사용하는 것에서 여러 개의 느린 다중코어를 사용하는 것으로 변하고 있다. 이러한 최신의 컴퓨터 구조의 성능을 최대한 이용하기 위해서 병렬처리방법은 그 어느 때보다 중요해졌다. 본 논문은 두 가지 잘 알려진 해싱 방법인 선형 해싱과 체인 해싱을 구현하였고 또한 최신 해싱 방법인 쿠쿠 해싱과 홉스카치 해싱을 구현하여 네 가지 해싱 방법을 인텔 Nehalem 마이크로 아키텍쳐의 32 개의 코어를 사용한 환경에서 성능을 분석하였다.
특히 compare-and-swap (CAS) 명령어의 락(lock) 프리 데이터 구조와 refinable 데이터 구조 등의 가장 앞선 기술들을 사용하여 해시 방법들을 구현했다. 본 저자들이 아는 범위에서 본 논문은 위의 네 가지 해싱 방법들을 동일한 구현 프레임워크 하에서 최선의 성능을 발휘하도록 구현하고, 동일한 실험환경에서 성능분석을 한 최초의 논문이다. 223 의 데이터 (즉, 약 8 백만) key-value 쌍을 사용한 실험 결과에서 락 프리 선형 해싱이 삽입 연산에서 가장 좋은 성능을 보였고, 락 프리 체인 해싱이 검색 연산에서 가장 좋은 성능을 보였다. 또한, 실험을 통해, 쿠쿠 해싱과 홉스카치해싱이 해당 논문 저자들의 주장만큼 효율적인 것은 아니라는 것을 보였다. ⓒ 2013 DGIST
-
dc.description.degree Master -
dc.contributor.department Information and Communication Engineering -
dc.contributor.coadvisor Moon, Sang Jun -
dc.date.awarded 2013. 2 -
dc.publisher.location Daegu -
dc.description.database dCollection -
dc.date.accepted 2016-05-18 -
dc.contributor.alternativeDepartment 대학원 정보통신융합공학전공 -
dc.contributor.affiliatedAuthor Kim, Eui Hyeok -
dc.contributor.affiliatedAuthor Kim, Min Soo -
dc.contributor.affiliatedAuthor Moon, Sang Jun -
dc.contributor.alternativeName 김의혁 -
dc.contributor.alternativeName 김민수 -
dc.contributor.alternativeName 문상준 -
Files in This Item:
000002262483.pdf

000002262483.pdf

기타 데이터 / 1.18 MB / Adobe PDF download
Appears in Collections:
Department of Electrical Engineering and Computer Science Theses Master

qrcode

  • twitter
  • facebook
  • mendeley

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

BROWSE