AFLL: MMO 게임 서버의 순환 인과관계 학습 기반 실시간 부하 안정화
AFLL: Real-time Load Stabilization for MMO Game Servers Based on Circular Causality Learning
- 주제(키워드) MMO 게임 서버 , 순환 인과관계 , 역전파 , 적응형 쓰로틀링 , 부하 안정화 , 실시간 학습
- 발행기관 서강대학교 AI.SW대학원
- 지도교수 김영재
- 발행년도 2026
- 학위수여년월 2026. 2
- 학위명 석사
- 학과 및 전공 AI.SW대학원 소프트웨어공학
- 실제URI http://www.dcollection.net/handler/sogang/000000082225
- UCI I804:11029-000000082225
- 본문언어 한국어
- 저작권 논문은 저작권에 의해 보호받습니다.
초록(요약문)
대규모 다중 사용자 온라인(MMO) 게임 서버는 수천 명의 동시 접속자가 생성하는 높은 메시지 처리 부하로 인해 성능 저하와 서비스 품질 악화를 경험한다. MMO 게임은 플레이어 간 상태 동기화가 필수적이며, 서버가 전송하는 메시지가 클라이언트의 추가 요청을 유발하는 순환 인과관계(circular causality)가 피드백 루프를 형성하여 부하를 급격히 증폭시킨다. 기존 연구들은 네트워크 대역폭 절감과 처리 효율화에 집중했으나, 서버가 전송한 메시지가 유발하는 피드백 루프를 런타임 중에 학습하고 제어하는 접근은 시도되지 않았다. 본 논문은 역전파(backpropagation)를 활용한 적응적 피드백 루프 학습(AFLL, Adaptive Feedback Loop Learning) 시스템을 제안한다. AFLL은 각 메시지 타입이 부하에 미치는 영 향을 실시간 추적하고, 경사하강법으로 전송률을 동적 조정하여 부하 급증을 사전 방지한다. 학습과 제어를 병렬화하여 메시지 처리 경로에서 학습 부담을 완전히 제거(0ms 오버헤드) 하였으며, 예측 캐싱과 증분 통계 캐시로 전체 오버헤드를 99.6% 단축했다. 1,000명 동시 접속자 실험 결과, AFLL은 학습 비활성화 대비 48.3%의 CPU 시간 감소 (6,143ms 3,177ms), 64.4%의 스레드 경합 감소(60.36% 21.51%), 성능 스파이크 거의 완전 제거를 달성했다. 학습 OFF(베이스라인)와 학습 ON 모두 탁월한 재현성을 보였으 며, 변동계수는 각각 1.83%와 0.54%였다. 세 번의 학습 ON 독립 실험 모두 동일 가중치로 수렴하였다. AFLL은 학습 오버헤드(38ms/sec, 1.3%)를 추가하면서도 학습 OFF 대비 2,966ms/sec(48.3%)의 CPU 절감을 달성했으며, 이는 스레드 경합 감소를 통한 동시성 오버 헤드 절감(2,966ms)이 학습 비용(38ms)을 압도하기 때문임을 규명하였다. 본 연구는 ”사후적 부하 대응”을 넘어 ”사전적 부하 제어” 패러다임을 제시하며, MMO 게임 서버뿐 아니라 순환 인과관계가 존재하는 다양한 실시간 시스템(소셜 네트워크, IoT, 금융 거래 등)에 적용 가능한 범용 프레임워크를 제공한다.
more초록(요약문)
Massively Multiplayer Online (MMO) game servers experience performance degradation and service quality deterioration due to high message processing loads generated by thousands of concurrent users. In MMO games, state synchronization between players is essential, and messages sent by the server trigger additional client requests, forming a circular causality that creates feedback loops that rapidly amplify the load. Existing research focused on reducing network bandwidth consumption and improving processing efficiency, but no approach attempted to learn and control the feedback loops triggered by server transmissions at runtime. This thesis proposes an Adaptive Feedback Loop Learning (AFLL) system that utilizes backpropagation. AFLL tracks the impact of each message type on the load in real-time and dynamically adjusts transmission rates through gradient descent to prevent load spikes proactively. By parallelizing learning and control, the learning burden is completely removed from the message processing path (0ms overhead), and prediction caching and incremental statistics cache reduce overall overhead by 99.6%. Experimental results with 1,000 concurrent users show that AFLL achieves a 48.3% reduction in CPU time (6,143ms 3,177ms), a 64.4% reduction in thread contention (60.36% 21.51%), and near-complete elimination of performance spikes compared to learning disabled. Both learning OFF (baseline) and learning ON demonstrated excellent reproducibility with coefficient of variation of 1.83% and 0.54% respectively. All three learning ON experiments converged to identical weights. AFLL adds learning overhead (38ms/sec, 1.3%) while still achieving a net benefit of 2,966ms/sec (48.3%) CPU reduction, because the reduction in concurrency overhead (2,966ms) through thread contention reduction overwhelms the learning cost (38ms). This research presents a paradigm of “proactive load control” beyond “reactive load response,” and provides a general framework applicable not only to MMO game servers but also to various real-time systems with circular causality (social networks, IoT, financial trading, etc.).
more목차
Abstract viii
초록 x
제 1장 서론 1
제 1절 연구의 배경 및 동기 1
제 2절 연구의 목표 2
제 3절 논문의 구성 3
제 2장 관련연구 및 배경 4
제 1절 MMO 게임 서버의 특성 4
(1) 대규모 동시 접속과 상태 동기화 4
(2) 순환 인과관계의 본질 4
(3) 메시지 타입별 차별성 5
제 2절 관련 연구 분석 6
(1) 분산 서버 환경 연구 7
(a) IM 기법의 CPU-네트워크 트레이드오프 7
(b) DVE 연구의 한계 8
(2) 단일 서버 환경 연구 9
(a) 전송 효율화 접근: Smart Reckoning 9
(b) 처리 효율화 접근: LEARS 10
(3) 미해결 과제: 순환 인과관계 학습 11
(a) 과제 1: 순환 인과관계의 런타임 추적 11
(b) 과제 2: 실시간 적응 메커니즘 구현 12
(c) 왜 이러한 과제가 극복되지 않았는가 12
(d) 본 연구의 차별점 13
제 3절 본 연구의 접근 14
(1) 런타임 적응의 필요성 14
(2) AFLL의 핵심 차별점 14
(3) 역전파 선택 이유 15
(4) 실시간 성능을 위한 구현 효율화 15
(5) 적용 범위 및 실험 검증 16
제 3장 연구방법론 17
제 1절 연구의 목표 17
제 2절 AFLL 시스템 개요 17
(1) 전체 아키텍처 17
(2) 4개 핵심 컴포넌트 18
(3) 메시지 타입 정의 19
(4) 표기법 19
제 3절 시스템 상세 설계 20
(1) 컴포넌트별 역할 및 데이터 흐름 20
(a) Message Processor (①②) 20
(b) Adaptive Message Throttler (②③⑥) 21
(c) Message Impact Tracker (③④) 22
(d) Backpropagation Engine (④⑤⑥) 23
제 4절 역전파 학습 프로세스 24
(1) 순방향 전파 (Forward Pass) 24
(2) 역방향 전파 (Backward Pass) 24
(3) 학습 지연 시간 선정 25
(4) 학습 대상의 범위 25
(5) 하이퍼파라미터 선정 26
(6) 알고리즘 구현 26
(7) 상태 관리 27
(8) 학습 예시 27
제 5절 학습된 가중치의 활용 29
(1) 4단계 의사결정 메커니즘 29
(2) 4단계 의사결정의 세부 동작 30
(a) Step 0: 중요 메시지 보호 30
(b) Step 1: 최소 FPS 보장 31
(c) Step 2: 예측 기반 허용 31
(d) Step 3: 확률적 차단 31
(3) 동작 예시 32
(4) NEARBY PLAYERS 특별 처리 33
제 6절 구현 효율화 33
(1) 효율화의 필요성 33
(2) 구현 플랫폼 34
(3) Phase 1: 예측 캐싱 (O(k)O(1)) 34
(4) Phase 2: 증분 통계 캐시 (회귀 계산 O(nÖ200)O(1)) 34
(5) Phase 3: 백그라운드 학습 (오버헤드 0ms) 35
(6) 효율화 효과 종합 35
제 7절 구현 상세 36
(1) 구현 플랫폼 및 오픈소스 정보 36
(2) 컴포넌트 간 통신 메커니즘 37
(3) 최적화 기법의 구체적 구현 37
(a) Phase 1: 예측 캐싱 37
(b) Phase 2: 증분 통계 캐시 38
(c) Phase 3: 백그라운드 학습 스레드 38
(4) 실험 재현 절차 38
(a) 소스 코드 다운로드 및 빌드 38
(b) 서버 실행 38
(c) 부하 테스트 클라이언트 실행 39
(d) UI 테스트 클라이언트 40
(e) 데이터 수집 및 분석 41
(5) 알고리즘-구현 매핑 41
(6) 실험 재현 체크리스트 42
제 8절 연구방법론 요약 43
제 4장 연구 및 실험결과 44
제 1절 실험 환경 및 설정 44
(1) 하드웨어 및 소프트웨어 환경 44
(2) 실험 설정 44
(3) 비교 방법론 45
제 2절 성능 평가 지표 46
(1) 메트릭 측정 방법 46
제 3절 데이터 수집 및 전처리 47
(1) 데이터 수집 47
(2) 데이터 전처리 47
제 4절 실험 결과 분석 48
(1) CPU 성능 비교 48
(2) 스레드 경합 분석 49
(3) 가중치 수렴 과정 50
(4) 성능 스파이크 분석 52
제 5절 재현성 검증 52
(1) 재현성의 중요성 52
(2) 재현성 실험 설계 53
(3) 재현성 실험 결과 53
(a) 학습 ON 재현성 53
(b) 학습 OFF 재현성 54
(c) 재현성 비교 및 분석 55
(d) 통계적 유의성 검증 56
제 6절 인과관계 분석 56
(1) 3단계 인과 사슬 57
(2) 정량적 분석 60
(3) 비선형 오버헤드의 원인 60
(4) 교통 신호등 역설 61
(5) 주요 메트릭 종합 62
제 7절 실험 결과 요약 62
제 5장 결론 64
제 1절 연구 방법론 및 실험결과 요약 64
(1) 연구 방법론 요약 64
(2) 실험결과 요약 65
제 2절 연구의 주요 기여 66
제 3절 연구의 활용방안 및 기대효과 67
(1) 즉각적인 활용방안 67
(2) 장기적인 기대효과 67
제 4절 연구의 한계 및 향후 연구 방향 68
(1) 연구 범위의 한계 68
(2) 향후 연구 방향 70
제 5절 최종 결론 72

