데드락 탐지 알고리즘의 형식 검증
초록
본 논문은 웜홀 스위칭을 사용하는 온칩 네트워크에서 데드락을 자동으로 탐지하는 알고리즘을 설계하고, ACL2를 이용해 형식적으로 검증한 과정을 상세히 기술한다. 알고리즘의 핵심은 채널에 0~4의 마킹을 부여해 데드락 가능성을 판단하는 것이며, 일부 미구현 부분은 defun-sk 로 추상화하였다. 증명은 두 가지 방향(데드락 존재 여부)으로 진행되며, 특히 마킹 3·4인 채널에서 데드락 경로를 구성할 수 있음을 보인다.
상세 분석
이 논문은 온칩 네트워크, 특히 웜홀 라우팅 구조에서 발생할 수 있는 데드락 현상을 정형적으로 분석하고, 이를 자동 탐지하는 알고리즘을 ACL2 환경에서 구현·검증한 사례 연구이다. 먼저 기존 연구인 Duato의 필요충분 조건과 Taktak 등(2010)의 다항식 탐지 알고리즘을 비판적으로 검토하고, 자체적으로 제안한 조건이 co‑NP‑complete임을 증명함으로써 기존 알고리즘의 한계를 드러낸다. 알고리즘 자체는 각 채널에 0~4의 마킹을 부여하는 상태 머신 형태로 설계되었다. 마킹 0은 초기 미표시, 1은 방문했지만 아직 최종 마크가 정해지지 않음, 2는 데드락에 면역, 3은 특정 목적지 d에 대해 헤더 플릿이 영구 차단될 수 있음을, 4는 헤더는 차단되지 않지만 해당 목적지에 대한 테일 플릿이 차단될 수 있음을 의미한다. 알고리즘은 모든 채널·목적지 쌍에 대해 가능한 다음 홉을 조사하고, 2‑마크 이웃이 존재하지 않으면 3‑마크, 2‑마크 이웃은 존재하지만 3‑마크 채널로 이어지는 경로가 있으면 4‑마크, 그 외는 2‑마크로 분류한다.
형식 검증 단계에서는 데이터 구조를 단일 스레드 객체(stobj)인 graph와 marks에 저장하고, 함수 neighbors, marksi 등을 정의한다. 구현이 아직 남아 있는 부분은 defun-sk 로 추상화했으며, 이는 함수의 입력·출력 관계만 명시하고 실제 구현을 뒤로 미룰 수 있게 한다. 특히 4‑마크 채널에 대해 “3‑마크 채널로 이어지는 d‑경로가 존재한다”는 조건을 ex-d-path-to-3 라는 스킴 함수로 선언하였다.
증명은 두 가지 주요 정리로 구성된다. (1) 알고리즘이 t(true)를 반환하면 탈출 경로가 없는 d‑경로 집합이 존재한다는 것, (2) nil(false)를 반환하면 모든 d‑경로 집합에 탈출 경로가 존재한다는 것. 논문에서는 (1) 부분, 즉 3·4‑마크 채널에서 실제로 탈출이 없는 경로 집합을 구성할 수 있음을 형식적으로 증명한다. 이를 위해 먼저 witness-set-of-paths 라는 비실행 함수로 증거 집합 Π₃₄를 정의하고, 각 3‑마크 채널은 단일 경로 `
댓글 및 학술 토론
Loading comments...
의견 남기기