티스토리 뷰

Overdriver: Handling Memory Overload in an Oversubscribed Cloud

Dan Williams ∗ Hakim Weatherspoon


Abstract

데이터센터의 workload의 overload의는 일식적이다. 

전체 overlaod의 88% 정도가 2분 미만 이였다. 

그렇기 때문에 (큰 오버로드)마이그레이션 보다는  네트워크 쪽에서 발생할 수 있는 가벼운 오버로드를 커버 할 수 있는 기능이 요구 되었다. 

그렇기 때문에 이들은 Overdriver를 제안 하게 되었다 이 시스템은 8%정도의 성능 향상을 보였고 바이그레이션 보다 15%적은 메모리 공간을 사용하여 더 적은 트래픽을 유도 하였다. 


1. Introduction 

가상화에서는 이전에 블로깅한 내용과 같이 메모리의 가상화가 가장중요하다. ( 시간적인 분활이 안되고, 에플리케이션 동작 성능에 지대한 영향을 미친다 늘리는데도 한계가 있다)그래서 아마존에서 제공하는 가상화 서비스에서 하드웨어 자원의 가격이 메모리가 다른 자원보다 2배나 비싸다. 성능상 생기는 문제는 디스크와 메미리간의 스와핑이 발생 때문이다. 


그래서 이들은 다음과 같은 질문을 하 게 되있었다. 

workload overload를 효과적으로 메니징 할수 있는 방법은 없을까? 


그들은 충분히 가능하다고 생각하고 있다. 머신중 28%에서 오버로드가 발생하고 평균적으로 1.7%만이 같은 시간에 오버로드가 발생하게 된다. 


그리고 오버로드의 종류는 지속적은 성향을 같는 것과 일시적인 경향을 가지는 것이 존재 하게 된다. 그중 일시적인 경향이 88%이고 2분 이하의 시간 동안 오버로드가 발생하게 된다. 이때논문이 나오는 시점까지도 마이그래이션하여 새롭게 설정해주는 방법이 사용 되었지만 이방법은 서비스가 중단되는 문제가 있고 실제 88%가 일시적은 문제인데 일식적은 오버해드때문에 메모리 자원을 지속적으로 해당 머신에 제공해야 하는 단점이 존재 하였다 그래서 이 논문에서는 일시적은 문제 적용 의 해결 방법인 cooperative swap을 구현하고 그리고 overdiver를 구현하여 오버해드 상황을 모니터링하여 마이그래이션을 할지 코퍼레이션 스왑을 할지 결정할 수 있도록 하였다. 


이들의 contribution은 다음과 같이 3가지가 존재 한다. 

1. 지속적으로 오버로드를 측정하였다 : 대부분이 일식적은 문제였다. 

2. 메모리 마이그래이션의 tradeoff관계를 나타 내고 보완 하기 위한 코퍼레이션 스왑 개념을 재안 구현하였다. 

3. 이들은 Overdriver를 구현하여 오버로드 상황을 인지하고 그에 따라 어떠한 전략을 제공하게 될 것인가 를 결정한다. 


2. The Overload Continuum // 오버로드 특성 


1. 데이터 센터에서 발생하는 다양한 종유의 오버로드에 대해서 보는데 그중 새로운 유저의 추가로 인한 문제점을 살펴 본다. 

2. 데이터 센터의 메모리를 분석하여 자신들의 주장을 정당화 한다. 

3. 유저 추가로 인한 과부하의 특성에 대하여 분석한다. 


Overload : VM에 할당된 물리적 메모리가 VM내부의 어플리케이션을 동작하기 에 부족한 상황

이 논문에서는 유저가 자신이 동작할 프로그램에 충분한 메모리를 구입했다는 가장을 한다.


그렇기 때문에 클라우드 공급자 입장에서 오버해드를 완하 하는것을 중점적으로 본다. 

이논문에서 memory allocation 라고 사용된것은 공급자가 유저 VM에게 할당한 내용이라고 보면 된다.

If the VM’s memory allocation is less than requested, then we say the physical machine hosting the VM is oversubscribed. VM이 메모리 요청한것보다 적게 할당 받는것을 우리는 말한다. 물리적인 호스팅 머신이 VM이 oversubscribed(초과 신청 하였다고) 


[31][10]번 논문 꼭 읽을것 


3. Overload Mitigation 

오버로드 완화 전략을 고려 할때 두가지 관점에서 생각해야한다. 

1. VM 입장에서 이상적으로는 사용자가 오버로드 상황을 인식하지 못해야 한다. 

2. 데이터 센터 입장에서는 오버로드 일어난 만큼의 자원이 투입되어야 한다. 


3.1 Migration


Existing techniques to mitigate overload consist largely of VM migration techniques that address overload by reconfiguring the VM to physical machine mapping such that every VM has adequate memory and no VMs are overloaded [3, 15, 28, 34] (i.e. the VM memory allocation is increased, possibly up to the amount originally requested by the cloud user). VM migration is a relatively heavyweight solution

그래서 사전에 메모리 사용량을예측하여 가장 최소한의 메모리를 할당 하는것이 중요하다. 

이럼에도 이 전략은 선호 되는데 깔쌈하기도 하고 실제 정지 시간이 60ms 베스트 케이스 

존나 자원도 많이 기본 적으로 필요하고 있는 자원을 효율적으로 사용하겠다는게 아니고 더 할당해서 끝내는 문제이고 보안이나 복잡한 환경설정의 문제는 인간의 결정 이 필요 할수 도 있다. 


3.2 Network Memory 

데이터 센터의 오버해드의 문제는 대세가 일시적인 것과 예상할수 없을때 일어 나는 오버 해드 라는점이다. 

위에 설명하고 있는 마이스레이션 전략은 높은 지연과 네트워크 오버해드를 유발하게 된다. 그렇기 때문에 일시적인 과부하를 예방할 수 있는 방법에 대한 필요성이 존재한다. 


















공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함