9. 질문 — 멀티코어 확장성: 틱 루프 동시성 설계 (종합)
난이도 최상 해설 보기 →
문제
질문 — 멀티코어 확장성: 틱 루프 동시성 설계 (종합)
상황
게임서버가 16코어 머신에서 돈다. 그런데 코어를 늘려도 처리량(throughput)이 비례해서 늘지 않고, 8코어쯤부터 오히려 정체되거나 떨어진다.
질문
- "코어를 늘렸는데 성능이 비례하지 않는다"의 원인이 될 수 있는 것들을 나열하고(락 경합, false sharing, 캐시 일관성 트래픽, 메모리 대역폭, 암달의 법칙 등) 각각이 왜 확장성을 깎는지 설명하라.
- 게임서버에서 락 경합을 근본적으로 줄이는 shared-nothing / 잡 큐(액터) 모델은 어떻게 동작하며 왜 확장에 유리한가?
- 틱(tick) 기반 루프에서 동시성을 어떻게 설계하는가? "한 룸은 한 스레드"가 주는 이점과 한계는?
- 암달의 법칙(Amdahl's law) 관점에서, 직렬 구간이 작아도 코어가 많아지면 왜 한계에 부딪히는가?
답안 작성
내 답안 · 자동 저장
직접 답을 작성한 뒤, 위 해설 보기에서 모범답안과 대조하세요.