지연 없음: 네트워크 지연에 기반한 애플리케이션 성능 인식 클러스터 스케줄링

읽는 시간: 4 분
...

📝 원문 정보

  • Title: No Delay: Latency-Driven, Application Performance-Aware, Cluster Scheduling
  • ArXiv ID: 1903.07114
  • 발행일: 2019-08-20
  • 저자: Diana Andreea Popescu and Andrew W. Moore

📝 초록 (Abstract)

데이터 센터에서 관찰되는 네트워크 지연의 변동성으로 인해 애플리케이션의 성능은 데이터 센터 내에서의 위치에 의해 결정됩니다. 우리는 NoMora라는 클러스터 스케줄링 아키텍처를 제시합니다. 이 아키텍처의 핵심은 네트워크 지연을 기반으로 한, 애플리케이션 성능을 고려하는 클러스터 스케줄링 정책입니다. 이 정책은 데이터 센터 내에서 호스트 간 측정된 네트워크 지연에 근거한 예상 성능을 반영하여 애플리케이션의 작업을 배치합니다. 또한, 테넌트의 애플리케이션이 높은 네트워크 지연으로 인해 성능이 저하되면 더 나은 위치로 이동시킬 수 있습니다. 초기 결과는 우리의 정책이 전체 평균 애플리케이션 성능을 최대 13.4% 향상시키며, 사전 중단(preemption)이 활성화된 경우 최대 42%까지 향상시킬 수 있음을 보여줍니다. 이는 Google 클러스터 작업 부하에 대해 무작위 정책에 비해 작업 배치 지연을 1.79배로, 중앙값 알고리즘 실행 시간을 1.16배로 개선했습니다. 이는 애플리케이션 성능을 향상시키기 위해 네트워크 지연과 애플리케이션 성능 간의 관계를 활용하고 데이터 센터에서의 현재 네트워크 상태를 고려하면서, 저지연 클러스터 스케줄링의 요구사항을 충족시키는 것을 보여줍니다.

💡 논문 핵심 해설 (Deep Analysis)

This paper addresses the challenge of optimizing application performance in data centers by considering network latency. The core idea is to develop a scheduling policy, NoMora, that places applications based on their expected performance given the measured network latencies between hosts within the data center. This approach leverages the relationship between network latency and application performance, aiming to improve overall performance.

The key innovation of NoMora lies in its ability to model and predict how changes in network latency affect application performance. By continuously measuring these latencies and adjusting the placement of applications accordingly, it can significantly enhance the efficiency and speed at which tasks are executed within a cluster environment.

The results show that NoMora improves overall average application performance by up to 13.4% and by up to 42% if preemption is enabled. Additionally, it reduces task placement latency by a factor of 1.79x and the median algorithm runtime by 1.16x compared to a random policy on Google’s cluster workload.

This work is significant because it provides a practical framework for cloud operators to optimize resource allocation in real-time based on dynamic network conditions. The approach can be particularly beneficial in environments where network latency plays a critical role in application performance, leading to more efficient and responsive data center operations.

📄 논문 본문 발췌 (Translation)

## 동기

우리는 한 VM에서 Memcached 서버를 실행하고, 다른 5개의 VM에서 네 개의 클라이언트를 실행하는 실험을 수행했습니다. 이 클라이언트들은 Microsoft Azure에서 제공되는 Mutilate 벤치마크를 사용하여 일정 기간 동안 서버에 요청을 보냅니다. 우리는 벤치마크가 보고한 초당 요청 수를 측정합니다. 같은 설정(동일한 호스트 사양 및 소프트웨어)으로 10번의 실험을 수행했지만, 세 가지 다른 환경에서 수행했습니다. VM은 Korea South 존(KS), 그리고 일요일 저녁에 네트워크가 덜 이용되는 영국 남부 존(United Kingdom South)에서 배포되었습니다.

[[IMG_PROTECT_1]]

세 가지 경우의 성능이 상이하며, 같은 존 내에서도 성능 차이를 확인할 수 있습니다. 두 번째 시나리오에서는 최대 성능의 80% 미만을 달성했으며, 첫 번째 시나리오에서는 전체 성능의 약 50%만 달성했습니다. 이는 애플리케이션 배치 위치와 데이터 센터 내의 현재 네트워크 상태에 따라 성능 차이가 발생함을 의미합니다.

