디지털 라이브러리[ 검색결과 ]
가상머신의 페이지 공유 기회를 향상시키기 위한 우선순위 큐 기반 힌트 관리 기법
대부분의 데이터 센터에서는 제한된 물리 자원을 효율적으로 사용하기 위해 가상화 기술을 이용하여 서버 통합을 시도하고 있다. 또한, 가상화 기술이 적용된 시스템에서는 가상머신 간의 중복된 내용의 페이지를 제거하기 위해 내용 기반의 페이지 공유 기법을 흔히 사용한다. 하지만, 기존의 메모리 공유기법의 경우 공유 가능한 페이지를 의미하는 힌트를 단순히 스택에 저장함으로써 해당 정보를 효율적으로 관리하지 못하는 단점이 있다. 본 논문에서는 가상화 시스템의 페이지 공유 기회를 향상시키기 위해 게스트에서 호스트로 전달된 힌트를 효율적으로 관리하기 위한 우선순위 큐 기반 힌트 관리 기법을 제안한다. 실험 결과를 보면 기존의 기법보다 제안기법이 효율적으로 힌트를 관리하여 공유 가능성이 낮은 힌트를 우선적으로 제거하는 것을 확인할 수 있다.
가상화 환경 IoT 게이트웨이의 성능 향상을 위한 SSD 캐시 기법
스토리지는 응용 프로그램의 성능에 가장 큰 영향을 주므로 가상화된 IoT 게이트웨이를 사용한 홈 클라우드 환경에서 매우 중요하다. 스토리지의 성능 향상을 위해 SSD와 같은 고성능의 디스크를 캐시로 사용해 왔으나 취약한 쓰기 성능과 제한된 셀 수명 문제로 인해 주로 읽기 전용 캐시로 사용하였다. 그러나 사용자 응용의 성능 향상을 위해서는 읽기 작업뿐만 아니라 쓰기 작업의 성능도 매우 중요하다. 본 논문은 이러한 환경에서 읽기 및 쓰기에 모두 사용 가능한 새로운 SSD 캐시 기법을 제안한다. 실험을 통해 본 캐시 기법이 응용 프로그램의 임의 쓰기 작업을 순차적 동작으로 변환시켜 성능 향상을 이룰 수 있음을 확인하였다.
경량 동적 코드 변환 기법을 이용한 동적 인스트루멘테이션 기법 설계 및 구현
동적 인스트루멘테이션 기법은 동적 코드 변환 기법을 사용하여 프로그램의 수행 흐름을 흐트러뜨리지 않으면서 분석 코드를 삽입하는 구현 기법으로 사용되고 있다. 기존의 동적 코드 변환 기법은 머신 코드 스트림을 중간 코드 형태로 파싱하고, 이를 일반적인 컴파일러 기법에 적용함으로써 코드를 변환한다. 이러한 방식의 코드 변환 과정에서 수반되는 높은 변환 오버헤드는 응답성이 높은 사용자 프로그램에 적용을 어렵게 한다. 본 논문에서는 변환 과정의 경량화를 통해 변환 오버헤드를 줄임으로써, 높은 동적 코드 변환 성능을 가지는 경량 동적 코드 변환 기법을 제안하고, 이를 기반으로 하는 동적 인스트루멘테이션 프레임워크를 제안한다. 제안 기법은 테이블 기반의 새로운 동적 주소 변환 기법으로 코드를 변환하고, 더불어 자주 실행되는 라이브러리 함수에 대해 변환 과정에 대해서는 주소 변환만을 함으로써 변환 오버헤드를 줄이는 변환 우회 기법을 이용한다. 기존 동적 코드 변환 기법과의 비교를 통해 2%~65%의 성능 향상을 확인하였다.
가상화 환경의 고성능 I/O를 위한 반가상화 라이브러리
현재 가상화 기술은 많은 연구를 통해 다양한 분야에서 널리 쓰이고 있다. 그러나 여전히 I/O 워크로드는 가상화로 인한 성능 저하로 인하여 가상화 분야에 적용되지 못하고 있다. 이전의 많은 연구에서 가상화 I/O 과정의 모드전환과 중복된 I/O 스택을 이러한 성능 저하의 원인으로 파악하고, 이를 해결하기 위한 기법을 제안하였으나 여전히 가상화 되지 않은 환경의 물리장치에 비해 낮은 성능을 보여주었다. 본 논문에서는 가상화 라이브러리를 사용하는 새로운 I/O 가상화 기법을 제안한다. 본 제안기법은 가상화 I/O 과정에서 발생하는 모드 전환을 완전히 제거하고 게스트 운영체제의 I/O 스택을 우회함으로써 I/O 성능을 향상 시킨다. 네트워크 환경을 위한 프로토타입 구현을 통해 본 제안기법은 네트워크 처리량을 169% 향상시키며 네트워크 지연을 38% 감소시킴을 확인하였다.