Articleresearch.google·2025년 10월 17일·0

Solving virtual machine puzzles: How AI is optimizing cloud computing

Quick Summary

Google 연구진은 VM 수명 예측을 한 번에 끝내지 않고 계속 갱신하는 LAVA 계열 스케줄링 기법으로 대규모 데이터센터의 자원 배치 효율과 운영 안정성을 높이는 방법을 제시했다.

Solving virtual machine puzzles: How AI is optimizing cloud computing 관련 대표 이미지

🖼️ 인포그래픽

Solving virtual machine puzzles: How AI is optimizing cloud computing 내용을 설명하는 본문 이미지

🖼️ 4컷 인포그래픽

Solving virtual machine puzzles: How AI is optimizing cloud computing 내용을 설명하는 본문 이미지

💡 한 줄 요약

Google 연구진은 VM 수명 예측을 한 번에 끝내지 않고 계속 갱신하는 LAVA 계열 스케줄링 기법으로 대규모 데이터센터의 자원 배치 효율과 운영 안정성을 높이는 방법을 제시했다.

📌 핵심 요약

  • 대규모 클라우드 데이터센터의 VM 배치는 테트리스처럼 제한된 물리 서버에 작업을 촘촘히 넣는 문제이지만, VM마다 수명이 몇 분에서 수십 일까지 달라 처음에는 정확히 알기 어렵다는 점이 핵심 난제다.
  • 잘못된 VM 배치는 서버의 남은 CPU나 메모리가 불균형하게 남아 새 VM을 수용하지 못하는 resource stranding을 만들고, 업데이트나 대형 VM 배치에 필요한 빈 호스트 수도 줄인다.
  • 연구진은 VM 생성 시점의 단일 수명 예측에 의존하지 않고, VM이 계속 실행되는 동안 남은 수명을 확률분포 기반으로 반복 갱신하는 continuous reprediction 방식을 도입했다.
  • 이를 바탕으로 NILAS, LAVA, LARS 세 가지 알고리즘을 설계했으며, 각각 기존 스코어링 보강, 장·단기 VM의 조합 배치, 유지보수·조각모음 시 마이그레이션 최소화에 초점을 둔다.
  • NILAS는 2024년 초부터 Google 생산 데이터센터에서 실행되어 빈 호스트를 2.3~9.2%포인트 늘렸고, 일부 실험에서는 CPU stranding을 약 3%, 메모리 stranding을 약 2% 줄였으며, LAVA와 LARS는 시뮬레이션에서 추가 개선 가능성을 보였다.

🧩 주요 포인트

  1. 대규모 클라우드 데이터센터의 VM 배치는 테트리스처럼 제한된 물리 서버에 작업을 촘촘히 넣는 문제이지만, VM마다 수명이 몇 분에서 수십 일까지 달라 처음에는 정확히 알기 어렵다는 점이 핵심 난제다.
  2. 잘못된 VM 배치는 서버의 남은 CPU나 메모리가 불균형하게 남아 새 VM을 수용하지 못하는 resource stranding을 만들고, 업데이트나 대형 VM 배치에 필요한 빈 호스트 수도 줄인다.
  3. 연구진은 VM 생성 시점의 단일 수명 예측에 의존하지 않고, VM이 계속 실행되는 동안 남은 수명을 확률분포 기반으로 반복 갱신하는 continuous reprediction 방식을 도입했다.
  4. 이를 바탕으로 NILAS, LAVA, LARS 세 가지 알고리즘을 설계했으며, 각각 기존 스코어링 보강, 장·단기 VM의 조합 배치, 유지보수·조각모음 시 마이그레이션 최소화에 초점을 둔다.
  5. NILAS는 2024년 초부터 Google 생산 데이터센터에서 실행되어 빈 호스트를 2.3~9.2%포인트 늘렸고, 일부 실험에서는 CPU stranding을 약 3%, 메모리 stranding을 약 2% 줄였으며, LAVA와 LARS는 시뮬레이션에서 추가 개선 가능성을 보였다.

🧠 상세 정리

1. VM 배치를 테트리스에 비유한 문제 설정

