구글 클러스터 트레이스 자원 사용 분석 및 워크로드 클러스터링

구글 클러스터 트레이스 자원 사용 분석 및 워크로드 클러스터링

초록

본 논문은 2011년 구글이 공개한 11천 대 규모 클러스터의 29일간 트레이스를 이용해 작업(Job)별 자원 사용 특성을 통계적으로 프로파일링하고, k‑means 알고리즘으로 워크로드 패턴을 군집화한다. 분석 결과, 생산 환경의 작업은 세 개의 모드(트리모달)로 구분되며, 장기 작업 내의 태스크들은 시간·자원 측면에서 대칭성을 보인다.

상세 분석

이 연구는 구글 클러스터 트레이스(Google Cluster Trace)를 데이터셋으로 채택하여, 클라우드 환경에서 실제 운영되는 대규모 워크로드의 특성을 정량화하려는 시도이다. 먼저, 트레이스에 포함된 29일치 로그를 전처리하고, 각 작업(job)과 그에 속한 태스크(task)의 CPU, 메모리, 디스크 I/O, 네트워크 사용량을 시간축에 따라 집계하였다. 이를 기반으로 작업을 “짧은‑중간‑긴” 세 가지 실행 시간 구간으로 분류하고, 각 구간별 평균·분산·분포 형태를 시각화하였다. 흥미롭게도, 작업들의 자원 요구량은 단순히 한 개의 정규분포가 아니라 세 개의 피크를 보이는 트리모달 분포를 나타냈으며, 이는 짧은 인터랙티브 작업, 중간 배치 작업, 그리고 대규모 장기 작업이 동시에 존재함을 의미한다.

다음 단계에서는 k‑means 클러스터링을 적용해 작업들을 4~6개의 군집으로 나누었다. 클러스터 수는 실루엣 점수와 엘보우 메소드를 통해 최적화하였다. 결과적으로, CPU‑집약형, 메모리‑집약형, I/O‑중심형, 그리고 복합형(다중 자원 균형) 작업군이 도출되었다. 특히, 장기 작업군 내에서는 개별 태스크들의 시작·종료 시점이 서로 대칭적인 패턴을 보였는데, 이는 작업 스케줄러가 동일한 단계의 태스크를 동시에 배치함으로써 자원 활용 효율을 극대화하려는 의도로 해석될 수 있다.

이 논문은 기존 연구가 주로 전체 클러스터 수준의 평균 사용량이나 특정 서비스(예: MapReduce) 중심의 분석에 머물렀던 반면, 작업 단위의 미세한 자원 프로파일링과 군집화를 수행함으로써 보다 정교한 워크로드 모델링을 제시한다. 그러나 몇 가지 한계점도 존재한다. 첫째, k‑means는 구형 군집을 가정하므로 비선형적인 자원 사용 패턴을 충분히 포착하지 못할 가능성이 있다. 둘째, 트레이스가 2011년 데이터이므로 최신 클라우드 인프라(컨테이너, 서버리스 등)의 특성을 반영하지 못한다. 셋째, 작업 라벨링이 없기 때문에 군집 결과를 실제 비즈니스 서비스와 직접 매핑하는 데 추가적인 도메인 지식이 필요하다. 이러한 점들을 보완하기 위해 DBSCAN이나 Gaussian Mixture Model 같은 비선형 군집 기법을 적용하거나, 최신 공개 트레이스와 결합한 비교 연구가 요구된다.

전반적으로, 이 논문은 대규모 생산 환경에서 작업들의 자원 요구가 다중 피크를 보이며, 장기 작업 내에서의 대칭적 태스크 배치가 자원 효율성을 높이는 중요한 메커니즘임을 실증적으로 밝혀냈다. 이는 클라우드 스케줄러 설계, 용량 계획, 그리고 비용 최적화 전략 수립에 유용한 인사이트를 제공한다.