Virtualization technique improves management capabilities in computer systems such as live migra-
tion and checkpoint. However, there are many applications which are well tted to bare-metal system because of their certain demands. As these applications do not use virtualization, they cannot benefit from the management capabilities of virtualization. To support management capabilities in bare-metal systems, we design and implement re-virtualization and de-virtualization techniques in an x86 architec-ture without operating system modication. We a insert transient virtualization layer into a bare-metal system using re-virtualization. This layer makes the bare-metal system takes advantage of management capabilities. After using management capabilities, our system removes the virtualization layer to main-tain bare-metal performance. In this paper, we describe the design and implementation of the re- and de virtualization techniques, and present a checkpoint-recovery system that can recover from operating system failures by exploiting re- and de-virtualization.
가상화 기술은 컴퓨터 시스템에게 라이브 마이그레이션이나 체크포인트 같은 관리 기능을 제공해준다. 하지만 어떤 어플리케이션들은 다양한 요구에 의해 베어메탈 시스템을 이용하고 있다. 이러한 어플리케이션들은 가상화를 사용하지 않기 때문에 가상>화의 관리 기능을 이용할 수 없다. 우리는 가상화의 관리 기능을 베어베탈 시스템에서도 사용할 수 있게 하기 위하여 재가상화와 탈가상화라는 기술을 설계하고 구현하였다. 재가상화 기술은 베어메탈 시스템에 가상화 레이어를 런타임 중에 삽입하여 가>상화 기술의 이점을 이용하는 기술이며, 탈가상화 기술은 재가상화된 시스템의 가상화 레이어를 제거하여 베어메탈 성능을 유지하는 기술이다. 본 논문에서는 재가상화, 탈가상화 기법의 설계, 구현에 대해 다룬다. 또한 이 기법을 이용하여 가상화의 체>크포인트-리커버리 기술을 베어메탈 시스템에서도 사용할 수 있게 하였다. 전체 시스템의 체크포인트-리커버리 기술은 베어메탈 시스템이 운영체제의 실패로 부터 복구될 수 있게 한다. 재가상화, 탈가상화 기법은 x86 아키텍처로 개발되었고, 운영체제의 변경은 필요하지 않다.