Skip to main content
QUICK REVIEW

[논문 리뷰] Finding the Minimal DFA of Very Large Finite State Automata with an Application to Token Passing Networks

Vlad Slavici, Daniel Kunkle|arXiv (Cornell University)|2011. 03. 29.
semigroups and automata theory참고 문헌 37인용 수 8
한 줄 요약

이 논문은 대규모 비결정성 유한오토마타(NFA)에서 최소 결정성 유한오토마타(DFA)를 계산하기 위한 확장 가능하고 병렬 처리 가능한 디스크 기반 알고리즘을 제시한다. 이는 중간 단계에서 최대 19억 개의 상태를 가진 DFA를 처리할 수 있도록 하며, 일반 장비로 구성된 클러스터를 사용해 부분집합 구성과 전방 정렬 최소화를 수행한다. 이로 인해 19억 개 상태의 DFA는 최소 77만 4,172개 상태의 DFA로 감소되었고, 이 기법은 토큰 전달 네트워크에서 스택 정렬 가능한 순열에 대한 추측을 검증하는 데 응용되었다.

ABSTRACT

Finite state automata (FSA) are ubiquitous in computer science. Two of the most important algorithms for FSA processing are the conversion of a non-deterministic finite automaton (NFA) to a deterministic finite automaton (DFA), and then the production of the unique minimal DFA for the original NFA. We exhibit a parallel disk-based algorithm that uses a cluster of 29 commodity computers to produce an intermediate DFA with almost two billion states and then continues by producing the corresponding unique minimal DFA with less than 800,000 states. The largest previous such computation in the literature was carried out on a 512-processor CM-5 supercomputer in 1996. That computation produced an intermediate DFA with 525,000 states and an unreported number of states for the corresponding minimal DFA. The work is used to provide strong experimental evidence satisfying a conjecture on a series of token passing networks. The conjecture concerns stack sortable permutations for a finite stack and a 3-buffer. The origins of this problem lie in the work on restricted permutations begun by Knuth and Tarjan in the late 1960s. The parallel disk-based computation is also compared with both a single-threaded and multi-threaded RAM-based implementation using a 16-core 128 GB large shared memory computer.

연구 동기 및 목표

  • 일반 장비의 메모리 한계를 초월해 매우 큰 상태 공간을 가진 유한오토마타의 최소 DFA 계산에서 발생하는 메모리 병목 현상을 해결하기 위해 디스크 기반 병렬 계산을 사용한다.
  • 기존 메모리 기반 시스템의 한계를 초월해 부분집합 구성 및 DFA 최소화 과정을 확장 가능하게 한다.
  • 유한 버퍼를 가진 토큰 전달 네트워크에서 스택 정렬 가능한 순열을 분석하는 이론적 컴퓨터 과학의 도전적인 문제에 이 기법을 적용한다.
  • 스택 정렬 가능한 순열의 구조에 대한 추측을 지지하는 실험적 증거를 제공한다. 특히 3버퍼 및 유한 스택 모델에 대해.
  • 대규모 오토마타에서 디스크 기반 병렬 처리, 다중 스레드 메모리 기반, 단일 스레드 방식의 성능을 비교한다.

제안 방법

  • 대규모 NFAs를 결정성화하기 위해 부분집합 구성 알고리즘의 병렬 디스크 기반 구현을 사용하며, 중간 단계의 DFA 상태를 디스크에 저장하여 주 메모리의 한계를 회피한다.
  • 결과로 생성된 큰 DFA를 효율적으로 최소화하기 위해 전방 정렬 알고리즘을 디스크 기반 병렬 처리에 적합하게 변형한다.
  • 각 부분집합 표현에 최대 20개의 NFA 상태까지 약 80바이트가 소요되는 디스크 저장을 통해 명시적 중복 검출을 수행하는 너비 우선 탐색 전략을 사용한다.
  • 29台의 일반 장비로 구성된 클러스터를 사용해 계산을 분산 처리하며, 데이터는 노드 간에 분할되고 I/O는 공유 스토리지 영역 네트워크(SAN)를 통해 관리된다.
  • 비교를 위해 16코어, 128GB 공유 메모리 시스템에 다중 스레드 구현을 개발하여 주 메모리 내에서 스레드 수준의 병렬 처리를 구현한다.
  • 이 방법은 NFA로 모델링된 토큰 전달 네트워크의 일련의 사례에 대해 평가되었으며, 스택 깊이가 9에서 12로 증가함에 따라 NFA 및 중간 DFA 크기가 증가한다.

실험 결과

연구 질문

  • RQ1기존 RAM 기반 시스템의 메모리 한계를 초월해 디스크 기반 병렬 알고리즘이 부분집합 구성 및 DFA 최소화를 확장 가능하게 할 수 있는가?
  • RQ2대규모 오토마타에서 디스크 기반 병렬 처리 방식의 성능은 다중 스레드 메모리 기반 구현과 비교해 어떻게 되는가?
  • RQ3스택 깊이가 증가하는 토큰 전달 네트워크의 일련의 경우에서 최소 DFA 크기는 얼마이며, 이는 스택 정렬 가능한 순열에 대한 추측을 지지하는가?
  • RQ410억 개 이상의 상태를 가진 DFA에 대해 전방 정렬 알고리즘이 여전히 효율적이고 확장 가능한가?
  • RQ5대규모 오토마타 계산에서의 실험적 증거는 유한 버퍼 네트워크에서 스택 정렬 가능한 순열의 구조에 대한 일반적인 추측을 지지할 수 있는가?

주요 결과

  • 디스크 기반 병렬 알고리즘은 스택 깊이 12에서 503만 5,742개 상태를 가진 NFA로부터 1,899,715,733개 상태의 중간 DFA를 성공적으로 구성하였으며, 이는 1일 12시간 동안 최대 1,136GB의 디스크 공간을 사용하였다.
  • 최종적으로 생성된 최소 DFA는 774,172개 상태로 감소되었으며, 이는 2,400배 이상의 감소율을 나타내었고, 디스크 기반 전방 정렬을 통해 1일 8시간 내에 달성되었다.
  • 부분집합 구성 단계는 효율적인 디스크 사용에도 불구하고 100Mb/s의 패스트 이더넷 네트워크에서 네트워크 I/O 병목 현상으로 인해 크기에 비해 성능이 크게 저하되었다.
  • 다중 스레드 메모리 기반 구현은 스레드 수가 8개까지 거의 선형적으로 확장되었지만, 최소화 단계에서 락 경쟁으로 인해 8에서 16개 스레드로 갈수록 부분선형 확장이 관찰되었다.
  • 가장 큰 문제 인스턴스(스택 깊이 12)는 16코어, 128GB 공유 메모리 시스템에서 메모리 고갈로 인해 처리할 수 없었으며, 이는 디스크 기반 확장의 필요성을 확인시켰다.
  • 실험 결과는 3버퍼 및 유한 스택 모델에서 스택 정렬 가능한 순열의 구조에 대한 추측을 강력히 지지하는 증거를 제공하였으며, 이는 토큰 전달 네트워크의 일련의 사례에서 일반적인 패tern을 시사한다.

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

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

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

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