아이뉴스, 박영례기자, 2010-01-13
2013년까지 스마트오피스 22개 구축
기존의 재택근무와 달리 특정 지역에 업무시설 및 원격회의·육아시설을 갖춘 '스마트 오피스(Smart office)'를 이용 출퇴근하지 않고 업무를 처리할 수 있는 시대가 열린다.
13일 국가정보화전략위원회(위원장 이각범)와 행정안전부(장관 이달곤)는 '스마트 오피스 추진 기본 계획(안)'을 통해 이같이 밝혔다.
계획안에 따르면 올해 예산 14억원을 들여 분당이나 일산 등과 같은 수도권 지역 두군데에 25석 규모의 종합적인 원격근무가 가능한 스마트 오피스가 구축된다.
시범사업을 거쳐 오는 2013년 22개로 늘리고 2015년에는 원격근무율을 현행 4% 수준에서 20%까지 늘린다는 목표다.
스마트 오피스는 도심에 있는 본청 또는 본사 사무실에 출근하지 않고 원격지에서 업무를 처리할 수 있는 IT기반 사무실. 업무시설은 물론 육아, 원격 회의시설 등을 갖춰 출근하지 않고도 업무가 가능하다.
별도의 공간에 근무환경을 구축한다는 점에서 기존의 집에서 일하는 방식의 재택근무와는 차이가 있다. 무엇보다 세계 최고수준의 IT 인프라에 육아는 물론 근태관리, 정보보안, 사무환경 등을 제공, 기존의 재택근무의 한계를 해결했다는 게 정부측 설명이다.
정부는 올해 수도권 외곽 및 교통요지 공공기관 공간을 활용, 시범구축 및 실증시험을 거쳐 문제점을 보완한후 단계적으로 확대한다는 방침이다.
또 이에 필요한 관련 법제도를 정비, 스마트 오피스 구축 등 기반조성을 통해 공공은 물론 민간까지 이를 확대시킬 계획이다. 국가정보화전략위원회도 이를 핵심과제로 선정, 적극 추진한다는 의지다.
필요 재원은 지자체 재원(지방도시교통사업특별회계) 및 민간투자 사업방식을 활용하는 방안이 함께 검토된다.
박성일 행안부 정보화기획관은 "일산 분당 등 두군데 정도 시범적으로 추진, 민간까지 확산시킨다는 계획"이라며 "실질적으로 안되는 부분이 기술적인 측면 보다는 법제도적 문화적 측면이 강해 이런점을 보완, 강화해 나갈 계획"이라고 설명했다.
아울러 "시범 사업 대상은 각 부처 등과 협의, 수요조사를 통해 대상자를 선정할 계획"이라며 "민간확대를 위해 필요하다면 민간자본 등 혼합형으로 민관 합동으로 시범구축할 수 있다"고 설명했다.
◆스마트오피스 구축, 효과는
행안부에 따르면 현재 공공기관 기준 1명이라도 재택근무를 이용하는 경우는 전체의 4%. 국가정보화위원회와 행안부는 이를 20%까지 확대한다는 목표다.
이같은 스마트 오피스 도입은 세계 최고 수준의 IT인프라를 적극 활용하는 한편 국가 과제가 되고 있는 저탄소 녹색성장 및 저출산 문제 해결 차원에서 마련 됐다.
실제 행안부는 대면 또는 현장업무가 필수인 경찰, 교사 등 특정 분야를 제외하고 기획, 연구 등 스마트 오피스를 적용할 수 있는 경우가 공공부문에서만 30만명에 달할 것으로 추산하고 있다. 이중 20%만 스마트 오피스를 활용해도 5만4천명에 달하는 규모다.
이들이 하루평균 550명, 대중교통과 자동차를 8대2 비율로 이용한다고 가정할 때, 스마트 오피스를 통해 절감할 수 있는 CO2는 연간 1천톤에 달할 것으로 추정됐다.'
특히 출퇴근에 평균 2시간 가량 소요되는 것을 줄여, 이를 자기계발 등에 활용할 경우 1인당 230만원의 복지혜택이 돌아 갈 수 있다는 계산이다.
무엇보다 육아, 노부모 간병 등의 이유로 휴직, 이같은 부담으로 출산을 꺼리는 문제를 해소할 수 있어 저출산 문제를 해소할 수 있는 방안이 될 것이라는 기대다.
박성일 정보화기획관은 "저탄소 녹색성장, 저출산 문제, 업무생산성향상 등 국가 현안 해소 및 일하는 방식의 선진형 전환 등으로 원격근무 중요성이 늘고 있다"며 이를 강조했다.
아울러 "단순히 일하는 방식의 선진화 뿐 아니라, IT 기술이 융합시대를 맞아 사회환경을 어디까지 얼마나 변화시킬지 예측하기 어려운 상황에서 변화 가능한 모든 것을 담아 경쟁력을 높이고 효율적으로 일할 수 있는 기반 을 마련하는 첫 시도가 될 것"이라고 강조했다.
또 "스마트오피스는 재택근무와 원격지 근무가 결합된 '스마트 워크'를 활성화하기위한 전단계"라며 "교통유발부담금 경감, 인센티브 제공 등 실질적으로 운영될 수 있는 제도적 보완 등을 통해 민간부문까지 적극 확산시킬 계획"이라고 덧붙였다.
Jan 15, 2010
Jan 3, 2010
Linux 가상화와 PCI passthrough
M. Tim Jones, Independent author, Emulex
요약: 프로세서 분야에서는 가상화된 환경의 성능 향상을 위한 많은 발전이 있었습니다. 그렇다면 I/O 분야에서는 어떤 발전이 있었을까요? 이 기사에서는 I/O 성능 향상 기술인 장치(또는 PCI) passthrough에 대해 설명합니다. 이 혁신 기술은 Intel(VT-d) 또는 AMD(IOMMU)의 하드웨어 지원을 사용하여 PCI 장치의 성능을 높여 줍니다.
플랫폼 가상화는 효율적인 리소스 사용을 위해 두 개 이상의 운영 체제에서 하나의 플랫폼을 공유하는 것을 말한다. 하지만 여기에서 플랫폼은 단순히 프로세서만을 의미하는 것이 아니라 스토리지, 네트워크 및 기타 하드웨어 리소스를 비롯하여 플랫폼을 구성하는 다른 중요 요소까지도 포함된 의미이다. 프로세서나 스토리지와 같은 일부 하드웨어 리소스는 쉽게 가상화할 수 있지만 비디오 어댑터나 직렬 포트와 같이 가상화하기 어려운 하드웨어 리소스도 있다. 하지만 PCI(Peripheral Component Interconnect) passthrough를 사용하면 공유할 수 없거나 공유 효율성이 낮은 리소스를 효과적으로 사용할 수 있다. 이 기사에서는 passthrough의 개념을 살펴보고 하이퍼바이저에서 passthrough를 구현하는 방법에 대해 알아본 후 이 혁신적인 최신 기술을 지원하는 하이퍼바이저에 대해 자세히 설명한다.
플랫폼 장치 에뮬레이션
그림1. 하이퍼바이저 기반 장치 에뮬레이션
passthrough를 시작하기 전에 먼저 두 가지 최신 하이퍼바이저 아키텍처에서 장치 에뮬레이션이 작동하는 방법을 살펴보자. 첫 번째 아키텍처에서는 장치 에뮬레이션이 하이퍼바이저 내에 통합된 반면 두 번째 아키텍처에서는 하이퍼바이저 외부의 애플리케이션에서 장치 에뮬레이션을 처리한다.
하이퍼바이저 내의 장치 에뮬레이션은 VMware 워크스테이션 제품에서 일반적으로 구현하는 방법이다(운영 체제 기반 하이퍼바이저). 이 모델에서는 가상 디스크, 가상 네트워크 어댑터 및 기타 필수 플랫폼 요소를 비롯하여 다양한 게스트 운영 체제에서 공유할 수 있는 공통 장치에 대한 에뮬레이션이 하이퍼바이저에 포함되어 있다. 그림 1에서 이 특별한 모델을 볼 수 있다.
두 번째 아키텍처는 사용자 공간 장치 에뮬레이션이다(그림 2 참조). 이름에서 알 수 있듯이 이 아키텍처에서는 장치 에뮬레이션이 하이퍼바이저 내에 포함되지 않는 대신 사용자 공간에서 구현된다. 장치 에뮬레이션을 지원하는 QEMU(장치 에뮬레이션과 하이퍼바이저를 모두 제공함)는 수많은 독립 하이퍼바이저(KVM(Kernel-based Virtual Machine) 및 VirtualBox)에서 사용된다. 이 모델의 장점은 장치 에뮬레이션이 하이퍼바이저와 독립되어 있기 때문에 여러 하이퍼바이저에서 장치 에뮬레이션을 공유할 수 있다는 것이다. 또한 이 기능을 사용하면 권한이 있는 상태에서 작동하는 하이퍼바이저에 부담을 주지 않고 임의의 장치 에뮬레이션을 수행할 수 있다.
그림2. 사용자 공간 장치 에뮬레이션
장치 에뮬레이션을 하이퍼바이저에서 사용자 공간으로 옮기면 몇 가지 뚜렷한 장점을 얻을 수 있으며 그 중에서 가장 중요한 장점은 TCB(trusted computing base)와 관련되어 있다. 시스템의 TCB는 보안에 중요한 모든 구성 요소의 세트이다. 당연한 말이겠지만 만일 시스템을 최소화하게 되면 버그의 가능성도 줄어들기 때문에 보다 더 안전한 시스템이 될 것이다. 이와 동일한 아이디어가 하이퍼바이저에도 적용된다. 하이퍼바이저는 독립된 여러 게스트 운영 체제를 분리하기 때문에 보안이 매우 중요하다. 하이퍼바이저의 코드 양이 적을수록 즉, 장치 에뮬레이션을 더 적은 권한이 요구되는 사용자 공간에서 구현하면 신뢰할 수 없는 사용자에게 권한이 주어지는 경우가 줄어든다.
하이퍼바이저 기반 장치 에뮬레이션의 또 다른 형태로는 병렬화된 드라이버가 있다. 이 모델에서는 하이퍼바이저에 실제 드라이버가 포함되며, 각각의 게스트 운영 체제에 하이퍼바이저 드라이버와 함께 작동하는 하이퍼바이저 인식 드라이버(병렬 가상화된 또는 PV 드라이버)가 포함된다.
장치 에뮬레이션이 하이퍼바이저나 게스트 VM(Virtual Machine)에서 발생하는지 여부에 상관 없이 에뮬레이션 방법은 비슷하다. 장치 에뮬레이션은 특정 장치(예: Novell NE1000 네트워크 어댑터)나 특정 유형의 디스크(예: IDE(Integrated Device Electronics) 드라이브)를 모방할 수 있다. 실제 하드웨어가 크게 다를 수 있다. 예를 들어, 게스트 운영 체제에는 IDE 드라이브가 에뮬레이션되어 있고 실제 하드웨어 플랫폼에서는 SATA(serial ATA) 드라이브를 사용할 수 있다. 이렇게 하면 모든 게스트 운영 체제에서 고급 드라이브 유형을 지원하지 않아도 많은 운영 체제에서 공통으로 지원되는 IDE를 공통으로 사용할 수 있기 때문에 큰 효과를 얻을 수 있다.
장치 passthrough
위에서 설명한 두 가지 장치 에뮬레이션 모델에서 살펴본 바로는 장치를 공유하기 위해 몇 가지 추가 요소가 필요하다. 즉, 장치 에뮬레이션이 하이퍼바이저에서 수행되던 독립 VM 내의 사용자 공간에서 수행되던 상관 없이 오버헤드가 있다는 것을 알 수 있다. 여러 게스트 운영 체제에서 장치를 공유할 필요가 있는 한 이 오버헤드는 충분한 가치를 지니고 있다. 하지만 이러한 공유가 필요 없을 경우에는 보다 효율적인 방법으로 장치를 공유할 수 있다.
크게 말해서 장치 passthrough는 장치를 배타적으로 사용할 수 있도록 지정된 게스트 운영 체제에 전용 장치를 제공하는 것이다(그림 3 참조). 그렇다면 이렇게 했을 때 얻을 수 있는 장점은 무엇일까? 물론 장치 passthrough가 유용한 이유는 여러 가지이다. 그 중에서 가장 중요한 두 가지 이유를 들자면 첫 번째가 성능이고, 두 번째는 본질적으로 공유할 수 없는 장치를 배타적으로 사용할 수 있다는 것이다.
그림3. Hypervisor 내에서의 PassThrough
성능 면에서 보았을 때, 장치 passthrough를 사용하면 성능 손실이 거의 발생하지 않는다. 따라서 장치 passthrough는 하이퍼바이저를 통과할 때(하이퍼바이저 내의 드라이버나 사용자 공간 에뮬레이션에 대한 하이퍼바이저를 통과할 때) 발생하는 경합과 성능 저하 때문에 가상화를 채택하지 않은 네트워크 애플리케이션(또는 디스크 입출력이 많은 애플리케이션)에 이상적인 기술이다. 하지만 특정 게스트에 장치를 할당하는 방법은 해당 장치를 공유할 수 없는 경우에도 유용하다. 예를 들어, 시스템에 여러 개의 비디오 어댑터가 있을 경우 이러한 어댑터를 고유한 게스트 도메인에 직접 연결할 수 있다.
마지막으로 하나의 게스트 도메인에서만 사용하는 특수 PCI 장치나 하이퍼바이저에서 지원하지 않기 때문에 게스트에 직접 연결해야 하는 장치가 있을 수 있다. 개별 USB 포트를 지정된 도메인으로 분리하거나 직렬 포트(그 자체로는 공유할 수 없는 장치)를 특정 게스트에 분리할 수 있다.
장치 에뮬레이션에 대한 이해
초기의 장치 에뮬레이션에서는 하이퍼바이저 내에 장치 인터페이스의 섀도우를 구현하여 게스트 운영 체제에 가상 인터페이스를 제공했다. 이 가상 인터페이스는 장치(예: 섀도우 PCI)를 나타내는 가상 주소 공간과 가상 인터럽트를 포함한 예상 인터페이스로 구성되어 있다. 하지만 가상 인터페이스와 통신하는 장치 드라이버와 이 통신을 실제 하드웨어로 변환하는 하이퍼바이저를 사용하면 상당한 수준의 오버헤드가 발생하며 특히, 네트워크 어댑터와 같은 고사양 장치의 경우에는 오버헤드의 수준이 더욱 높아진다.
Xen에서 대중화시킨 PV 방법(앞 섹션에서 설명함)은 게스트 운영 체제 시스템 드라이버가 가상화되고 있음을 인식하도록 하여 성능의 저하를 줄인다. 이 경우 게스트 운영 체제는 네트워크 어댑터와 같은 장치에 대한 PCI 공간 대신 상위 레벨 추상화를 제공하는 네트워크 어댑터 API(예: 패킷 인터페이스)를 본다. 이 방법의 단점은 게스트 운영 체제를 PV에 맞게 수정해야 한다는 것이며 장점은 손실이 거의 없는 수준의 성능을 얻을 수도 있다는 것이다.
초기의 장치 passthrough에서는 하이퍼바이저가 소프트웨어 기반 메모리 관리(게스트 운영 체제 주소 공간을 트러스트된 호스트 주소 공간으로 변환)를 제공하는 씬 에뮬레이션 모델을 사용했다. 그리고 초기 시도에서는 장치를 특정 게스트 운영 체제로 분리할 수 있는 방법을 제공하기는 했지만 이로 인해 대규모 가상화 환경에 필요한 성능과 확장성이 부족하다는 단점이 있었다. 다행스럽게도 프로세서 공급자가 하이퍼바이저뿐만 아니라 인터럽트 가상화 및 DMA(Direct Memory Access) 지원을 포함한 장치 passthrough의 논리까지도 지원하는 명령어를 갖춘 차세대 프로세서를 개발했다. 따라서 하이퍼바이저 아래에 있는 실제 장치에 대한 액세스를 확인하고 에뮬레이션하는 대신 새 프로세서는 효율적인 장치 passthrough를 위해 DMA 주소 변환 및 권한 검사 기능을 제공한다.
장치 passthrough를 위한 하드웨어 지원
Intel과 AMD 모두 자사의 새로운 프로세서 아키텍처에서 장치 passthrough에 대한 지원과 하이퍼바이저를 지원하는 새로운 명령어를 제공한다. Intel에서는 이 옵션을 VT-d(Virtualization Technology for Directed I/O))라고 부르고 AMD에서는 IOMMU(I/O Memory Management Unit)라고 부른다. 두 경우 모두 새 CPU가 PCI의 실제 주소를 게스트의 가상 주소에 맵핑한다. 이 맵핑이 발생하면 하드웨어가 액세스를 보호하게 되며, 결과적으로 게스트 운영 체제에서는 가상화되지 않은 시스템인 것처럼 장치를 사용할 수 있다. 게스트를 실제 메모리에 맵핑하는 기능 외에도 다른 게스트(또는 하이퍼바이저)의 액세스를 차단하는 분리 기능이 제공된다. 이외에도 Intel 및 AMD CPU는 다양한 가상화 기능을 제공한다. 참고자료 섹션에서 자세한 정보를 확인할 수 있다.
또 하나의 혁신 기술로서 인터럽트를 많은 수의 VM으로 확장할 수 있는 MSI(Message Signaled Interrupts)라는 기능이 있다. MSI는 실제 인터럽트 핀을 통해 게스트에 연결하는 대신 인터럽트를 보다 쉽게 가상화할 수 있는 메시지로 변환한다(수천 개의 개별 인터럽트로 확장). PCI 버전 2.2부터 도입된 MSI는 PCIe(PCI Express)에서도 사용할 수 있으며, PCIe에서는 패브릭을 사용하여 다수의 장치로 확장할 수 있다. MSI는 인터럽트 소스를 분리(소프트웨어를 통해 멀티플렉싱 또는 라우팅되어야 하는 실제 핀과는 반대되는 방법)할 수 있기 때문에 I/O 가상화에 이상적이다.
장치 passthrough를 위한 하이퍼바이저 지원
가상화 기능이 강화된 최신 프로세서 아키텍처를 기반으로 수많은 하이퍼바이저 및 가상화 솔루션에서 장치 passthrough를 지원하고 있다. Xen과 KVM뿐만 아니라 다른 여러 하이퍼바이저에서도 장치 passthrough에 대한 지원(VT-d 또는 IOMMU 사용)을 찾아볼 수 있다. 대부분의 경우에는 passthrough를 지원하기 위해 게스트 운영 체제(도메인 0)를 컴파일해야 하며, 이 컴파일 작업은 커널 빌드 타임 옵션으로 제공된다. 또한 pciback을 사용하여 Xen에서 수행했던 것처럼 호스트 VM에서 장치를 숨겨야 한다. PCI에서는 PCIe-to-PCI 브리지 뒤에 있는 PCI 장치를 동일한 도메인에 할당해야 한다는 등의 약간의 제한 사항이 있지만 PCIe에서는 이러한 제한 사항이 없다.
또한 libvirt(및 virsh)에도 장치 passthrough에 구성 지원이 있으며, 이 구성 지원은 기본 하이퍼바이저에 사용되는 구성 스키마에 대한 추상화 기능을 제공한다.
장치 passthrough와 관련된 문제점
실시간 마이그레이션이 필요할 경우 장치 passthrough와 관련된 한 가지 문제가 발생한다. 실시간 마이그레이션은 VM을 일시 중단한 후 VM의 다시 시작 위치를 가리키는 새로운 실제 호스트로 마이그레이션하는 기능이다. 이 기능은 실제 호스트 네트워크 상에서 VM의 로드 밸런싱을 지원하는 뛰어난 기능이지만 passthrough 장치를 사용할 경우 문제가 발생한다. 해결해야 하는 문제점으로 PCI 핫플러그(여러 스펙이 있음)가 있다. PCI 장치와 지정된 커널 간의 통신을 지원하는 PCI 핫플러그는 VM을 새 호스트 시스템에 있는 하이퍼바이저로 마이그레이션하려는 경우에 이상적이다(장치를 언플러그하지 않아도 새 하이퍼바이저에서 나중에 자동으로 플러그됨). 가상 네트워크 어댑터와 같이 장치가 에뮬레이션될 때 에뮬레이션에서 실제 하드웨어를 추상화하는 계층을 제공한다. 이렇게 하면 가상 네트워크 어댑터를 VM 내에서 쉽게 마이그레이션할 수 있다(여러 논리적 네트워크 어댑터를 동일한 인터페이스에 연결할 수 있는 Linux® 본딩 드라이버(bonding driver)에서도 지원됨).
I/O 가상화의 다음 단계
I/O 가상화의 다음 단계는 오늘날 실제로 발생하고 있다. 예를 들어, PCIe에 가상화에 대한 지원이 있다. 서버 가상화에 이상적인 한 가지 가상화 개념으로 SR-IOV(Single-Root I/O Virtualization)가 있다. PCI-Special Interest Group 또는 PCI-SIG에서 개발한 이 가상화 기술은 단일 루트 복합 인스턴스 내에서 장치 가상화를 제공한다. 이 경우에는 단일 서버에 있는 여러 VM이 장치를 공유한다. 또 다른 변형 기술인 멀티 루트 IOV는 더 큰 토폴로지(예를 들어, 여러 서버가 하나 이상의 PCIe 장치에 액세스할 수 있는 블레이드 서버)를 지원한다. 어떤 의미에서 이 기술은 서버, 종단 장치 및 스위치를 포함한 대규모 장치 네트워크까지도 지원한다.
SR-IOV를 사용하면 PCIe 장치에서 수많은 실제 PCI 기능뿐만 아니라 I/O 장치의 리소스를 공유하는 가상 기능의 세트까지도 내보낼 수 있다. 그림 4에서는 간단한 형태의 서버 가상화 아키텍처를 보여 준다. 이 모델에서는 가상화가 종단 장치에서 발생하기 때문에 passthrough가 필요하지 않으며 하이퍼바이저에서 가상 기능을 VM에 맵핑하는 것만으로도 분리의 보안과 함께 원시 장치의 성능을 얻을 수 있다.
그림 4. SR-IOV를 이용한 PassThrough
추가 주제
가상화는 약 50년 동안 개발되고 있는 기술이지만 I/O 가상화에 대한 관심은 이제야 확산되고 있다. 상용 프로세서의 가상화 지원도 고작 5년 정도에 불과하다. 따라서 지금이 바로 진정한 의미에서의 플랫폼 및 I/O 가상화가 시작되는 출발점이라고 해도 과언이 아닐 것이다. 또한 클라우드 컴퓨팅과 같은 미래 아키텍처의 주요 요소로 자리 잡을 가상화는 앞으로 그 발전을 눈 여겨 볼만한 흥미로운 기술임에 틀림 없다. 일반적으로 이러한 새 아키텍처를 선도적으로 지원하는 Linux이기에 최신 커널(2.6.27 이상)에도 가상화와 관련된 이러한 신기술에 대한 지원이 포함되어 있다.
요약: 프로세서 분야에서는 가상화된 환경의 성능 향상을 위한 많은 발전이 있었습니다. 그렇다면 I/O 분야에서는 어떤 발전이 있었을까요? 이 기사에서는 I/O 성능 향상 기술인 장치(또는 PCI) passthrough에 대해 설명합니다. 이 혁신 기술은 Intel(VT-d) 또는 AMD(IOMMU)의 하드웨어 지원을 사용하여 PCI 장치의 성능을 높여 줍니다.
플랫폼 가상화는 효율적인 리소스 사용을 위해 두 개 이상의 운영 체제에서 하나의 플랫폼을 공유하는 것을 말한다. 하지만 여기에서 플랫폼은 단순히 프로세서만을 의미하는 것이 아니라 스토리지, 네트워크 및 기타 하드웨어 리소스를 비롯하여 플랫폼을 구성하는 다른 중요 요소까지도 포함된 의미이다. 프로세서나 스토리지와 같은 일부 하드웨어 리소스는 쉽게 가상화할 수 있지만 비디오 어댑터나 직렬 포트와 같이 가상화하기 어려운 하드웨어 리소스도 있다. 하지만 PCI(Peripheral Component Interconnect) passthrough를 사용하면 공유할 수 없거나 공유 효율성이 낮은 리소스를 효과적으로 사용할 수 있다. 이 기사에서는 passthrough의 개념을 살펴보고 하이퍼바이저에서 passthrough를 구현하는 방법에 대해 알아본 후 이 혁신적인 최신 기술을 지원하는 하이퍼바이저에 대해 자세히 설명한다.
플랫폼 장치 에뮬레이션
그림1. 하이퍼바이저 기반 장치 에뮬레이션
passthrough를 시작하기 전에 먼저 두 가지 최신 하이퍼바이저 아키텍처에서 장치 에뮬레이션이 작동하는 방법을 살펴보자. 첫 번째 아키텍처에서는 장치 에뮬레이션이 하이퍼바이저 내에 통합된 반면 두 번째 아키텍처에서는 하이퍼바이저 외부의 애플리케이션에서 장치 에뮬레이션을 처리한다.
하이퍼바이저 내의 장치 에뮬레이션은 VMware 워크스테이션 제품에서 일반적으로 구현하는 방법이다(운영 체제 기반 하이퍼바이저). 이 모델에서는 가상 디스크, 가상 네트워크 어댑터 및 기타 필수 플랫폼 요소를 비롯하여 다양한 게스트 운영 체제에서 공유할 수 있는 공통 장치에 대한 에뮬레이션이 하이퍼바이저에 포함되어 있다. 그림 1에서 이 특별한 모델을 볼 수 있다.
두 번째 아키텍처는 사용자 공간 장치 에뮬레이션이다(그림 2 참조). 이름에서 알 수 있듯이 이 아키텍처에서는 장치 에뮬레이션이 하이퍼바이저 내에 포함되지 않는 대신 사용자 공간에서 구현된다. 장치 에뮬레이션을 지원하는 QEMU(장치 에뮬레이션과 하이퍼바이저를 모두 제공함)는 수많은 독립 하이퍼바이저(KVM(Kernel-based Virtual Machine) 및 VirtualBox)에서 사용된다. 이 모델의 장점은 장치 에뮬레이션이 하이퍼바이저와 독립되어 있기 때문에 여러 하이퍼바이저에서 장치 에뮬레이션을 공유할 수 있다는 것이다. 또한 이 기능을 사용하면 권한이 있는 상태에서 작동하는 하이퍼바이저에 부담을 주지 않고 임의의 장치 에뮬레이션을 수행할 수 있다.
그림2. 사용자 공간 장치 에뮬레이션
장치 에뮬레이션을 하이퍼바이저에서 사용자 공간으로 옮기면 몇 가지 뚜렷한 장점을 얻을 수 있으며 그 중에서 가장 중요한 장점은 TCB(trusted computing base)와 관련되어 있다. 시스템의 TCB는 보안에 중요한 모든 구성 요소의 세트이다. 당연한 말이겠지만 만일 시스템을 최소화하게 되면 버그의 가능성도 줄어들기 때문에 보다 더 안전한 시스템이 될 것이다. 이와 동일한 아이디어가 하이퍼바이저에도 적용된다. 하이퍼바이저는 독립된 여러 게스트 운영 체제를 분리하기 때문에 보안이 매우 중요하다. 하이퍼바이저의 코드 양이 적을수록 즉, 장치 에뮬레이션을 더 적은 권한이 요구되는 사용자 공간에서 구현하면 신뢰할 수 없는 사용자에게 권한이 주어지는 경우가 줄어든다.
하이퍼바이저 기반 장치 에뮬레이션의 또 다른 형태로는 병렬화된 드라이버가 있다. 이 모델에서는 하이퍼바이저에 실제 드라이버가 포함되며, 각각의 게스트 운영 체제에 하이퍼바이저 드라이버와 함께 작동하는 하이퍼바이저 인식 드라이버(병렬 가상화된 또는 PV 드라이버)가 포함된다.
장치 에뮬레이션이 하이퍼바이저나 게스트 VM(Virtual Machine)에서 발생하는지 여부에 상관 없이 에뮬레이션 방법은 비슷하다. 장치 에뮬레이션은 특정 장치(예: Novell NE1000 네트워크 어댑터)나 특정 유형의 디스크(예: IDE(Integrated Device Electronics) 드라이브)를 모방할 수 있다. 실제 하드웨어가 크게 다를 수 있다. 예를 들어, 게스트 운영 체제에는 IDE 드라이브가 에뮬레이션되어 있고 실제 하드웨어 플랫폼에서는 SATA(serial ATA) 드라이브를 사용할 수 있다. 이렇게 하면 모든 게스트 운영 체제에서 고급 드라이브 유형을 지원하지 않아도 많은 운영 체제에서 공통으로 지원되는 IDE를 공통으로 사용할 수 있기 때문에 큰 효과를 얻을 수 있다.
장치 passthrough
위에서 설명한 두 가지 장치 에뮬레이션 모델에서 살펴본 바로는 장치를 공유하기 위해 몇 가지 추가 요소가 필요하다. 즉, 장치 에뮬레이션이 하이퍼바이저에서 수행되던 독립 VM 내의 사용자 공간에서 수행되던 상관 없이 오버헤드가 있다는 것을 알 수 있다. 여러 게스트 운영 체제에서 장치를 공유할 필요가 있는 한 이 오버헤드는 충분한 가치를 지니고 있다. 하지만 이러한 공유가 필요 없을 경우에는 보다 효율적인 방법으로 장치를 공유할 수 있다.
크게 말해서 장치 passthrough는 장치를 배타적으로 사용할 수 있도록 지정된 게스트 운영 체제에 전용 장치를 제공하는 것이다(그림 3 참조). 그렇다면 이렇게 했을 때 얻을 수 있는 장점은 무엇일까? 물론 장치 passthrough가 유용한 이유는 여러 가지이다. 그 중에서 가장 중요한 두 가지 이유를 들자면 첫 번째가 성능이고, 두 번째는 본질적으로 공유할 수 없는 장치를 배타적으로 사용할 수 있다는 것이다.
그림3. Hypervisor 내에서의 PassThrough
성능 면에서 보았을 때, 장치 passthrough를 사용하면 성능 손실이 거의 발생하지 않는다. 따라서 장치 passthrough는 하이퍼바이저를 통과할 때(하이퍼바이저 내의 드라이버나 사용자 공간 에뮬레이션에 대한 하이퍼바이저를 통과할 때) 발생하는 경합과 성능 저하 때문에 가상화를 채택하지 않은 네트워크 애플리케이션(또는 디스크 입출력이 많은 애플리케이션)에 이상적인 기술이다. 하지만 특정 게스트에 장치를 할당하는 방법은 해당 장치를 공유할 수 없는 경우에도 유용하다. 예를 들어, 시스템에 여러 개의 비디오 어댑터가 있을 경우 이러한 어댑터를 고유한 게스트 도메인에 직접 연결할 수 있다.
마지막으로 하나의 게스트 도메인에서만 사용하는 특수 PCI 장치나 하이퍼바이저에서 지원하지 않기 때문에 게스트에 직접 연결해야 하는 장치가 있을 수 있다. 개별 USB 포트를 지정된 도메인으로 분리하거나 직렬 포트(그 자체로는 공유할 수 없는 장치)를 특정 게스트에 분리할 수 있다.
장치 에뮬레이션에 대한 이해
초기의 장치 에뮬레이션에서는 하이퍼바이저 내에 장치 인터페이스의 섀도우를 구현하여 게스트 운영 체제에 가상 인터페이스를 제공했다. 이 가상 인터페이스는 장치(예: 섀도우 PCI)를 나타내는 가상 주소 공간과 가상 인터럽트를 포함한 예상 인터페이스로 구성되어 있다. 하지만 가상 인터페이스와 통신하는 장치 드라이버와 이 통신을 실제 하드웨어로 변환하는 하이퍼바이저를 사용하면 상당한 수준의 오버헤드가 발생하며 특히, 네트워크 어댑터와 같은 고사양 장치의 경우에는 오버헤드의 수준이 더욱 높아진다.
Xen에서 대중화시킨 PV 방법(앞 섹션에서 설명함)은 게스트 운영 체제 시스템 드라이버가 가상화되고 있음을 인식하도록 하여 성능의 저하를 줄인다. 이 경우 게스트 운영 체제는 네트워크 어댑터와 같은 장치에 대한 PCI 공간 대신 상위 레벨 추상화를 제공하는 네트워크 어댑터 API(예: 패킷 인터페이스)를 본다. 이 방법의 단점은 게스트 운영 체제를 PV에 맞게 수정해야 한다는 것이며 장점은 손실이 거의 없는 수준의 성능을 얻을 수도 있다는 것이다.
초기의 장치 passthrough에서는 하이퍼바이저가 소프트웨어 기반 메모리 관리(게스트 운영 체제 주소 공간을 트러스트된 호스트 주소 공간으로 변환)를 제공하는 씬 에뮬레이션 모델을 사용했다. 그리고 초기 시도에서는 장치를 특정 게스트 운영 체제로 분리할 수 있는 방법을 제공하기는 했지만 이로 인해 대규모 가상화 환경에 필요한 성능과 확장성이 부족하다는 단점이 있었다. 다행스럽게도 프로세서 공급자가 하이퍼바이저뿐만 아니라 인터럽트 가상화 및 DMA(Direct Memory Access) 지원을 포함한 장치 passthrough의 논리까지도 지원하는 명령어를 갖춘 차세대 프로세서를 개발했다. 따라서 하이퍼바이저 아래에 있는 실제 장치에 대한 액세스를 확인하고 에뮬레이션하는 대신 새 프로세서는 효율적인 장치 passthrough를 위해 DMA 주소 변환 및 권한 검사 기능을 제공한다.
장치 passthrough를 위한 하드웨어 지원
Intel과 AMD 모두 자사의 새로운 프로세서 아키텍처에서 장치 passthrough에 대한 지원과 하이퍼바이저를 지원하는 새로운 명령어를 제공한다. Intel에서는 이 옵션을 VT-d(Virtualization Technology for Directed I/O))라고 부르고 AMD에서는 IOMMU(I/O Memory Management Unit)라고 부른다. 두 경우 모두 새 CPU가 PCI의 실제 주소를 게스트의 가상 주소에 맵핑한다. 이 맵핑이 발생하면 하드웨어가 액세스를 보호하게 되며, 결과적으로 게스트 운영 체제에서는 가상화되지 않은 시스템인 것처럼 장치를 사용할 수 있다. 게스트를 실제 메모리에 맵핑하는 기능 외에도 다른 게스트(또는 하이퍼바이저)의 액세스를 차단하는 분리 기능이 제공된다. 이외에도 Intel 및 AMD CPU는 다양한 가상화 기능을 제공한다. 참고자료 섹션에서 자세한 정보를 확인할 수 있다.
또 하나의 혁신 기술로서 인터럽트를 많은 수의 VM으로 확장할 수 있는 MSI(Message Signaled Interrupts)라는 기능이 있다. MSI는 실제 인터럽트 핀을 통해 게스트에 연결하는 대신 인터럽트를 보다 쉽게 가상화할 수 있는 메시지로 변환한다(수천 개의 개별 인터럽트로 확장). PCI 버전 2.2부터 도입된 MSI는 PCIe(PCI Express)에서도 사용할 수 있으며, PCIe에서는 패브릭을 사용하여 다수의 장치로 확장할 수 있다. MSI는 인터럽트 소스를 분리(소프트웨어를 통해 멀티플렉싱 또는 라우팅되어야 하는 실제 핀과는 반대되는 방법)할 수 있기 때문에 I/O 가상화에 이상적이다.
장치 passthrough를 위한 하이퍼바이저 지원
가상화 기능이 강화된 최신 프로세서 아키텍처를 기반으로 수많은 하이퍼바이저 및 가상화 솔루션에서 장치 passthrough를 지원하고 있다. Xen과 KVM뿐만 아니라 다른 여러 하이퍼바이저에서도 장치 passthrough에 대한 지원(VT-d 또는 IOMMU 사용)을 찾아볼 수 있다. 대부분의 경우에는 passthrough를 지원하기 위해 게스트 운영 체제(도메인 0)를 컴파일해야 하며, 이 컴파일 작업은 커널 빌드 타임 옵션으로 제공된다. 또한 pciback을 사용하여 Xen에서 수행했던 것처럼 호스트 VM에서 장치를 숨겨야 한다. PCI에서는 PCIe-to-PCI 브리지 뒤에 있는 PCI 장치를 동일한 도메인에 할당해야 한다는 등의 약간의 제한 사항이 있지만 PCIe에서는 이러한 제한 사항이 없다.
또한 libvirt(및 virsh)에도 장치 passthrough에 구성 지원이 있으며, 이 구성 지원은 기본 하이퍼바이저에 사용되는 구성 스키마에 대한 추상화 기능을 제공한다.
장치 passthrough와 관련된 문제점
실시간 마이그레이션이 필요할 경우 장치 passthrough와 관련된 한 가지 문제가 발생한다. 실시간 마이그레이션은 VM을 일시 중단한 후 VM의 다시 시작 위치를 가리키는 새로운 실제 호스트로 마이그레이션하는 기능이다. 이 기능은 실제 호스트 네트워크 상에서 VM의 로드 밸런싱을 지원하는 뛰어난 기능이지만 passthrough 장치를 사용할 경우 문제가 발생한다. 해결해야 하는 문제점으로 PCI 핫플러그(여러 스펙이 있음)가 있다. PCI 장치와 지정된 커널 간의 통신을 지원하는 PCI 핫플러그는 VM을 새 호스트 시스템에 있는 하이퍼바이저로 마이그레이션하려는 경우에 이상적이다(장치를 언플러그하지 않아도 새 하이퍼바이저에서 나중에 자동으로 플러그됨). 가상 네트워크 어댑터와 같이 장치가 에뮬레이션될 때 에뮬레이션에서 실제 하드웨어를 추상화하는 계층을 제공한다. 이렇게 하면 가상 네트워크 어댑터를 VM 내에서 쉽게 마이그레이션할 수 있다(여러 논리적 네트워크 어댑터를 동일한 인터페이스에 연결할 수 있는 Linux® 본딩 드라이버(bonding driver)에서도 지원됨).
I/O 가상화의 다음 단계
I/O 가상화의 다음 단계는 오늘날 실제로 발생하고 있다. 예를 들어, PCIe에 가상화에 대한 지원이 있다. 서버 가상화에 이상적인 한 가지 가상화 개념으로 SR-IOV(Single-Root I/O Virtualization)가 있다. PCI-Special Interest Group 또는 PCI-SIG에서 개발한 이 가상화 기술은 단일 루트 복합 인스턴스 내에서 장치 가상화를 제공한다. 이 경우에는 단일 서버에 있는 여러 VM이 장치를 공유한다. 또 다른 변형 기술인 멀티 루트 IOV는 더 큰 토폴로지(예를 들어, 여러 서버가 하나 이상의 PCIe 장치에 액세스할 수 있는 블레이드 서버)를 지원한다. 어떤 의미에서 이 기술은 서버, 종단 장치 및 스위치를 포함한 대규모 장치 네트워크까지도 지원한다.
SR-IOV를 사용하면 PCIe 장치에서 수많은 실제 PCI 기능뿐만 아니라 I/O 장치의 리소스를 공유하는 가상 기능의 세트까지도 내보낼 수 있다. 그림 4에서는 간단한 형태의 서버 가상화 아키텍처를 보여 준다. 이 모델에서는 가상화가 종단 장치에서 발생하기 때문에 passthrough가 필요하지 않으며 하이퍼바이저에서 가상 기능을 VM에 맵핑하는 것만으로도 분리의 보안과 함께 원시 장치의 성능을 얻을 수 있다.
그림 4. SR-IOV를 이용한 PassThrough
추가 주제
가상화는 약 50년 동안 개발되고 있는 기술이지만 I/O 가상화에 대한 관심은 이제야 확산되고 있다. 상용 프로세서의 가상화 지원도 고작 5년 정도에 불과하다. 따라서 지금이 바로 진정한 의미에서의 플랫폼 및 I/O 가상화가 시작되는 출발점이라고 해도 과언이 아닐 것이다. 또한 클라우드 컴퓨팅과 같은 미래 아키텍처의 주요 요소로 자리 잡을 가상화는 앞으로 그 발전을 눈 여겨 볼만한 흥미로운 기술임에 틀림 없다. 일반적으로 이러한 새 아키텍처를 선도적으로 지원하는 Linux이기에 최신 커널(2.6.27 이상)에도 가상화와 관련된 이러한 신기술에 대한 지원이 포함되어 있다.
AMD, 새로운 I/O 가상화 기술 무상 제공 발표
AMD, I/O 브릿지에 직접 적용하는 새로운 I/O 가상화 기술 무상으로 제공 –
- AMD CPU 가상화 기술의 효율성을 보다 증대시킬 것으로 기대 –
IDC 가상화 포럼, 뉴욕 -- 2006-02-08 -- AMD는 금일 뉴욕에서 개최된 IDC 가상화 포럼에서 새로운 I/O 가상화 기술 사양을 발표하고, 새로운 I/O 가상화 기술을 하드웨어 및 소프트웨어 개발자들이 폭넓게 채택할 수 있도록 무상으로 라이센스를 제공할 예정이라고 밝혔다.
AMD의 I/O 가상화 기술은 컴퓨터의 I/O 브릿지에 직접 적용되는 명령어 기술 세트로, x86 기반의 서버나 데스크탑, 노트북 PC의 I/O 디바이스를 가상화할 시에 발생될 보안 문제나 성능 병목현상을 해소시켜 줌으로써 AMD의 CPU기반 가상화 기술의 이점을 더욱 확장시킬 수 있도록 설계됐다.
코드명 퍼시피카로 잘 알려진 AMD의 CPU 가상화 기술은 기존 소프트웨어 기반의 가상화 방식에 더해 프로세서 아키텍처 내에서 가상화를 지원, 효율성을 더욱 향상시켜 준다. AMD의 I/O 가상화 기술은 I/O 디바이스의 관리, 파티셔닝 및 보안과 관련된 가상화 소프트웨어를 지원하기 위한 하드웨어적 장치를 제공해줌으로써 AMD CPU가상화 기술의 효율성을 보완하고 확대시키게 된다. AMD는 이와 같은 I/O 가상화 기술을 통해 가상의 I/O 환경을 제공하는 데 있어 성능을 향상시키고, 구현의 복잡함을 감소시켜주는 결과를 가져올 것으로 기대하고 있다.
AMD 마이크로 프로세서 솔루션 부문 수석 부사장인 마티 세이어(Marty Seyer)는 “AMD의 I/O 가상화 기술은 상업용 서버에 성능상의 이점을 제공할 뿐만 아니라, 디바이스 가상화 부문에서 어려움이 있는 데스크탑 및 노트북 PC 상의 가상화를 위해서도 새로운 전환점이 될 것이다” 라며 “업계 에코시스템에 적극 동참해온 AMD는 하드웨어 및 소프트웨어 개발 커뮤니티 전반에 I/O 가상화 기술 라이센스를 공개 제공함으로써 AMD 가상화 기술 개발을 위한 협업 방식을 지속할 수 있게 된 것을 매우 기쁘게 생각한다.” 라고 말했다.
한편, 가상화 솔루션 구현을 위해 설계된 첨단의 기술을 업계에 제공하기 위한 AMD의 협업 방식은 MS, VM웨어(VMware), 젠소스(XenSource)를 포함하는 가상화 기술 분야 선두 업체들과의 전략적 제휴를 통해 입증되고 있다.
MS의 윈도우 서버 부문 수석 책임자인 제프 프라이스(Jeff Price)는 “가상화는 고객들이 물리적 한계를 극복하고, IT 시스템의 역량을 충분히 사용하도록 도와줄 뿐만 아니라 운영 효율성을 증가시켜 보다 역동적으로 비즈니스 요구사항에 응대할 수 있게 해주는 데 있어 핵심 수단이 된다” 라며 “AMD와의 긴밀한 협력을 통해 IT 시스템의 비용 효율성 증대뿐만 아니라, 보안, 관리성, 상호 운영성을 보장할 수 있는 혁신적인 새로운 수준의 기술을 개발 중에 있다”고 말했다.
젠소스사의 CTO인 시몬 크로스비(Simon Crosby)는 “I/O 디바이스 부문에 가상화를 지원하는 것은 하드웨어 가상화 부문을 한 단계 진전시켜주는 것이다” 라며 “ AMD의 I/O 가상화 기술의 공개는 오픈 및 오픈소스 x86 기반 가상화 기술을 개발에 있어 업계를 선도하기 위한 AMD와 젠소스간의 협력을 보다 돈독히 해줄 것이다” 라고 말했다.
이번 AMD의 I/O 가상화 기술은 2006년 중순까지 AMD의 모든 프로세서에 의해 지원될 것으로 예상되며, 2006년에 AMD64 기반 플랫폼을 위해 설계될 코어 로직 및 칩셋 상에 도입될 예정이다. AMD I/O 가상화 기술 사양은 기술 개관 및 64비트 기술을 위해 가상화 솔루션을 설계중인 소프트웨어 개발자들을 위한 안내서와 함께 다운로드 받을 수 있으며, http://developer.amd.com 에서 제공된다.
AMD에 대해
AMD는 컴퓨팅, 통신, 소비자 가전 제품을 위한 혁신적인 마이크로프로세서를 제공하는 세계적인 선두업체이다. 1969년에 설립된 AMD는 현재 전세계 고객의 요구에 기반한 뛰어난 컴퓨팅 솔루션을 제공하는데 헌신하고 있다. www.amd.co.kr.
- AMD CPU 가상화 기술의 효율성을 보다 증대시킬 것으로 기대 –
IDC 가상화 포럼, 뉴욕 -- 2006-02-08 -- AMD는 금일 뉴욕에서 개최된 IDC 가상화 포럼에서 새로운 I/O 가상화 기술 사양을 발표하고, 새로운 I/O 가상화 기술을 하드웨어 및 소프트웨어 개발자들이 폭넓게 채택할 수 있도록 무상으로 라이센스를 제공할 예정이라고 밝혔다.
AMD의 I/O 가상화 기술은 컴퓨터의 I/O 브릿지에 직접 적용되는 명령어 기술 세트로, x86 기반의 서버나 데스크탑, 노트북 PC의 I/O 디바이스를 가상화할 시에 발생될 보안 문제나 성능 병목현상을 해소시켜 줌으로써 AMD의 CPU기반 가상화 기술의 이점을 더욱 확장시킬 수 있도록 설계됐다.
코드명 퍼시피카로 잘 알려진 AMD의 CPU 가상화 기술은 기존 소프트웨어 기반의 가상화 방식에 더해 프로세서 아키텍처 내에서 가상화를 지원, 효율성을 더욱 향상시켜 준다. AMD의 I/O 가상화 기술은 I/O 디바이스의 관리, 파티셔닝 및 보안과 관련된 가상화 소프트웨어를 지원하기 위한 하드웨어적 장치를 제공해줌으로써 AMD CPU가상화 기술의 효율성을 보완하고 확대시키게 된다. AMD는 이와 같은 I/O 가상화 기술을 통해 가상의 I/O 환경을 제공하는 데 있어 성능을 향상시키고, 구현의 복잡함을 감소시켜주는 결과를 가져올 것으로 기대하고 있다.
AMD 마이크로 프로세서 솔루션 부문 수석 부사장인 마티 세이어(Marty Seyer)는 “AMD의 I/O 가상화 기술은 상업용 서버에 성능상의 이점을 제공할 뿐만 아니라, 디바이스 가상화 부문에서 어려움이 있는 데스크탑 및 노트북 PC 상의 가상화를 위해서도 새로운 전환점이 될 것이다” 라며 “업계 에코시스템에 적극 동참해온 AMD는 하드웨어 및 소프트웨어 개발 커뮤니티 전반에 I/O 가상화 기술 라이센스를 공개 제공함으로써 AMD 가상화 기술 개발을 위한 협업 방식을 지속할 수 있게 된 것을 매우 기쁘게 생각한다.” 라고 말했다.
한편, 가상화 솔루션 구현을 위해 설계된 첨단의 기술을 업계에 제공하기 위한 AMD의 협업 방식은 MS, VM웨어(VMware), 젠소스(XenSource)를 포함하는 가상화 기술 분야 선두 업체들과의 전략적 제휴를 통해 입증되고 있다.
MS의 윈도우 서버 부문 수석 책임자인 제프 프라이스(Jeff Price)는 “가상화는 고객들이 물리적 한계를 극복하고, IT 시스템의 역량을 충분히 사용하도록 도와줄 뿐만 아니라 운영 효율성을 증가시켜 보다 역동적으로 비즈니스 요구사항에 응대할 수 있게 해주는 데 있어 핵심 수단이 된다” 라며 “AMD와의 긴밀한 협력을 통해 IT 시스템의 비용 효율성 증대뿐만 아니라, 보안, 관리성, 상호 운영성을 보장할 수 있는 혁신적인 새로운 수준의 기술을 개발 중에 있다”고 말했다.
젠소스사의 CTO인 시몬 크로스비(Simon Crosby)는 “I/O 디바이스 부문에 가상화를 지원하는 것은 하드웨어 가상화 부문을 한 단계 진전시켜주는 것이다” 라며 “ AMD의 I/O 가상화 기술의 공개는 오픈 및 오픈소스 x86 기반 가상화 기술을 개발에 있어 업계를 선도하기 위한 AMD와 젠소스간의 협력을 보다 돈독히 해줄 것이다” 라고 말했다.
이번 AMD의 I/O 가상화 기술은 2006년 중순까지 AMD의 모든 프로세서에 의해 지원될 것으로 예상되며, 2006년에 AMD64 기반 플랫폼을 위해 설계될 코어 로직 및 칩셋 상에 도입될 예정이다. AMD I/O 가상화 기술 사양은 기술 개관 및 64비트 기술을 위해 가상화 솔루션을 설계중인 소프트웨어 개발자들을 위한 안내서와 함께 다운로드 받을 수 있으며, http://developer.amd.com 에서 제공된다.
AMD에 대해
AMD는 컴퓨팅, 통신, 소비자 가전 제품을 위한 혁신적인 마이크로프로세서를 제공하는 세계적인 선두업체이다. 1969년에 설립된 AMD는 현재 전세계 고객의 요구에 기반한 뛰어난 컴퓨팅 솔루션을 제공하는데 헌신하고 있다. www.amd.co.kr.
네트워크 트래픽 완화해주는 I/O 가상화 소프트웨어
지난 3월 “인텔리전트 NIC”계열의 네트워크 카드를 내놓은 Ethernet 가속기 칩 및 보드 회사인 NetXen사는 이 카드들을 위해 계획된 몇몇 프리 소프트웨어 패키지 중 첫번째 패키지를 내놓았다. NetSlice는 많은 서버 OS 스위트에 존재하는 가상머신 모니터를 바이패싱 함으로써 I/O 가상화를 수행한다.
이 회사는 I/O가 고성능 서버 클러스터에서 주요 병목 부분이 되어가고 있기 때문에 I/O 가상화를 가지고 시작하기로 선택했다.
가상화는 여러 시스템 이미지들이 한 서버 하드웨어 시스템에 존재하도록 해주며, 서버와 스토리지 성능을 최적화시키는 수단으로 종종 조성된다. 그러나 가상화는 데이터 센터가 공중망과 상호작용하는 곳에서 예를 들어 캐리어 간의 서비스 레벨 협약을 세우는 것 같은 케이스에서 역할을 한다고 NetXen의 마케팅 시니어 디렉터인 Vik Karvat 씨는 말했다. 엔터프라이즈 내에서 서버 뱅크들을 위한 전력과 랙 공간, 냉각 성능에서의 이점들은 가상화가 최대한 활용될 경우 WAN에 걸쳐 확장될 수 있다.
오픈소스 Xen, VMware, Microsoft VS 같은 소프트웨어 shim들은 자원들을 감시하여 한 서버 내에 여러 게스트 운영체제가 상주할 수 있도록 한다. 가상머신 모니터 또는 “hypervisors”는 가상머신들 간에 자원들을 할당하며, I/O 요청을 물리적 디바이스 드라이버에 전달한다.
인텔과 AMD가 올해 초 내놓은 새로운 가상화 툴들은 마이크로프로세서 성능을 향상시키고, 게스트 운영체제들이 자신들이 “링 제로(ring zero)” 모드에서 실행되고 있다고 믿게 한다. 그러나 이 툴들은 I/O 요청들의 처리 속도를 올리는 데는 거의 하는 일이 없으며, 이것은 10GbE 채널들이 사용될 때 병목을 만들어낸다. Karvat 씨는 주변장치 칩셋 제조업체들이 전용 I/O 메모리 관리 장치를 개발함으로써 이 문제를 풀려고 하고 있지만 그러한 장치들은 2007년이나 2008년이 되기 전에는 샘플이 나오지 않을 것이라고 말했다.
NetSlice를 가지고 NetXen이 한 대답은 가상 스위치로 동작하는 소프트웨어 패키지를 만드는 것이다. 최대 1,024개의 가상 네트워크 인터페이스 카드들이 가상머신마다 독립적으로 만들어지고 관리될 수 있다. 각각의 가상 NIC는 다중 송수신 대기열을 지원하며, 여러 직접 메모리 액세스 엔진들은 I/O의 재매핑을 허용한다. 이 소프트웨어는 여러 유니캐스트 및 멀티캐스트 미디어 액세스 컨트롤 어드레스들을 지원할 수 있다.
TCP 오프로드 보드 제조업체 중 그 어느 곳도 가상머신 리매퍼(remapper)를 제공하지는 않는다고 Karvat 씨는 말했다. 따라서 NetXen은 칩 레벨과 보드 레벨 경쟁업체 모두보다 지속적인 I/O 이점들을 보여줄 수 있어야 한다. 이 소프트웨어는 현재 기존의 Intelligent NIC 고객들을 위해 공급되고 있다.
Karvat 씨에 의하면 보안이나 풀 프로토콜 스택 바이패스 같은 영역들을 커버하는 소프트웨어 스위트들이 2007년에 선보일 것이라고 한다.
이 회사는 I/O가 고성능 서버 클러스터에서 주요 병목 부분이 되어가고 있기 때문에 I/O 가상화를 가지고 시작하기로 선택했다.
가상화는 여러 시스템 이미지들이 한 서버 하드웨어 시스템에 존재하도록 해주며, 서버와 스토리지 성능을 최적화시키는 수단으로 종종 조성된다. 그러나 가상화는 데이터 센터가 공중망과 상호작용하는 곳에서 예를 들어 캐리어 간의 서비스 레벨 협약을 세우는 것 같은 케이스에서 역할을 한다고 NetXen의 마케팅 시니어 디렉터인 Vik Karvat 씨는 말했다. 엔터프라이즈 내에서 서버 뱅크들을 위한 전력과 랙 공간, 냉각 성능에서의 이점들은 가상화가 최대한 활용될 경우 WAN에 걸쳐 확장될 수 있다.
오픈소스 Xen, VMware, Microsoft VS 같은 소프트웨어 shim들은 자원들을 감시하여 한 서버 내에 여러 게스트 운영체제가 상주할 수 있도록 한다. 가상머신 모니터 또는 “hypervisors”는 가상머신들 간에 자원들을 할당하며, I/O 요청을 물리적 디바이스 드라이버에 전달한다.
인텔과 AMD가 올해 초 내놓은 새로운 가상화 툴들은 마이크로프로세서 성능을 향상시키고, 게스트 운영체제들이 자신들이 “링 제로(ring zero)” 모드에서 실행되고 있다고 믿게 한다. 그러나 이 툴들은 I/O 요청들의 처리 속도를 올리는 데는 거의 하는 일이 없으며, 이것은 10GbE 채널들이 사용될 때 병목을 만들어낸다. Karvat 씨는 주변장치 칩셋 제조업체들이 전용 I/O 메모리 관리 장치를 개발함으로써 이 문제를 풀려고 하고 있지만 그러한 장치들은 2007년이나 2008년이 되기 전에는 샘플이 나오지 않을 것이라고 말했다.
NetSlice를 가지고 NetXen이 한 대답은 가상 스위치로 동작하는 소프트웨어 패키지를 만드는 것이다. 최대 1,024개의 가상 네트워크 인터페이스 카드들이 가상머신마다 독립적으로 만들어지고 관리될 수 있다. 각각의 가상 NIC는 다중 송수신 대기열을 지원하며, 여러 직접 메모리 액세스 엔진들은 I/O의 재매핑을 허용한다. 이 소프트웨어는 여러 유니캐스트 및 멀티캐스트 미디어 액세스 컨트롤 어드레스들을 지원할 수 있다.
TCP 오프로드 보드 제조업체 중 그 어느 곳도 가상머신 리매퍼(remapper)를 제공하지는 않는다고 Karvat 씨는 말했다. 따라서 NetXen은 칩 레벨과 보드 레벨 경쟁업체 모두보다 지속적인 I/O 이점들을 보여줄 수 있어야 한다. 이 소프트웨어는 현재 기존의 Intelligent NIC 고객들을 위해 공급되고 있다.
Karvat 씨에 의하면 보안이나 풀 프로토콜 스택 바이패스 같은 영역들을 커버하는 소프트웨어 스위트들이 2007년에 선보일 것이라고 한다.
Subscribe to:
Posts (Atom)