20170713

김남승 교수님 세미나
Speaker: Nam Sung Kim (UIUC)
Title: Network-driven Context-Aware Datacenter Server Management. Hardware/Software Cross-Layer Approaches.
When & Where: July 13th 4:00 PM @ E3-1 #4443 (오상수 강의실)
Abstract:
Datacenter servers running latency-critical online applications such as web search and social network are often underutilized as they are (over)provisioned for unpredictable peak service demand. This in turn hurts energy efficiency and thus the total cost of ownership (TCO) due to poor energy proportionality of contemporary servers. To improve energy efficiency, we may consider to deploy aggressive power management policies and run latency-critical applications with latency-agnostic, throughput applications. Such approaches, however, prone to violations of service-level agreement (SLA) whenever servers need to change performance and power states, which prevents servers from performing any tasks for a notable amount of time, and co-running throughput applications generate block I/O requests, which severely interferes with memory requests from latency-critical applications at the memory subsystem.
In this talk, tackling these challenges, I will present two techniques dubbed NCAP and CLAUD. More specifically, NCAP and CLAUD exploit the fact that the rate of network packets encapsulating requests from clients can significantly affect the utilization of datacenter servers. Thus, we propose to enhance network interface cards (NICs) and NIC drivers to measure the rate of latency-critical network packets and send special interrupts to the operating system when the rate exceeds certain values. The special interrupts allow (1) NCAP to preemptively change performance and power states of servers and (2) CLAUD to proactively throttle block I/O requests from co-running throughput applications. NCAP and CLAUD in turn allow datacenter operators to more aggressively deploy power management policies and/or run latency-critical applications with throughput applications without violating SLAs.

데이터센터의 total cost of ownership(TCO)가 큰데, 이것이 상당한 문제가 되고 있다. 데이터 센터 하나를 유지하기 위해서는 500MW의 석탄 화력발전소가 34개 필요하다. 이는 17개의 1GW짜리 원자력 발전소와 맞먹는다. 그런데 대부분의 시간동안 데이터센터는 underutilize되어 있다. 달리
표현하자면 energy proportionality가 떨어진다는 것이다. 오늘 소개하는 두 연구에서는 이 문제를 해결한다. NCAP과 CLAUD를 소개함.
NCAP. 리눅스에는 performance governor와 power governor가 있다. 기존의 governor에는 한계가 있는데, 실제 시스템의 utilization에 따라 frequency scaling을 반영하기까지 delay가 있다는 점이다. 시작하는 시점에서 11 milliseconds, 끝나는 시점에서 17 milliseconds 정도의 delay가 있다. 그렇다면 on-demand governor의 invocation frequency를 높이는 것은 어떤가? 오히려 성능이 떨어지는데, 불필요하게 governor가 자주 호출되기 때문이다. apache와 memcached에 대해 governor의 조합에 따라 SLA violation이 어떻게 나는지 확인해보았더니, governor의 사용은 SLA violation을 일으킬 가능성을 높임을 확인할 수 있었다. 여기서 제안하는 NCAP에서는 network bandwidth utilization과 CPU utilization에 상관관계가 있다는 점에 착안한다. NCAP은 NIC이 latency critical packet을 보면 이를 CPU에 알려 frequency를 높이도록 한다. 코어를 활성화하고, frequency를 높이고, menu governor를 disable한다.
CLAUD. latency critical workload와 batch workload를 함께 실행했더니 latency critical workload에서 상당한 SLA violation이 발생함을 확인했다. Latency critical workloads에 대해 highest priority를 줘도 마찬가지로 SLA violation이 발생했다. 이 원인을 추적해보았고, 그 결과 write queue를 찾을 수 있었다. Cache miss는 한 개의 cache line을 교체하고, NIC 요청은 1~24 cache line을 교체한다. 그리고 block I/O는 한 번에 64 cache line을 교체한다. 따라서 block I/O buffer가 flush되기만 하면 write queue가 full하게 되어 latency critical workloads의 memory requests가 처리되지 못한다. 이를 해결하기 위해 CLAUD에서는 어플리케이션별로 priority를 주어 write queue를 throttling한다. 하지만 이것이 그대로 동작하지는 않았는데, 그 이유는 이미 발생한 request가 write queue를 막고 있었기 때문이다. Write queue를 reverse engineer하고 redesign했다. 그리고 NCAP과 CLAUD에서는 dist-gem5를 사용했다. dist-gem5를 사용하면 여러 개의 호스트에서 분산해 멀티 노드 시스템을 시뮬레이션할 수 있다.
김남승 교수님께서 이번에 수상하신 연구는 전력 절감을 위해 cache를 낮은 전력 소비 상태로 만드는 연구라고 말씀해주셨다. Cache는 상당한 면적을 차지하기 때문에 static power 소비가 상당한데, static power 소비를 줄이기 위해 많은 연구가 있었다. 대표적인 것이 power gating(?)인데 이를 사용하기 위해서는 상당한 로직을 prediction에 사용했어야 했을 뿐 아니라, prediction이 틀리는 경우도 있었다. 한편 김남승 교수님께서는 1-cycle이면 충분한 drowsy 상태로 두도록 하여 이 문제를 해결했다고 하신다 (전자과 수준의 지식 활용).

Advertisements
Posted in 1) Memo

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

누적 방문자 수
  • 103,815 hits
%d bloggers like this: