서지주요정보
Cache architecture for virtualized multi-cores = 멀티코어 기반 가상화 시스템을 위한 캐쉬 아키텍처
서명 / 저자 Cache architecture for virtualized multi-cores = 멀티코어 기반 가상화 시스템을 위한 캐쉬 아키텍처 / Dae-Hoon Kim.
저자명 Kim, Dae-Hoon ; 김대훈
발행사항 [대전 : 한국과학기술원, 2014].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8026089

소장위치/청구기호

학술문화관(문화관) 보존서고

DCS 14013

SMS전송

도서상태

이용가능

대출가능

반납예정일

초록정보

Virtualization has been rapidly expanding its applications in numerous server and desktop environments to improve the utilization and manageability of physical systems. Such proliferation of virtualized systems opens a new opportunity to improve the scalability of future multi-core architectures and requires to virtualize shared last-level cache to maintain an illusion that a consolidated workload runs on a dedicated machine. Among the scalability bottlenecks in multi-cores, cache coherence has been a critical problem. Although snoop-based protocols have been dominating commercial multi-core designs, it has been difficult to scale them for more cores, as snooping protocols require high network bandwidth and power consumption for snooping all the caches. For providing the illusion, many technical advances have enabled a virtual machine to access shared resources in a transparent and isolated manner on highly consolidated systems. However, on-chip last-level cache, which has been continuously increasing its capacity and a performance-critical shared resource, has no architectural support to virtualize the shared last-level caches for the illusion. To improve the scalability of multi-cores in the virtualized multi-cores, this dissertation proposes a novel snoop-based cache coherence protocol, called virtual snooping. Virtual snooping exploits memory isolation across virtual machines and prevents unnecessary snoop requests from crossing the virtual machine boundaries. Each virtual machine makes a virtual snoop domain, consisting of a subset of the cores in a system. However, in real virtualized systems, virtual machines cannot partition the cores perfectly without any data sharing across the snoop partitions. This dissertation investigates three factors, which break the memory isolation among virtual machines: data sharing with a hypervisor, virtual machine relocation, and content-based data sharing. This dissertation explores the design space of virtual snooping with experiments on real virtualized systems and realistic simulations. The results show that virtual snooping can reduce snoops significantly even if virtual machines migrate frequently. This dissertation also proposes mechanisms to address content-based data sharing by exploiting its readonly property. This dissertation proposes vCache, which is a new cache architecture that provides a VM with transparent and isolated virtual last-level cache. Firstly, vCache allows last-level cache to be indexed by guest physical address instead of host physical one in order for a virtual machine to transparently view its cache. By doing so, any software mechanism for cache placement within a virtual machine preserves its effectiveness thanks to consistent cache indexing. Secondly, vCache provides region-based partitioning, which enables last-level cache to be segmented based on region specification. Provisioning a virtual machine with a securely isolated region on cache achieves performance isolation and strong security, both of which are crucial in multi-tenant environments. From the evaluation with realistic simulation, this dissertation shows that vCache provides the consistent performance of consolidated workloads successfully ensuring transparent and isolated virtualization of last-level cache.