글은 클라우드 데이터센터의 VM 배치 문제를 빠르게 떨어지는 블록을 가능한 한 촘촘히 쌓는 테트리스형 퍼즐에 비유하며 시작한다. 여기서 블록은 가상 머신, 즉 VM이며 물리 서버 위에 배치되어야 하는 처리 작업을 뜻한다. 문제는 이 블록들이 단순히 들어오기만 하는 것이 아니라 몇 분 만에 사라지기도 하고 며칠 동안 남아 있기도 한다는 점이다. 데이터센터는 매초 여러 차례 이런 배치 결정을 내려야 하며, 각 VM의 실제 수명을 사전에 알 수 있다면 훨씬 효율적으로 서버를 채울 수 있다. 하지만 실제 환경에서는 수명이 처음부터 확실하지 않기 때문에, 제한된 정보 속에서 장기적인 서버 활용도를 높여야 하는 어려움이 생긴다.

2. 비효율적 배치가 만드는 resource stranding과 빈 호스트 부족

대규모 데이터센터에서 자원 사용 효율은 경제적 이유뿐 아니라 환경적 이유에서도 중요하다고 글은 설명한다. VM이 잘못 배치되면 서버에 남은 자원이 너무 작거나 CPU와 메모리 비율이 맞지 않아 새 VM을 올릴 수 없는 상태가 된다. 이런 상태를 resource stranding이라고 하며, 물리적으로는 자원이 남아 있어도 실제로는 활용하지 못하는 낭비를 만든다. 또한 비효율적인 배치는 완전히 비어 있는 호스트의 수를 줄이는데, 빈 호스트는 시스템 업데이트나 큰 자원을 요구하는 VM을 새로 프로비저닝할 때 중요하다. 따라서 VM 배치 문제는 단순히 평균 사용률을 높이는 문제가 아니라, 남은 자원의 형태와 미래 운영 작업의 유연성까지 함께 고려해야 하는 문제로 제시된다.

3. 불완전한 수명 정보와 단일 예측 방식의 한계

글은 이 문제가 고전적인 bin packing 문제이면서도 VM 행동에 관한 정보가 불완전하기 때문에 더 어렵다고 설명한다. AI는 과거 데이터에서 학습한 모델을 통해 VM 수명을 예측함으로써 이 문제를 도울 수 있다. 그러나 흔한 접근은 VM이 생성되는 순간 한 번만 수명을 예측하고, 이후 배치 결정이 그 예측에 크게 의존하는 방식이다. 이 경우 예측이 한 번 크게 틀리면 특정 호스트가 예상보다 오랫동안 묶여 전체 효율을 떨어뜨릴 수 있다. 연구진이 문제 삼는 지점은 예측 모델의 존재 자체가 아니라, 예측을 일회성 값으로 고정해 실제 실행 중 드러나는 정보를 충분히 반영하지 못하는 운영 방식이다.

4. LAVA 계열 접근과 continuous reprediction

논문에서 소개되는 체계는 NILAS, LAVA, LARS라는 세 알고리즘으로 구성되며, 모두 물리 서버에 VM을 효율적으로 맞춰 넣기 위한 bin packing 문제를 겨냥한다. 핵심 개념은 continuous reprediction으로, VM 생성 시점의 최초 수명 예측에만 의존하지 않고 VM이 계속 실행되는 동안 예상 남은 수명을 자동으로 반복 갱신하는 방식이다. 예를 들어 어떤 VM이 이미 며칠 동안 살아남았다면, 그 사실 자체가 앞으로의 남은 수명 예측에 중요한 새 정보가 된다. 연구진은 알고리즘을 이 반복 예측을 활용하도록 함께 설계했기 때문에, 초기 오판이 발생해도 시간이 지나며 보정할 여지를 갖는다. 이 접근은 모델 예측과 시스템 스케줄링 로직을 분리된 요소가 아니라 함께 설계해야 한다는 글의 중심 논점으로 이어진다.

5. 긴 꼬리 분포와 확률분포 기반 수명 예측

