데드락 복구 의사결정
탐지 이후에는 관련 프로세스를 모두 멈출지, 하나씩 희생시킬지, 자원을 선점할지 비용 기준을 세워야 합니다.
데드락 복구 의사결정
cost
작업 손실종료할 프로세스가 파일, 트랜잭션, 사용자 입력을 잃는지
봅니다.
복구 가능성체크포인트나 롤백 로그가 있으면 선점 비용이 낮아집니다.
상태를 되돌릴 수 있는가?체크포인트·transaction log·재시작 경계를 먼저 확인한다.
가능→
Rollback 또는 자원 선점손실이 가장 작은 지점까지 되돌린 뒤 자원을 해제한다.
불가→
프로세스 종료·격리비용이 가장 낮은 희생자를 끝내 사이클을 직접 끊는다.
복구 경로
흐름
탐지대기 그래프나 요청 행렬로 데드락 집합을 찾습니다.
희생자 선택우선순위, 실행 시간, 보유 자원, 롤백 횟수를 비용화합니다.
종료/선점프로세스를 끝내거나 자원을 빼앗아 사이클을 끊습니다.
재검사복구 후에도 남은 사이클이 있는지 다시 탐지합니다.
운영 방어
guard
기아 방지같은 프로세스가 반복 희생되지 않도록 희생 횟수를 비용에
넣습니다.
타임아웃강한 복구가 어렵다면 대기 시간 제한과 재시도 정책으로 피해를
줄입니다.
감사 로그복구 대상과 원인 자원 정보를 남겨 다음 설계 수정에
연결합니다.