인프런 커뮤니티 질문&답변

chuck Hoom님의 프로필 이미지
chuck Hoom

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

DeadLock 탐지

PopLock 호출과 관련된 질문입니다.

작성

·

42

0

특정 lock L1이 pop되는 상황이 있다고 할 때

L1으로의 순방향 간선 정보가 담긴 다른 Lock들의 history에 대해서는 별도로 L1값을 제거해야 할 필요는 없나요??

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. chuck Hoom님.

데드락 탐지와 관련하여 질문하신 내용을 바탕으로 간단히 설명을 드리겠습니다.

데드락 탐지에서는 보통 각 lock이 기존의 경로 상에서 어떻게 얽히고설켰는지를 추적하여 잠재적인 교착 상태를 미리 파악하는 것이 중요합니다.

  1. L1의 PopLock 시 간선 제거 필요성: 일반적으로 특정 lock이 pop되면서 lock stack에서 제거되는 경우, 관련 history에서도 해당 lock에 대한 정보가 어떻게 반영되는지가 문제의 핵심입니다. 다른 lock들이 L1에 대한 순방향 간선(Route)을 갖고 있었더라도, L1이 더 이상 잡혀있지 않다면, history에는 이 정보가 남아 계속해서 데드락 탐지에서 사용할 수 있게 됩니다. 그러나, 이 정보가 데드락 탐지에 중복되거나 불필요한 데이터 축적을 방지하기 위해 업데이트되지 않아도 시스템 상에는 문제되지 않습니다.

  2. 데드락 탐지 알고리즘: 이를테면 ‘Wait-for graph’ 같은 데드락 탐지 알고리즘에서는 특정 lock이 pop될 때 직접적으로 노드나 간선을 제거하기보다는, 전체 시스템의 잠재적인 데드락 상태를 분석하는데 중점을 둡니다. 이는 불필요한 데이터 삭제로 인한 원치 않는 부작용을 방지하기 위함입니다.

해당 질문에 대하여 추가적인 정보를 원하시면, 비슷한 주제를 다룬 게시글을 확인해보시기 바랍니다:
- 데드락 탐지에 관해 질문드립니다!

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

chuck Hoom님의 프로필 이미지
chuck Hoom

작성한 질문수

질문하기