Skip to main content
QUICK REVIEW

[논문 리뷰] Fully De-Amortized Cuckoo Hashing for Cache-Oblivious Dictionaries and Multimaps

Michael T. Goodrich, Daniel S. Hirschberg|arXiv (Cornell University)|2011. 07. 21.
Algorithms and Data Compression참고 문헌 36인용 수 9
한 줄 요약

이 논문은 캐시-오브리버스 딕셔너리 및 멀티맵을 위한 완전히 디어모티제이션된 쿠키히싱 스킴을 제안하며, 모든 연산—검색, 삽입, 삭제, 멀티맵 전용 연산—에 대해 최악의 경우 O(1) 시간 복잡도를 고확률 또는 극도로 높은 확률로 달성한다. 이 방법은 슈퍼 크기의 보조 스태시 테이블을 갖춘 중첩된 쿠키히싱 구조를 사용하여, 블록 크기, 메모리 계층, 실패 임계값 등의 파rameter 조정 없이도 극히 낮은 실패 확률을 달성한다.

ABSTRACT

A dictionary (or map) is a key-value store that requires all keys be unique, and a multimap is a key-value store that allows for multiple values to be associated with the same key. We design hashing-based indexing schemes for dictionaries and multimaps that achieve worst-case optimal performance for lookups and updates, with a small or negligible probability the data structure will require a rehash operation, depending on whether we are working in the the external-memory (I/O) model or one of the well-known versions of the Random Access Machine (RAM) model. One of the main features of our constructions is that they are \emph{fully de-amortized}, meaning that their performance bounds hold without one having to tune their constructions with certain performance parameters, such as the constant factors in the exponents of failure probabilities or, in the case of the external-memory model, the size of blocks or cache lines and the size of internal memory (i.e., our external-memory algorithms are cache oblivious). Our solutions are based on a fully de-amortized implementation of cuckoo hashing, which may be of independent interest. This hashing scheme uses two cuckoo hash tables, one "nested" inside the other, with one serving as a primary structure and the other serving as an auxiliary supporting queue/stash structure that is super-sized with respect to traditional auxiliary structures but nevertheless adds negligible storage to our scheme. This auxiliary structure allows the success probability for cuckoo hashing to be very high, which is useful in cryptographic or data-intensive applications.

연구 동기 및 목표

  • 모든 연산에 대해 최악의 경우 O(1) 시간 복잡도를 보장하는 완전히 디어모티제이션된 데이터 구조를 딕셔너리 및 멀티맵을 위해 설계한다.
  • 외부 메모리 및 RAM 모델에서 성능 파rameter 조정(예: 실패 확률 지수, 블록 크기 B, 메모리 크기 M)의 필요성을 제거한다.
  • 실패 확률 지수에 상수를 사전에 지정하지 않고도 고확률(1 - 1/poly(n)) 또는 극도로 높은 확률(1 - 1/n^ω(1)) 보장을 달성한다.
  • 외부 메모리에서 최적의 I/O 복잡도를 갖는 효율적인 멀티맵 연산(예: getAll 및 removeAll)을 지원한다.
  • 블록 크기 B 또는 내부 메모리 크기 M를 알고 있는 것 없이도 다양한 메모리 계층에서 잘 작동하는 캐시-오브리버스 솔루션을 개발한다.

제안 방법

  • 외부 쿠키히싱 테이블과 내부 보조 테이블(스태시/큐 기능 수행)을 갖춘 중첩된 쿠키히싱 구조를 사용한다.
  • 키-값 배열에 대해 재구성 기법을 적용: 배열이 반 정도 찼을 때, 새로운 이중 크기의 배열을 할당하고, 각 접근 시마다 두 개의 요소씩 복사한다.
  • 복사 진행 상황을 추적하기 위해 교차 지수 i_A 를 유지하여, 다음 재할당이 필요한 시점 이전에 재구성이 완료되도록 보장한다.
  • 프레드먼과 윌러드의 q-힙에서 영감을 얻은 원자적 스태시 메커니즘을 사용하여 보조 구조에서 빠르고 디어모티제이션된 연산을 지원한다.
  • 삽입 및 삭제 연산 모두에 대해 배열의 디어모티제이션 기법을 적용하여, 각 연산이 최악의 경우 O(1) 시간 내에 완료되도록 보장한다.
  • 알고리즘에 블록 크기 B 또는 메모리 크기 M를 하드코딩하지 않음으로써 외부 메모리 버전을 캐시-오브리버스로 설계한다.

실험 결과

연구 질문

  • RQ1실패 확률 지수 파rameter 조정 없이도 모든 딕셔너리 및 멀티맵 연산에 대해 최악의 경우 O(1) 시간 복잡도를 보장하는 완전히 디어모티제이션된 쿠키히싱 스킴을 설계할 수 있는가?
  • RQ2블록 크기 B 또는 메모리 크기 M에 종속되지 않는 캐시-오브리버스 방식으로 외부 메모리 연산에 대해 O(1) I/O 복잡도를 달성할 수 있는가?
  • RQ3멀티맵 구조에서 배열 연산을 어떻게 디어모티제이션하여 add 및 remove 연산에 대해 최악의 경우 O(1) 시간 복잡도를 확보할 수 있는가?
  • RQ4공간 사용량을 크게 증가시키지 않고도 실패 확률을 극히 낮춘 쿠키히싱의 보조 스태시를 설계할 수 있는가?
  • RQ5블록 크기 B를 알고 있는 것 없이도, 외부 메모리에서 getAll 및 removeAll 연산을 I/O 복잡도 O(1 + n_k/B)로 효율적으로 지원할 수 있는가?

주요 결과

  • 제안된 딕셔너리 구조는 Practical RAM 모델에서 모든 연산(Lookup, Insert, Delete)에 대해 고확률로 O(1) 최악의 경우 시간 복잡도를 달성한다.
  • 외부 메모리, 표준 RAM, AC₀ RAM 모델에서, 모든 연산에 대해 극도로 높은 확률로 O(1) 최악의 경우 시간 복잡도를 달성한다.
  • 멀티맵 구조는 getAll(k)을 O(1 + n_k/B) I/O로, removeAll(k)을 O(n_k) I/O로 수행할 수 있으며, 이는 극도로 높은 확률로 성립하며, 완전히 캐시-오브리버스이다.
  • 디어모티제이션 기법은 각 add(k,v) 및 remove(k,v) 연산이 두 요소씩 복사하는 인크리멘탈 재구성 기법을 사용하여 최악의 경우 O(1) 시간 내에 완료됨을 보장한다.
  • 슈퍼 크기의 보조 테이블을 갖춘 중첩된 쿠키히싱 구조는 실패 지수 파rameter 조정 없이도 극히 낮은 실패 확률을 달성한다.
  • 이 스킴은 선형 공간을 사용하며 온라인 연산을 지원하며, 시퀀스 길이 또는 성능 파arameter에 대한 사전 지식 없이도 모든 한계가 유지된다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.