• 제목/요약/키워드: TRIE구조

검색결과 46건 처리시간 0.022초

능동적 트라이 압축을 이용한 고속 IP 검색 (A Fast IP Lookups using Dynamic Trie Compression)

  • 오승현
    • 정보처리학회논문지A
    • /
    • 제10A권5호
    • /
    • pp.453-462
    • /
    • 2003
  • 리우터의 IP 주소검색은 라우터에 도착한 IP 패킷의 목적지 주소를 이용하여 적절한 출력링크를 검색하고 결정하는 것이다. IP 주소검색은 라우터 성능의 병목지점 중의 하나로써 고속 백본망에 필요한 초고속 라우터 개발에 필수적인 부분이다. 본 논문은 보통의 펜티엄 CPU에서 능동적인 트라이(Trie) 압축기법을 이용하여 작은 메모리만으로 기가비트급 IP 주소검색을 실시할 수 있는 동적 트라이 압축(Dynamic Trie Compression) 자료구조를 소개한다. DTC 자료구조는 트라이를 압축하여 포워딩 테이블을 만들 때 테이블의 크기와 검색속도의 상관관계를 고려하여 능동적으로 테이블의 크기를 선태할 수 있다. 또한 트라이를 압축할 때 트라이의 구조를 반영하여 자료구조의 크기를 최소화함으로써 포워딩 테이블에 대한 IP 주소검색이 고속의 SRAM 캐시 검색이 되도록 한다. 실험결과에서 DTC 자료구조는 다양한 라우팅 테이블에 대해 능동적으로 최적의 압축을 제공함으로써 보통의 펜티엄 CPU에서 최대 $12.5{\times}10^5$ LPS(Lookup per second)를 기록하였다.

패킷 분류를 위한 스마트 셋-프루닝 트라이 (A Smart Set-Pruning Trie for Packet Classification)

  • 민세원;이나라;임혜숙
    • 한국통신학회논문지
    • /
    • 제36권11B호
    • /
    • pp.1285-1296
    • /
    • 2011
  • 패킷분류는 라우터의 가장 기본적이면서도 중요한 기능 중의 하나이며, 실시간 전송을 요구하는 새로운 인터넷 응용 프로그램의 등장과 더불어 그 중요성이 더욱 커지고 있다. 패킷분류는 입력 패킷에 대하여 선속도로 이루어져야 하며, 여러 헤더 필드에 대해 다차원 검색을 수행해야 하기 때문에 라우터 설계의 어려운 문제 중에 하나이다. 고속의 패킷분류를 제공하기 위한 다양한 패킷분류 알고리즘이 제안되어 왔으며, 그 중 계층적 접근 방식을 사용한 알고리즘은 하나의 필드에 대하여 검색이 수행될 때마다 많은 검색 영역이 제거되기 때문에 효율적이다. 그러나 계층적 구조는 역추적이라는 문제를 내재하고 있으며, 이를 해결하기 위해 사용되는 셋-프루닝 트라이나그리드-오브-트라이는 지나치게 많은 노드 복사를 야기하거나, 선-계산이라는 복잡한 과정을 요구한다. 본 논문에서는 셋-프루닝 하위 트라이의 간단한 합병을 통하여 복사되는 노드의 개수를 줄일 수 있는 스마트 셋-프루닝 구조를 제안한다. 시뮬레이션 결과 제안된 구조는 셋-프루닝 트라이와 비교하여 복사되는 노드 수 및 룰 수가 2-8% 줄어듦을 확인하였다.

RCB트라이를 이용한 빠른 검색과 소용량 색인 구조에 관한 연구 (A Study on Small-sized Index Structure and Fast Retrieval Method Using The RCB trio)

  • 정규철
    • 한국컴퓨터정보학회논문지
    • /
    • 제12권4호
    • /
    • pp.11-19
    • /
    • 2007
  • 본 논문에서는 CB 트라이와 HCB 트라이의 단점을 보완한 RCB 트라이를 제안한다. 먼저 CB 트라이의 경우 처음으로 축약된 구조를 시도하였으나 데이터의 양이 증가함에 따라 트리의 균형을 맞추기 위해 사용되는 더미노드들로 인해 삽입에 상당한 어려움을 가지고 있다. 반면 계층적으로 표현한 HCB트라이는 map이 오른쪽으로 증가하는 것을 막기 위해 일정 깊이를 주어 깊이에 다다르면 새로운 트리를 만들어 연결시키는 방법을 이용하였다. 결과적으로 입력과 검색 속도를 상당히 빠르게 진전시킬 수 있었으나 CB트라이와 마찬가지로 더미노드를 사용하고 여러 트리의 링크를 사용하기 때문에 저장공간이 커지는 단점을 안고 있다. 본 논문에서 제안한 RCB트라이는 더미노드를 완전히 없애 treemap을 약 35%정도 줄일 수 있었고 HCB트라이에 비해 전체 색인의 크기를 절반으로 줄였다.

  • PDF

