• 제목/요약/키워드: 쿠쿠 해싱

검색결과 3건 처리시간 0.018초

월 쿠쿠: 해시 함수 분류를 이용한 메모리 접근 감소 방법 (Wall Cuckoo: A Method for Reducing Memory Access Using Hash Function Categorization)

  • 문성광;민대홍;장룡호;정창훈;양대헌;이경희
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제8권6호
    • /
    • pp.127-138
    • /
    • 2019
  • 데이터 응답 속도는 사용자 경험과 직결되기 때문에 클라우드 서비스의 중요한 이슈이다. 그렇기 때문에 사용자의 요청에 빠르게 응답하기 위하여 인-메모리 데이터베이스는 클라우드 기반 응용 프로그램에 널리 사용되고 있다. 하지만, 현재 인-메모리 데이터베이스는 대부분 연결리스트 기반의 해시 테이블로 구현되어 있어 상수 시간의 응답을 보장하지 못한다. 쿠쿠 해싱(cuckoo hashing)이 대안으로 제시되었지만, 할당된 메모리의 반만 사용할 수 있다는 단점이 있었다. 이후 버킷화 쿠쿠 해싱(bucketized cuckoo hashing)이 메모리 효율을 개선하였으나 삽입 연산시의 오버헤드를 여전히 극복하지 못하였다. 본 논문에서는 BCH의 삽입 성능과 탐색 성능을 동시에 향상시키는 데이터 관리 방법인 월 쿠쿠(wall cuckoo)를 제안한다. 월 쿠쿠의 핵심 아이디어는 버킷 내부의 데이터를 사용된 해시 함수에 따라 분리하는 것이다. 이를 통하여 버킷의 탐색 범위가 줄어들어 접근해야 하는 슬롯의 수를 줄일 수 있는데, 이렇게 탐색 연산의 성능이 향상되기 때문에 탐색 과정이 포함되어 있는 삽입 연산 또한 개선된다. 분석에 따르면, 월 쿠쿠에서의 슬롯 접근 횟수 기댓값은 BCH의 기댓값보다 작다. 우리는 월 쿠쿠와 BCH, 정렬 쿠쿠를 비교하는 실험을 진행하였으며, 각 메모리 사용률(10%-95%)에서 월 쿠쿠의 탐색 및 삽입 연산이 다른 기법보다 더 적은 슬롯 접근 횟수를 가지는 것을 보였다.

쿠쿠 필터 유사도를 적용한 다중 필터 분산 중복 제거 시스템 설계 및 구현 (Design and Implementation of Multiple Filter Distributed Deduplication System Applying Cuckoo Filter Similarity)

  • 김영아;김계희;김현주;김창근
    • 융합정보논문지
    • /
    • 제10권10호
    • /
    • pp.1-8
    • /
    • 2020
  • 최근 몇 년 동안 기업이 수행하는 비즈니스 활동에서 생성된 데이터를 기반으로 하는 기술이 비즈니스 성공의 열쇠로 부상함에 따라 대체 데이터에 대한 저장, 관리 및 검색 기술에 대한 필요성이 대두되었다. 기존 빅 데이터 플랫폼 시스템은 대체 데이터인 비정형 데이터를 처리하기 위해 실시간으로 생성된 대량의 데이터를 지체 없이 로드하고 중복 데이터 발생 시 서로 다른 스토리지의 중복 제거 시스템을 활용하여 스토리지 공간을 효율적으로 관리해야 한다. 본 논문에서는 빅 데이터의 특성을 고려하여 쿠쿠 해싱 필터 기법의 유사도를 이용한 다중 계층 분산 데이터 중복 제거 프로세스 시스템을 제안한다. 가상 머신 간의 유사성을 쿠쿠 해시로 적용함으로써 개별 스토리지 노드는 중복 제거 효율성으로 성능을 향상시키고 다중 레이어 쿠쿠 필터를 적용하여 처리 시간을 줄일 수 있다. 실험 결과 제안한 방법은 기존 블룸 필터를 이용한 중복 제거 기법에 의해 8.9%의 처리 시간 단축과 중복 제거율이 10.3% 높아짐을 확인하였다.

Sorting Cuckoo: 삽입 정렬을 이용한 Cuckoo Hashing의 입력 연산의 성능 향상 (Sorting Cuckoo: Enhancing Lookup Performance of Cuckoo Hashing Using Insertion Sort)

  • 민대홍;장룡호;양대헌;이경희
    • 한국통신학회논문지
    • /
    • 제42권3호
    • /
    • pp.566-576
    • /
    • 2017
  • 키-값 저장소(key-value store)는 Redis, Memcached 등의 다양한 NoSQL 데이터베이스에 응용되어 그 우수성을 보였다. 그리고 키-값 저장소 응용프로그램은 대부분의 환경에서 삽입 연산(insert) 보다 탐색 연산(lookup)이 많이 발생하기 때문에 탐색의 성능이 중요하다. 하지만 기존의 응용프로그램은 해시 테이블을 링크 리스트(linked list) 형태로 유지하기 때문에 탐색 연산이 느릴 수 있다. 따라서 탐색 연산을 상수 시간 내에 완료할 수 있는 쿠쿠 해싱(cuckoo hashing)이 학계의 주목을 받기 시작했고, 그 후 메모리 사용률이 더 높은 버킷화 쿠쿠 해싱(Bucketized Cuckoo Hashing, BCH)이 제안되었다. 본 논문에서는 BCH 구조를 기반으로 하여 삽입 정렬 방법으로 데이터를 입력하는 Sorting Cuckoo를 소개한다. Sorting Cuckoo를 이용하면 데이터가 정렬된 상태에서 탐색을 수행하기 때문에 상대적으로 적은 메모리 접근을 통해 키의 존재 여부를 판단할 수 있으며, 메모리 점유율(load factor)이 높을수록 BCH보다 탐색의 성능이 좋아진다. 실험 결과에 의하면 Sorting Cuckoo는 메모리 점유율이 95%인 상황에서 BCH보다 천만 번의 negative 탐색(데이터가 존재하지 않는 탐색)에서는 최대 25%(약 1900만회), 천만 번의 positive 탐색(데이터가 존재하는 탐색)에서는 최대 10%(약 400만 회)만큼 더 적은 메모리 접근을 이용하였다.