Skip to main content
QUICK REVIEW

[논문 리뷰] Isolate First, Then Share: a New OS Architecture for Datacenter Computing

Gang Lü, Jianfeng Zhan|arXiv (Cornell University)|2016. 04. 05.
Parallel Computing and Optimization Techniques참고 문헌 69인용 수 4
한 줄 요약

이 논문은 데이터센터 워크로드에서 최악의 경우(latency)와 평균 성능을 동시에 최적화하는 '먼저 고립시키고, 그 다음 공유하기'(IFTS) 운영체제 아키텍처를 제안한다. 이 아키텍처는 경량의, 필요에 따라 동작하는 운영체제 인스턴스인 subOS를 사용해 CPU 코어, 메모리, 장치를 분할 관리하며, 낮은 꼬리 지연(latency)과 높은 평균 성능을 달성한다. 프로토타입인 RainForest는 다양한 벤치마크에서 Linux, LXC, Xen보다 최악의 경우와 평균 성능 모두에서 뛰어나며, 꼬리 지연은 최대 7.8배 낮고, Spark 워크로드에서는 최적화된 subOS 간 통신으로 2.6배 빠른 성능을 기록한다.

ABSTRACT

This paper presents the "isolate first, then share" OS model in which the processor cores, memory, and devices are divided up between disparate OS instances and a new abstraction, subOS, is proposed to encapsulate an OS instance that can be created, destroyed, and resized on-the-fly. The intuition is that this avoids shared kernel states between applications, which in turn reduces performance loss caused by contention. We decompose the OS into the supervisor and several subOSes running at the same privilege level: a subOS directly manages physical resources, while the supervisor can create, destroy, resize a subOS on-the-fly. The supervisor and subOSes have few state sharing, but fast inter-subOS communication mechanisms are provided on demand. We present the first implementation, RainForest, which supports unmodified Linux binaries. Our comprehensive evaluation shows RainForest outperforms Linux with four different kernels, LXC, and Xen in terms of worst-case and average performance most of time when running a large number of benchmarks. The source code is available soon.

연구 동기 및 목표

  • 데이터센터 환경에서 최악의 경우(latency) 성능과 평균 성능을 동시에 최적화하는 운영체제의 증가하는 필요성을 해결한다.
  • 공유된 커널 데이터 구조로 인해 성능 경쟁과 이질적 성능이 발생하는 전통적인 '먼저 공유하고, 그 다음 고립하기'(SFTI) 운영체제 모델의 한계를 극복한다.
  • 다양하고 혼합된 워크로드에 대해 차별화된 QoS 요구사항을 충족시키기 위해, 고립된 운영체제 인스턴스를 탄력적이고 실시간으로 생성, 파기, 크기 조정할 수 있도록 한다.
  • 수정되지 않은 Linux 바이너리 호환성을 유지하면서도 강력한 성능 고립과 낮은 오버헤드를 달성하기 위해 소프트웨어 호환성을 보존한다.
  • 단일 커널의 성능 저하 문제를 피하고 미래 규모의 데이터센터 워크로드를 지원할 수 있는 보안성, 효율성, 확장성이 뛰어난 운영체제 모델을 설계한다.

제안 방법

  • 운영체제를 관리자와 여러 개의 subOS로 분해하며, 각 subOS는 동일한 특권 수준에서 독립적으로 물리적 자원을 관리한다.
  • 동일한 하드웨어에서 동적으로 생성, 파기, 크기 조정이 가능한 고립된 운영체제 인스턴스를 봉인하기 위해 subOS 추상화를 도입한다.
  • 성능 영향을 최소화하기 위해 필요에 따라 공유 메모리와 IPIs(인터프로세서 인터럽트)를 사용해 빠른 subOS 간 통신을 구현한다.
  • 보안 감시(SG)라는 소프트웨어 기반 보안 메커니즘을 도입하며, 이는 인스트루멘테이션 기반 특권 제한(IPR)과 주소 공간 랜덤화(ASR)를 통해 관리자와 subOS 간 고립을 강제한다.
  • Linux ABI와 완전히 호환되며 수정되지 않은 Linux 바이너리를 지원하는 IFTS 모델 기반의 첫 번째 기능 프로토타입인 RainForest를 구축한다.
  • RFloop라는 고성능 공유 메모리 전송 기반 메커니즘을 통해 subOS 간 통신을 최적화하여, TCP 스트림에서 물리적 네트워크 인터페이스(NIC) 대비 15.95배 높은 대역폭을 달성한다.

실험 결과

연구 질문

  • RQ1공유를 먼저 허용하기 전에 자원을 고립시키는 운영체제 아키텍처가 기존의 SFTI 모델보다 최악의 경우 성능과 평균 성능을 더 잘 달성할 수 있는가?
  • RQ2QoS 요구사항이 상충하는 다양한 혼합 워크로드 환경에서 IFTS 모델은 어떻게 성능을 발휘하는가?
  • RQ3subOS 추상화가 성능이나 보안을 희생시키지 않고 탄력적이고 실시간 자원 할당을 얼마나 잘 지원할 수 있는가?
  • RQ4IFTS 모델에서 subOS 간 통신 메커니즘의 오버헤드와 확장성은 어느 정도인가?
  • RQ5IFTS 모델이 기존 소프트웨어와의 호환성을 유지하면서도 단일 커널 및 가상화 시스템을 크게 능가할 수 있는가?

주요 결과

  • memcached 워크로드 하에서 RainForest는 Linux 2.6.32 대비 99번째 백분율 지연(latency)을 최대 7.8배 낮추었으며, Linux 2.6.35M 대비 4.2배, Linux 3.17.4 대비 2.0배 향상되었다.
  • Spark 워크로드에서 RainForest는 Xen 대비 최대 1.78배 빠르게, Linux 대비 1.43배, LXC 대비 1.16배 성능 향상을 기록했으며, RFloop를 사용하면 Xen 대비 2.60배 빠른 성능을 기록했다.
  • Spark의 Join 쿼리에서 4개의 subOS 대비 8개의 subOS를 사용할 경우 성능 향상이 170%에 이르며, 최적의 subOS 분포가 성능에 유리함을 입증한다.
  • RFloop는 물리적 NIC 대비 TCP 스트림 대역폭을 15.95배 높이고, Xen 가상 NIC 대비 UDP 대역폭을 13.02배 높여 subOS 간 통신의 높은 효율성을 입증한다.
  • IFTS 모델은 안정적인 성능 확장성을 보이며, 코어 수가 40으로 증가함에 따라 RainForest의 꼬리 지연 증가 속도가 Linux, LXC, Xen보다 둔하다.
  • 도메인 간 하드웨어 캐시 일관성의 부재에도 불구하고 IFTS 모델은 다수의 일관성 도메인을 지원하지만, 추가적인 분산 메모리 시스템(DSM) 메커니즘이 없이 도메인 내에서만 자원 공유가 가능하다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.