An Analysis of CPU Utilization and Service Latency Based on Cool Down Time Configuration in Kubernetes
Annual Conference of KIPS (ACK 2024)
- Silver Award
파드를 오래 유지하면 요청 처리에는 유리하지만 자원을 더 사용합니다. 대기 시간과 파드당 CPU 할당량을 함께 바꾸며, 응답시간 개선이 둔화되는 구간을 확인했습니다.
- 역할
- 공동저자 · 학부 연구생 멘토링
- 핵심 결과
- 긴 CDT에서 상위 5% 요청의 지연이 줄었지만 개선 폭은 둔화하고 자원 할당은 증가. ACK 2024 학부생 논문경진대회 은상.
배경
부하가 잠깐 줄었다고 파드를 바로 줄이면, 다시 요청이 늘 때 파드를 새로 준비해야 합니다. 반대로 오래 유지하면 요청에는 빠르게 대응할 수 있지만 사용하지 않는 자원이 남습니다. 이 연구에서는 쿨다운 타임(CDT)에 따라 이 두 비용이 어떻게 달라지는지 살폈습니다.
대기 시간만 비교해서는 충분하지 않았습니다. 같은 파드 수라도 파드당 CPU 할당량에 따라 처리할 수 있는 요청량이 달라지기 때문입니다. CDT와 CPU 할당량을 함께 바꾸고, 요청 지연과 자원 사용을 나란히 측정했습니다.
실험
Ubuntu Server 22.04 기반 마스터 1대·워커 2대(각 2코어 3.1GHz AMD EPYC, 4GB)로 클러스터를 구성하고, PHP 웹 애플리케이션을 대상으로 HPA를 CPU 70% 기준(파드 1~10개)으로 설정했습니다.
15초당 25~300회의 GET 요청으로 부하를 주면서, 파드당 CPU 할당량을 0.1·0.2·0.4·0.5코어로, 쿨다운 타임을 60초에서 1000초까지 바꿔가며 지연시간과 자원 사용량을 측정했습니다.
결과
CDT를 길게 설정할수록 상위 5%의 테일 지연이 낮아지고 SLO 만족률이 개선됐지만, 일정 수준을 넘어서면 지연이 더는 유의미하게 줄지 않았습니다. 반면 CDT가 길수록 파드가 오래 유지되어 평균 CPU 사용량은 증가했으며, 파드당 0.5코어를 할당한 경우 0.1코어 대비 자원 사용량이 최대 4.89배까지 늘었습니다.
CDT를 길게 잡는 것만으로는 충분하지 않았습니다. 응답시간 개선이 둔화되는 구간 이후에도 자원 사용은 늘어, 두 지표를 함께 보고 설정해야 했습니다. 학부 연구생을 지도하며 공동저자로 참여한 논문으로, ACK 2024 학부생 논문경진대회에서 은상을 받았습니다.