효율적인 한글 탐색을 위한 CB 트라이의 재구성 (Reconstitution of CB Trie for the Efficient Hangul Retrieval)

  • 정규철
    • 융합보안논문지
    • /
    • 제7권4호
    • /
    • pp.29-34
    • /
    • 2007
  • 본 논문에서는 CB 트라이의 단점을 보완한 RCB 트라이를 제안한다. 먼저 CB 트라이의 경우 처음으로 축약된 구조를 시도하였으나 데이터의 양이 증가함에 따라 트리의 균형을 맞추기 위해 사용되는 더미노드들로 인해 삽입에 상당한 어려움을 가지고 있다. 반면 계층적으로 표현한 HCB 트라이는 map이 오른쪽으로 증가하는 것을 막기 위해 일정 깊이를 주어 깊이에 다다르면 새로운 트리를 만들어 연결시키는 방법을 이용하였다. 결과적으로 입력과 검색 속도를 상당히 빠르게 진전시킬 수 있었으나 CB 트라이와 마찬가지로 더미노드를 사용하고 여러 트리의 링크를 사용하기 때문에 저장공간이 커지는 단점을 안고 있다. 본 논문에서 제안한 RCB 트라이는 더미노드를 완전히 없애 성능이 60% 향상되었다.

  • PDF

IP 주소 검색의 속도 향상을 위한 분할된 압축 트라이 구조 (A Partitioned Compressed-Trie for Speeding up IP Address Lookups)

  • 박재형;장익현;정민영;원용관
    • 정보처리학회논문지C
    • /
    • 제10C권5호
    • /
    • pp.641-646
    • /
    • 2003
  • 인터넷에서 IP 패킷 전송은 링크의 전송 속도와 더불어 라우터에서의 패킷 처리 속도에 영향을 받는다. 라우터는 외부 인터페이스에서 입력되는 패킷을 목적지로 보내기 위한 다음 홉을 결정하여 패킷을 전달하는 역할을 수행한다. 이 과정에서 주소 검색은 고성능의 라우터 설계에 중요한 요인이다. 본 논문에서는 트라이 자료 구조 기반의 IP 주소 검색 알고리즘의 성능을 향상시키기 위해서 경로 압축을 이용한 분할 압축 트라이 구조를 제안한다. 제안된 분할 압축 트라이에서는 IP 주소 프리픽스들을 여러 개의 분할 압축 트라이로 나누어서 하나의 분할된 압축 트라이에서만 검색이 이루어지도록 하여 압축 트라이에서 탐색하는데 드는 시간을 줄이는 방법이다. 분할을 함으로써 늘어나게 되는 메모리의 부담이 적음을 보여준다.

의학용 영어 품사 태거 구현 (Implementation of an English POS Tagger for Medical)

  • 이현구;안혁주;김학수
    • 한국정보과학회 언어공학연구회:학술대회논문집(한글 및 한국어 정보처리)
    • /
    • 한국정보과학회언어공학연구회 2015년도 제27회 한글 및 한국어 정보처리 학술대회
    • /
    • pp.155-156
    • /
    • 2015
  • 자연어처리의 여러 분야에서 기본요소로 사용되는 영어 품사 태거를 UMLS의 의학용어 어휘정보와 OANC(Open American National Corpus) 말뭉치를 이용해 의학용 문서도 분석 가능한 의학용 영어 품사 태거를 제안한다. TRIE구조를 이용한 단어 묶음 모델로 여러 어절의 의학용어를 하나로 묶고 HMM(Hiden Markov Model)을 이용한 품사 태거로 해당하는 품사를 부착한다.

  • PDF

길이에 대한 2차원 이진검색을 이용한 패킷분류 구조 (Packet Classification Using Two-Dimensional Binary Search on Length)

  • 문주형;임혜숙
    • 한국통신학회논문지
    • /
    • 제32권9B호
    • /
    • pp.577-588
    • /
    • 2007
  • 인터넷의 성장은 다양한 응용 프로그램들의 발달을 야기 시켰으며, 그로 인해 모든 패킷을 동일하게 처리하는 현재의 최선지원 서비스 보다 나은 서비스를 제공할 것을 요구하고 있다. 따라서 차세대 인터넷 라우터들은 다양한 레벨의 품질보장 서비스를 제공하여야 한다. 품질보장 서비스를 제공하기 위해서는 모든 입력 패킷을 미리 정의된 룰에 따라 구분하는 패킷 분류가 실시간으로 수행되어야 한다. 패킷분류는 패킷에 포함된 여러 헤더 필드에 대하여 다양한 종류의 검색을 수행하여야 하며, 일치하는 룰들 중에서 가장 높은 우선순위를 갖는 룰을 찾아야 하는 다차원 검색이다. 영역분할을 사용한 사분트라이 구조는 근원지와 목적지 프리픽스를 2차원 트라이 구조로 저장하여 검색을 진행하는 좋은 알고리즘이나, 길이에 대하여 선형검색을 하는 방법이므로 좋은 검색 성능을 보이지 못한다. 본 논문에서는 사분트라이 구조에서 길이에 대하여 이진검색을 진행하는 새로운 패킷분류 알고리즘을 제안한다. 또한 패킷이 여러 개의 룰과 일치하였을 경우 가장 높은 우선순위를 가지는 룰을 선택한다는 특성을 이용하여, 사분트라이를 만드는 과정에서 우선순위를 고려하여 검색 성능을 향상시킬 수 있는 방안을 제안한다.

