더북(TheBook)

1.3.2 동기화

턴 타이머만으로는 각 피어 사이의 동기화를 확실하게 보장하기 어렵다. 각 머신이 명령을 받아 독립적으로 처리하므로, 이들 기기가 항상 같은 결과로 수렴토록 보장하는 장치가 절대적으로 중요하다. 베트너와 터래노가 논문에 다음과 같이 기술한 내용을 참고해 보자.

“동기화가 어긋나는 오류를 찾기 어려운 이유는 피어마다 미세한 오차가 누적될 수 있다는 데서 비롯된다. 무작위로 생성한 맵에 배치된 사슴의 위치가 미세하게 어긋난 경우를 가정해 보자.
몇 분 뒤 마을 주민이 사슴을 사냥하러 쫓아갈 때 그 오차로 인해 경로가 약간 달라질 수 있는데, 이때문에 각 피어에서 똑같이 창을 던져도 어떤 피어에선 범위를 아슬아슬하게 빗나가 사냥에 실패하고 따라서 그 피어만 식량 확보에 실패하는 식으로 연쇄 반응이 이어질 수 있다.”

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.