연구의 중요한 통찰 중 하나는 VM 수명이 예측하기 어렵고 긴 꼬리 분포를 따른다는 점이다. 글에 따르면 VM의 88%는 한 시간 미만으로 실행되지만, 이 짧은 VM들이 소비하는 전체 자원은 2%에 불과하다. 반대로 수는 적지만 오래 실행되는 VM은 전체 자원 효율에 훨씬 큰 영향을 미친다. 그래서 단일 평균 수명을 예측하는 방식은 양봉형이거나 변동성이 큰 VM 수명을 잘못 표현할 수 있다. 연구진은 생존 분석에서 영감을 받아 VM 수명의 확률분포를 예측하는 모델을 설계했고, “이미 5일 동안 실행된 VM의 예상 남은 수명은 얼마인가”처럼 실행 경과를 반영한 질문에 답하도록 했다.

6. NILAS: 기존 스케줄러에 수명 인식을 덧붙이는 방식

NILAS는 기존 스코어링 함수에 수명 예측을 결합하는 비침습적 알고리즘으로 소개된다. 새 VM을 배치할 후보 호스트를 평가할 때, 해당 호스트에 이미 올라간 VM들의 재예측된 종료 시점을 함께 고려한다. 목표는 같은 호스트의 VM들이 비슷한 시점에 종료될 가능성이 큰 배치를 선호해 더 많은 빈 머신을 만들어내는 것이다. 글은 재예측을 활용하기 때문에 NILAS가 예측 정확도에 덜 민감하고, 시간이 지나며 예측 오류를 바로잡을 수 있다고 설명한다. NILAS는 Google의 대규모 클러스터 관리 시스템인 Borg에 배포되어 VM 배치를 유의미하게 개선한 알고리즘으로 제시된다.

7. LAVA: 장기 VM 주변의 빈틈을 단기 VM으로 채우는 전략

LAVA는 NILAS보다 기존 스케줄링 방식에서 더 근본적으로 벗어나는 접근으로 설명된다. NILAS가 비슷한 수명의 VM을 함께 묶으려 한다면, LAVA는 반대로 하나 이상의 장기 VM이 있는 호스트에 더 짧게 살 VM을 배치한다. 그 목적은 호스트의 예상 수명을 늘리지 않을 정도로 충분히 짧은 VM을 자원 빈틈에 넣어 fragmentation을 줄이는 것이다. 이때 짧은 VM은 호스트 전체 수명보다 적어도 한 자릿수 이상 짧아야 하며, 빨리 종료되어 장기 VM이 정한 호스트의 전체 생존 기간을 늘리지 않는 것이 중요하다. 또한 어떤 VM이 예상 기한보다 오래 살아남으면 호스트의 예상 수명을 늘리는 방식으로 오예측에 능동적으로 적응하며, 시뮬레이션에서는 이런 전략이 조각화를 줄이고 호스트가 결국 비워지도록 돕는 것으로 나타났다.

8. LARS: 유지보수와 조각모음에서 마이그레이션을 줄이는 방법

LARS는 VM 배치 자체보다 조각모음과 유지보수 과정에서 VM 중단과 이동을 줄이는 데 초점을 맞춘다. 어떤 호스트를 비워야 할 때, LARS는 그 호스트에 있는 VM들을 예측 남은 수명에 따라 정렬하고 가장 오래 남을 것으로 보이는 VM부터 마이그레이션한다. 반대로 남은 수명이 짧은 VM은 굳이 옮기지 않고 자연스럽게 종료되도록 기다릴 수 있다. 이 방식은 불필요한 live migration을 줄이는 데 목적이 있으며, 글은 LARS 시뮬레이션에서 유지보수에 필요한 전체 마이그레이션 수를 약 4.5% 줄일 잠재력이 나타났다고 설명한다. 즉 수명 예측은 초기 배치뿐 아니라 운영 중 서버를 비우는 절차에서도 효율을 높이는 신호로 활용된다.

9. 대규모 배포를 위한 모델 내장, 지연시간, 캐싱 설계