고속 패킷 분류를 위한 2차원 비트맵 트라이 (2-Dimensional Bitmap Tries for Fast Packet Classification)

  • 서지희;임혜숙
    • 한국통신학회논문지
    • /
    • 제40권9호
    • /
    • pp.1754-1766
    • /
    • 2015
  • 인터넷 라우터에서 행해지는 패킷분류는 5가지 패킷 헤더를 검사하여 선속도로 처리해야하기 때문에, 라우터가 수행하기 어려운 기능 중 하나이다. 본 논문에서는 리프-푸싱 된 영역분할 사분트라이 기반 비트맵 트라이 구조 (leaf-pushed AQT bitmap trie)를 제안한다. 제안하는 구조는 영역분할 사분트라이(Area-based Quad Trie, AQT)에 기초하되 불필요한 칩-외부메모리 접근을 줄이고자 리프-푸싱(leaf-pushing)기법을 적용하고, 멀티 비트 트라이인 비트맵을 적용하여 패킷분류 속도와 확장성을 모두 향상시킨 구조이다. 성능 평가를 위하여 ACL FW, IPC 룰셋을 각각 1k, 5k, 10k로 크기를 증가시키며 실험을 진행하였다. 그 결과, 제안하는 구조에서는 룰 셋의 종류나 크기와는 상관없이 패킷분류를 위하여 필요한 칩-외부메모리 접근 횟수가 1번 이내임을 확인할 수 있었다. 또한, 비트맵 트라이를 적용함으로 인해, 리프-푸싱기반 영역분할 사분트라이와 비교하여 약 50%의 칩-내부메모리 접근이 요구됨을 보았으며, 또한 칩-내부메모리 요구량의 변화폭이 룰 셋이 증가함에 따라 안정적으로 변화하여 제안하는 구조의 확장성을 확인할 수 있었다.

HashMap 기반의 트라이를 이용한 파일 내용 검색 프로그램 (File Content Retrieval Program Using HashMap-based Trie)

  • 김성완;이우순
    • 한국컴퓨터정보학회:학술대회논문집
    • /
    • 한국컴퓨터정보학회 2014년도 제49차 동계학술대회논문집 22권1호
    • /
    • pp.467-468
    • /
    • 2014
  • 본 논문에서는 파일 내용 기반 검색 프로그램을 설계하고 구현하였다. 역 인덱스 구조를 이용하여 설계하였으며 별도의 정보 검색 라이브러리 사용 없이 구현하였다. 인덱스 파일은 트라이 자료 구조를 직접 설계 및 구현 하였으며 자바 언어의 HashMap 구조를 중첩 형태로 구현하였다. 개발 시스템의 유용성을 테스트하기 위해 GRE 단어집에 수록된 약 3,300개의 단어를 사용하여 임의 생성한 텍스트 파일 집합을 사용하였다.

  • PDF

검색 성능 향상과 동적 환경을 위한 HCB 트리의 개선 (Enhancement of HCB Tree for Improving Retrieval Performance and Dynamic Environments)

  • 김성완
    • 한국정보통신학회논문지
    • /
    • 제19권2호
    • /
    • pp.365-371
    • /
    • 2015
  • 이진 트라이를 이진 비트열로 압축하여 표현하는 CB 트리는 키가 늘어남에 따라 이진 비트열이 길어지게 되어 검색 시간이 증가하며 잦은 키 삽입/삭제 연산에 비효율적이다. 작은 분할 트라이들을 계층적 구조로 표현한 HCB 트리가 제안되었으나 비트열 시프트 처리를 근본적으로 해결할 수 없으며 자식 혹은 부모 트리 참조를 위해 별도의 자료 구조를 탐색해야 하는 부담이 있다. 본 논문에서는 각 분할 트리를 포화 이진 트라이 형태로 표현하고 레벨 순위에 따라 분할 트리 번호를 할당하여 검색 성능을 향상 시키는 한편 키의 삽입/삭제 시에 시프트 연산이 발생하지 않도록 하였다. 시 공간 복잡도를 사용한 성능 평가에서 검색 시에는 제안 방법과 HCB 트리 방법이 CB 트리에 비해 우수한 것으로 나타났으며, 키 삽입/삭제는 제안 방법이 가장 높은 성능을 보여주었다. 공간 사용량은 제안 방법이 CB 트리 방법에 비해 71~89%의 공간만을 요구하여 가장 좋은 성능을 보였다.