Predictive and Adaptive Resource Scheduling for Kubernetes–Ceph Hyperconverged Infrastructure on Proxmox VE
본 논문은 Proxmox VE 상에서 실행되는 Kubernetes–Ceph 하이퍼컨버지드 인프라에서 워크로드 예측과 Ceph 인지적 스토리지 결정을 통합하여 리소스 경합과 I/O 지연을 크게 줄이고, 기본 Kubernetes 스케줄러보다 우수한 부하 분산 및 성능을 달성하는 예측적이고 적응적인 스케줄링 모델을 제안하고 평가한다.
원본 논문은 CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
현대적인 컴퓨팅 세계에서는 이를 "하이퍼컨버지드 인프라(Hyperconverged Infrastructure)"라고 부릅니다. 도로, 전력망, 수도 공급이 모두 같은 동네 안에 살고 있는 북적이는 도시를 상상해 보세요. 서버(컴퓨팅), 하드 드라이브(스토리지), 네트워크 케이블을 위한 별도의 건물을 짓는 대신, 이 모든 것을 동일한 물리적 기계 안에 빽빽하게 채워 넣는 것입니다. 이는 효율적이고 공간을 절약하지만, 까다로운 교통 문제를 만들어냅니다. 만약 거대한 배달 트럭(데이터 집약적인 프로그램)이 도로를 달리고 있는데, 바로 옆에서 공사팀(스토리지 작업)이 작업 중이라면 모든 것이 막혀버리게 됩니다.
이 디지털 도시를 관리하기 위해 우리는 쿠버네티스(Kubernetes)라는 시스템을 사용합니다. 쿠버네티스를 도시의 교통 관제사라고 생각해보세요. 관제사의 역할은 어떤 건물(서버)에 어떤 새로운 배달 트럭(소프트웨어 프로그램, 즉 "포드(pod)")을 보낼지 결정하는 것입니다. 하지만 표준적인 교통 관제사는 다소 구식입니다. 그것은 오직 현재 일어나고 있는 일만 봅니다. 관제사는 건물이 비어 있는 것을 보고 "좋아, 저기로 트럭을 보내자!"라고 말합니다. 하지만 근처의 공사 프로젝트 때문에 건물의 전력망이 이미 고군분투하고 있다는 사실이나, 곧 도착할 트럭이 5분 뒤에 교통 정체를 일으킬 엄청난 짐을 실고 올 것이라는 사실은 깨닫지 못합니다. 이러한 반응형 방식은 어떤 건물은 과도한 업무로 찌부러지고, 다른 건물은 유휴 상태로 남게 만들며, "도로"(데이터 스토리지)가 막혀 모든 것을 느리게 만드는 결과를 초래합니다.
이 퍼즐을 풀기 위해 우즈베키스탄과 루마니아의 대학교 연구진이 모였습니다. 그들은 이렇게 질문했습니다. "우리 교통 관제사가 미래를 엿볼 수 있다면 어떨까? 교통 정체가 발생하기 전에 미리 예측하고 그에 따라 트럭을 이동시킬 수 있다면 어떨까?" 그들의 논문에서, 그들은 단순히 현재에 반응하는 것이 아니라 직후의 미래를 계획하는 더 똑똑하고 "예측적이며 적응적인(predictive and adaptive)" 시스템을 구축했습니다. 단순한 예측 도구와 새로운 배치 방식을 결다는 결합함으로써, 그들은 이 테스트 도시의 혼란을 완화하여, 때로는 아주 복잡한 두뇌보다 약간의 선견지명이 더 낫다는 것을 증명했습니다.
문제점: 반응형 교통 관제사
디지털 세계에서 연구진은 세 가지 주요 도구인 Proxmox VE(서버를 지탱하는 기초), Ceph(거대한 공유 하드 드라이브 역할을 하는 스토리지 시스템), 그리고 쿠버네티스(교통 관제사)를 사용하여 "하이퍼컨버지드" 테스트베드를 설정했습니다.
표준적인 설정에서 쿠버네티스는 안전한 길만 택합니다. 그것은 서버가 프로그램을 실행할 때까지 기다렸다가, CPU(두뇌 능력)와 메모리(단기 기억)가 얼마나 사용되고 있는지 확인한 후 다음 프로그램을 어디에 둘지 결정합니다. 이는 마치 도로 위에 현재 있는 차들만 보는 교통 경찰과 같습니다. 서버가 비어 보이면, 경찰은 새 차를 그곳으로 보냅니다. 하지만 하이퍼컨버지드 시스템에서는 "차"가 해당 서버의 "스토리지"(하드 드라이브)에 접근해야 할 수도 있습니다. 만약 경찰이 해당 서버의 스토리지가 이미 바쁘다는 것을 모른다면, 새 차는 갇히게 되고 지연이 발생합니다.
연구진은 이러한 "반응형" 접근 방식이 세 가지 큰 골칫거리를 유발한다는 것을 발견했습니다:
- 자원 경합(Resource Contention): 너무 많은 프로그램이 동시에 동일한 CPU나 스토리지를 차지하려고 싸우는 현상.
- 부하 불균형(Load Imbalance): 어떤 서버는 땀을 뻘뻘 흘리며 작동하는 반면(95% 용량 사용), 다른 서버는 낮잠을 자고 있는(40% 용량 사용) 현상.
- 스토리지 지연(Storage Latency): 스토리지 시스템이 과부하되어 데이터를 읽거나 쓰는 데 걸리는 시간이 느려지는 현상.
해결책: 수정구슬과 유연한 지도
연구진은 수정구슬과 유연한 지도를 가진 교통 관제사처럼 작동하는 새로운 모델을 제안했습니다. 이 시스템은 루프 안에서 함께 작동하는 네 가지 주요 부분으로 구성됩니다:
- 수정구슬 (예측): 단순히 현재를 보는 대신, 시스템은 "지수 가중 이동 평균(Exponentially Weighted Moving Average, EWMA)"이라는 수학적 기법을 사용합니다. 이것을 지난 며칠간의 강수량을 보고 내일 우산을 챙겨야 할지 예측하는 기상 예보가라고 생각해보세요. 시스템은 프로그램이 다음 몇 분 동안 얼마나 많은 CPU와 스토리지를 필요로 할지 예측합니다. 그들은 이 "예측"을 위한 특정 설정이 가장 효과적임을 발견했으며, CPU 필요량은 약 8.4%, 메모리는 5.1%, 스토리지는 12.3%의 오차율로 예측했습니다.
- 유연한 지도 (적응형 스케줄링): 시스템이 무엇이 올지 알게 되면, 단순히 첫 번째 빈 서버에 프로그램을 던져 놓지 않습니다. 시스템은 모든 서버에 대한 "예측된 부하"를 계산합니다. 그리고 "만약 내가 이 프로그램을 여기에 두면, 5분 뒤에 이 서버가 과부하될까?"라고 묻습니다. 만약 답이 '예'라면, 그 서버를 건너뛰고 더 나은 장소를 찾습니다.
- 스토리지 인식 결정 (Storage-Aware Decision): 이것이 핵심 비법입니다. 시스템은 CPU만 보는 것이 아니라, Ceph 스토리지(OSD 또는 스토리지 데몬)의 상태도 확인합니다. 만약 어떤 서버의 스토리지 드라이브가 바쁘다면, 시스템은 CPU가 여유롭더라도 무거운 데이터 프로그램을 다른 곳으로 보냅니다.
- 동적 조정 (Dynamic Adjustment): 프로그램이 예상보다 갑자기 더 많은 전력을 필요로 하게 되면, 시스템은 중단되거나 재시작되지 않고 자동으로 한계치를 조정하여 흐름을 매끄럽게 유지합니다.
실험: 세 도시 테스트
이것이 효과가 있는지 확인하기 위해, 연구진은 세 대의 물리적 컴퓨터(노드)를 사용하여 실제 소규모 도시를 구축했습니다. 각 노드는 강력한 프로세서, 32GB RAM, 그리고 두 개의 빠른 NVMe SSD(초고속 하드 드라이브)를 갖추고 있었습니다. 그들은 이 도시를 다양한 유형의 교통량으로 채웠습니다:
- CPU 집약적 트럭: 숫자 계산만 수행하는 프로그램(stress-ng와 같은).
- 스토리지 집약적 트럭: 방대한 양의 데이터를 읽고 쓰는 프로그램(fio와 같은).
- 혼합 교통: 계산과 데이터 처리를 모두 수행하는 데이터베이스 및 웹 앱(YCSB와 같은).
그들은 30분 동안 두 가지 시나리오를 나란히 실행했습니다.
- 시나리오 A (기존 방식): 예측 기능이 없는 표준 쿠버네티스.
- 시나리오 B (새로운 방식): 그들의 예측적이고 적응적인 모델.
결과: 더 매끄러운 도로, 더 빠른 배달
결과는 새로운 모델의 명백한 승리였으며, 수치들은 개선된 모습을 생생하게 보여줍니다.
1. 부하 균형 잡기:
기존 방식에서는 교통량이 매우 불균형했습니다. 한 서버는 **95.64%**의 용량으로 압박 속에 비명을 지르고 있었던 반면, 다른 서버는 겨우 **39.73%**만 작동하고 있었습니다. "불균형"(가장 바쁜 서버와 가장 한가한 서버의 차이)은 혼란스러운 **53.29%**였습니다.
새로운 모델을 적용하자 교통량이 완벽하게 평활화되었습니다. 가장 바쁜 서버는 **67.41%**로 떨어졌고, 가장 한가한 서버는 **56.33%**로 깨어났습니다. 불균형은 단 **10.98%**로 급감했습니다. 이는 혼란이 79.4% 감소했음을 의미합니다. 새로운 시스템은 모든 서버를 54%에서 68% 사이의 좁고 행복한 범위 내에서 유지하여, 누구도 과로하지 않고 누구도 지루하지 않게 만들었습니다.
2. 스토리지 속도 향상:
새로운 시스템은 스토리지의 위치를 파악하고 있었기에 도로를 막는 일을 피할 수 있었습니다. 스토리지 변경을 적용하는 데 걸리는 평균 시간(지연 시간)은 1.11ms에서 1.00ms로 감소했습니다. 아주 미세한 차이처럼 들릴 수 있지만, 데이터의 세계에서 이는 시스템이 더 일관되고 신뢰할 수 있음을 의미합니다. "최악의 경우" 지연 시간(95 백분위수) 또한 1.15ms에서 1.00ms로 개선되어, 시스템이 헤비 트래픽을 훨씬 더 잘 처리했음을 보여주었습니다.
3. 추가 비용 없음:
연구진은 도시 전체를 새로 짓거나 값비싼 복잡한 AI 두뇌를 사용할 필요가 없었다는 점을 주의 깊게 언급했습니다. 그들은 표준 도구(쿠버네티스 및 프로메테우스 API)와 단순한 예측 방법을 사용했습니다. 그들은 훌륭한 결과를 얻기 위해 반드시 초복잡한 알고리즘이 필요한 것이 아니라, 컴퓨팅과 스토리지를 서로 연결하는 것만으로 충분하다는 것을 증명했습니다.
시사점: 복잡성보다 통합
이 논문의 가장 흥ile한 부분은 단순히 그것이 성공했다는 것이 아니라, 왜 성공했느냐 하는 것입니다. 연구진은 기존의 교통 관제사가 너무 멍청했던 것이 아니라, 문제를 단 하나의 차원에서만 바라보고 있었다고 주장합니다. 그것은 CPU는 보았지만 스토리지는 무시했습니다.
단순히 기존 시스템에 "선견지명"과 "스토리지 인식" 계층을 추가함으로써, 그들은 엄청난 이득을 얻었습니다. 그들은 아키텍처적 통합(컴퓨팅과 스토리지가 서로 대화하게 만드는 것)이 단순히 알고리즘을 복잡하게 만드는 것보다 더 강력하다는 것을 보여주었습니다. 가볍고 단순한 예측 도구라도 스마트한 배치와 결합된다면 하이퍼컨버지드 시스템의 가장 큰 병목 현상을 해결할 수 있습니다.
결국, 이 논문은 효율적인 컴퓨팅의 미래가 반드시 더 크고 똑똑한 두뇌를 만드는 데 있는 것이 아니라, 시스템의 서로 다른 부분들이 손을 맞잡고 함께 앞을 내다보게 만드는 데 있다는 것을 시사합니다. 교통 관제사는 천재일 필요가 없습니다. 그저 코너 너머에 무엇이 오고 있는지만 알면 됩니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.