가상화 기술은 시스템의 자원 이용률을 높이고 관리성을 높이기 위하여 다양한 서버와 데스크탑 환경에 적용되고 있다. 이러한 가상화 시스템의 증가는 미래의 멀티코어 시스템의 확장성을 증가 시킬 수있는 새로운 기회를 제공하는 동시에, 각 가상 머신의 통합된 워크로드가 독점적인 머신 에서 돌고 있는 것 같은 환영을 제공해주기 위한 공유 라스트 레벨 캐쉬의 가상화가 요구된다. 멀티 코어 시스템의 확장성을 제한하는 요소로써 캐쉬 일관성 프로토콜은 중요한 문제가 된다. 비록 스눕 기반의 프로토콜 이 대부분의 시스템에서 사용이 되지만, 브로드캐스트 기반이기 때문에 많은 네트워크 대역폭과 전력 소비를 야기하므로, 이를 더 큰 규모의 시스템으로 확장 하기에는 어려움이 따른다. 각 가상 머신들에 게 환영을 제공하기 위해, 많은 기술 발전은 통합 환경에서 가상 머신들에게 공유 자원들을 투명하고 독립적인 방법으로 접근할 수 있게 해주었다. 그러나 계속적으로 용량이 증가하고, 성능에 중요한 공유 자원이 되고 있는 온칩(on-chip)의 라스트 레벨 캐쉬는 공유 라스트 레벨 캐쉬의 환영을 제공하기 위한 어떠한 아키텍처의 지원도 없다. 가상화 기반의 멀티코어 환경에서 멀티코어의 확장성을 향상 시키기 위해, 본 학위 논문은 버추얼 스누핑(virtual snooping)이라고 불리는 스눕 기반의 새로운 캐쉬 일관성 프로토콜을 제안한다.버추얼 스누핑은 가상 머신 들 간의 메모리 격리를 이용하여 가상 머신 간의 불 필 요 한 스눕을 막아준다. 이룰 위해, 각 가상 머신은 코어의 부분 집합으로 가상 스눕 도메인을 이룬다. 그러나, 실제 가상화 환경에서 가상 머신 들은 어떠한 데이터 공유도 없이 코어를 완벽하게 나누지 못한다. 그러므로, 이 학위 논문 에서는 버추얼 스누핑의 디자인 스페이스를 실제 가상화 시스템과 사실적인 시뮬레이션 환경을 통해 살펴본다. 실험 결과는 버추얼 스누핑은 가상 머신이 빈번하게 이동이 일어나는 환경에서도 스눕을 상당히 줄일 수 있다는 것을 보여준다. 본 학위 논문에서는 읽기 전용의 특성을 이용하여 내용 기반의 데이터 공유를 다루는 메커니즘 또한 제안한다. 본 학위논문 에서는 투명하고 독립적인 가상의 라스트 레벨 캐쉬를 가상 머신에게 제공할 수 있는 아키텍처인 브이캐쉬(vCache)를 제안하고 있다. 첫 번째로, 브이캐쉬는 가상 머신이 캐쉬를 투명하게 보게 하기 위해 라스트 레벨 캐쉬가 실제 물리 주소인 호스트 물리 주소 대신에 게스트 물리 주소로 인 덱싱이 되는 것을 허용하고 있다. 이렇게 함으로써, 가상화 환경에서도 가상 머신 안의 캐쉬 플래이스 먼트를 위한 어떤 소프트웨어 메커니즘도 그 효과가 유지될 수 있다. 두 번째로 브이캐쉬는 라스트 레벨 캐쉬가 리전 기반으로 세그멘트화 되도록 하는 리전 기반 파티셔닝 기법을(region-based partitioning) 제공한다. 가상 머신에게 안전하게 독립적인 리전을 할당함으로써 성능 격리와 강력한 보안을 이룰 수 있고, 이 두 가지는 여러 개의 가상 머신이 통합된 환경에서 아주 중요하다. 사실적인 시뮬레이션을 통해, 본 학위 논문은 브이캐쉬가 통합된 워크로드 환경에서도 투명하고 독립적인 라스트 레벨 캐쉬를 제공해주도록 가상화 함으로 성능의 일관성을 제공한다는 것을 보인다.

서지기타정보

서지기타정보
청구기호 {DCS 14013
형태사항 vi, 74 p. : 삽도 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 김대훈
지도교수의 영문표기 : Jae-Hyuk Huh
지도교수의 한글표기 : 허재혁
학위논문 학위논문(박사) - 한국과학기술원 : 전산학과,
서지주기 References : p. 66-70
주제 Cache architecture
Virtualization
Cache Coherence
Snoop Filtering
Multi-core
Page coloring
캐쉬 아키텍처
가상화
캐쉬 일관성
스눕 필터링
멀티코어
페이지 컬러링
QR CODE qr code