글은 강력한 모델과 알고리즘을 만드는 것만으로는 충분하지 않으며, 대규모 환경에서 안정적으로 배포하는 일이 별도의 핵심 과제였다고 설명한다. 일반적으로는 머신러닝 모델을 전용 추론 서버에서 제공하지만, 이 경우 추론 서버 자체가 클러스터 스케줄링 시스템 위에서 돌아가므로 순환 의존성이 생길 수 있다. 모델 서빙 계층의 장애가 스케줄러 장애로 이어질 위험은 미션 크리티컬 시스템에서 받아들이기 어렵기 때문에, 연구진은 모델을 Borg scheduler binary에 직접 컴파일했다. 이 방식은 모델을 스케줄러 코드 변경과 같은 엄격한 절차로 테스트하고 배포하게 해 주었고, 별도 모델 서버 방식보다 780배 빠른 9마이크로초의 중앙 지연시간을 얻었다. 또한 가장 큰 존에서는 예측 횟수가 병목이 될 수 있어, VM 추가·삭제 또는 호스트 예상 수명 만료 시에만 갱신되는 host lifetime score cache를 도입해 fleet-wide 배포가 가능하도록 했다.

10. 생산 적용 결과와 연구의 결론

NILAS는 2024년 초부터 Google 생산 데이터센터에서 실행되었고, 생산 파일럿과 전체 배포에서 빈 호스트 수를 2.3~9.2%포인트 늘린 것으로 보고된다. 글은 빈 호스트 1%포인트 개선이 일반적으로 클러스터 용량 1% 절감에 해당한다고 설명해, 이 지표가 효율과 직접 연결된다는 점을 강조한다. 일부 파일럿 실험에서는 CPU stranding이 약 3%, 메모리 stranding이 약 2% 감소해 더 많은 호스트 자원이 새 VM에 활용될 수 있게 되었다. LAVA 시뮬레이션은 NILAS보다 추가로 약 0.4%포인트 개선을 제공할 가능성을 보였고, LARS는 유지보수 마이그레이션을 4.5% 줄일 가능성을 보였다. 결론적으로 연구진은 재예측과 모델·시스템 공동 설계가 데이터센터 관리의 더 낮은 인프라 계층에도 신뢰성과 낮은 지연시간을 해치지 않고 통합될 수 있음을 보여준다고 주장한다.

🧾 핵심 주장 / 시사점

  • VM 수명 예측의 핵심은 최초 예측값의 정확도를 한 번에 맞히는 것이 아니라, 실행 시간이 쌓일수록 새 정보를 반영해 남은 수명 예측을 계속 보정하는 데 있다.
  • 수적으로는 짧은 VM이 압도적으로 많지만 자원 소비 측면에서는 장기 VM의 영향이 크기 때문에, 전체 효율을 높이려면 평균적인 VM보다 긴 꼬리의 소수 VM을 어떻게 배치하느냐가 중요하다.
  • 모델을 별도 추론 서버에 두지 않고 스케줄러 바이너리에 직접 포함한 선택은, 머신러닝 기반 최적화가 실제 인프라 운영에 들어가려면 예측 성능만큼 의존성, 장애 전파, 지연시간 설계가 중요하다는 점을 보여준다.

✅ 액션 아이템

  • VM 수명 예측은 생성 시점 단일값이 아니라 실행 중 남은 수명을 확률분포로 반복 갱신하도록 파이프라인을 전환해 배치 판단 근거를 지속 최신화한다.
  • resource stranding을 CPU stranding과 memory stranding으로 분리해 지표화하고, 빈 호스트 수 변화와 함께 NILAS의 2.3~9.2%p 개선 효과를 추적한다.
  • NILAS, LAVA, LARS의 배치 초점을 기존 스코어링 보강·장단기 조합·마이그레이션 최소화로 분해해 적용 범위와 우선순위를 정의한다.

❓ 열린 질문

  • continuous reprediction의 갱신 간격은 어느 수준으로 설정해야 운영 오버헤드와 VM 수명 예측 정확도 사이의 균형을 확보할 수 있는가?
  • LAVA와 LARS의 시뮬레이션 기반 개선이 실제 데이터센터에서 NILAS의 빈 호스트 증가 및 stranding 감소 성과를 함께 재현할 수 있는가?
  • 업데이트나 대형 VM 배치 전에 resource stranding을 사전에 탐지하기 위한 구체적 임계치와 개입 기준은 무엇으로 둘 것인가?

관련 문서

공통 태그와 주제 흐름을 기준으로 같이 보면 좋은 문서를 이어서 제안합니다.