다른 실험에서, 우리는 네트워크 지연이 VM 간 일정하지 않다는 것을 확인했습니다. 2019년 1월 27일 주 동안 수행된 실험에서는 Round-Trip Time (RTT)을 여러 시간(1천만 측정치)에 걸쳐 측정하였습니다. 이는 GCP에서 대여한 두 개의 기본 유형 VM 간에 UDP 프로브를 사용하여 수행되었습니다.

[[IMG_PROTECT_2]]

애플리케이션 성능 예측

실험 데이터 획득

네트워크 지연과 애플리케이션 성능 사이의 관계를 결정하기 위해, 우리는 이전에 설명한 방법론을 사용했습니다. 네트워크 시스템에 일정량의 지연을 주입하고, 네트워크 지연이 얼마나 증가되었는지에 따라 애플리케이션 성능이 어떻게 변화하는지를 측정하였습니다. 실험용 테스트베드는 이전 논문에서 설명한 것과 동일합니다.

각 호스트에는 Intel Xeon E5-2430L v2 Ivy Bridge CPU가 장착되어 있으며, 6개의 코어와 2.4GHz 속도로 작동하며 64GB RAM을 갖추고 있습니다. 또한 Intel X520 NIC이 장착되어 있어 SFP+ 포트 두 개를 통해 Arista 7050Q 스위치를 통해 $`10`$Gbps로 연결됩니다. 호스트는 Ubuntu Server 16.04, 커널 버전 4.4.0-75-generic을 실행합니다.

각 애플리케이션에는 특정 성능 지표가 있습니다(표 [tab:app-settings] 참조). 우리는 먼저 각 작업에 대한 최적의 성능을 결정하기 위해 기본 성능을 측정하였습니다. 이후, 서버 또는 애플리케이션의 주요 구성 요소가 실행되는 호스트와 클라이언트 또는 애플리케이션의 워커가 실행되는 다른 호스트 간에 일방향으로 $`1\mu`$s에서 $`500\mu`$s 사이의 값을 스윕하면서 일정량의 지연을 주입했습니다. 따라서 총 지연 값은 $`2\mu`$s에서 $`1000\mu`$s까지입니다.

[[IMG_PROTECT_3]]

성능 모델링

우리는 애플리케이션 성능이 네트워크 지연에 의존하는 함수를 각 애플리케이션별로 작성합니다. SciPy의 curve_fit 함수를 사용하여 실험 데이터와 함수 p 간의 관계를 모델링합니다. curve_fit은 파라미터의 최적 값을 반환하여 $`\mathit{p}(x\_data, parameters) - y\_data`$의 제곱 오차 합을 최소화하도록 합니다.

MATH
\begin{equation}
Normalised\_performance = \mathit{p}(static\_latency)
\end{equation}
클릭하여 더 보기

키-값 저장소: Memcached

Memcached는 임시 메모리에 다양한 데이터를 저장하는 널리 사용되는 키-밸류 스토어입니다. 클라이언트들은 네트워크를 통해 멀티테이트 서버에 저장된 데이터에 접근할 수 있습니다.

[[IMG_PROTECT_4]]

머신 러닝 애플리케이션

STRADS Lasso 회귀

STRADS는 중간 크기의 클러스터 사이즈(1에서 100개 기계)를 대상으로 하는 분산형 머신 러닝 프레임워크입니다. 우리는 네트워크 지연이 이 프레임워크 내에서 구현된 Lasso 회귀 애플리케이션에 미치는 영향을 조사했습니다.

[[IMG_PROTECT_5]]

TensorFlow

TensorFlow는 고성능 머신 러닝 애플리케이션을 위한 오픈 소스 프레임워크입니다. 우리는 TensorFlow의 성능 예측 모델을 구축하고, 이를 NoMora 정책에 통합했습니다.

[[IMG_PROTECT_6]]

Reference

이 글은 ArXiv의 공개 자료를 바탕으로 AI가 자동 번역 및 요약한 내용입니다. 저작권은 원저자에게 있으며, 인류 지식 발전에 기여한 연구자분들께 감사드립니다.

검색 시작

검색어를 입력하세요

↑↓
ESC
⌘K 단축키