87
2005. 12 IT 자원가상화 기술

gift.kisti.re.krgift.kisti.re.kr/data/IAC/files/KISTI-200512-SDP-IT... · 2008-11-18 · 머리말 p c 와 인터넷은 사회 각 분야에서 우리의 필요불가결한 일상적

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

2005. 12

IT 자원 가상화 기술

머 리 말

P C와 인터넷은 사회 각 분야에서 우리의 필요불가결한 일상적

도구가 되어가고 있습니다. 1980-90년대부터 널리 보급된 이들의

결합은 전 세계를 하나의 근접한 단일체로 만드는 정보의 슈퍼공

간을 창조하였습니다. 이러한 IT 인프라의 초능력적 정보교류와

활용능력은 바야흐로 정치, 경제, 사회, 문화 전반에 걸쳐서 혁명

적 발전을 가져오게 하는 원동력이 되고 있습니다.

그럼에도 불구하고 이들 IT 인프라는 단순한 연결성을 바탕으

로 한 자료교환과 공동이용이라는 초보적 기술이라고 할 수 있습

니다. 즉 인터넷에 결집된 다원화된 이질적 기종들 간에는 자유로

운 소프트웨어 교환과 연동이 불가능한 본질적 불편을 가지고 있

습니다. 그러나 앞으로 다가올 다원화 고기술의 시대에는 이질적

I T자원 간의 호환성과 소프트웨어 이식성을 바탕으로 상호 협동

작업과 연동을 가능케 하여 장비 없는 슈퍼컴퓨팅, 범세계적인 고

성능 실시간 실험 심포지엄 등 꿈같은 사례가 요구되고 또한 가

능할 것입니다.

이와 같은 시스템은 컴퓨터 하드웨어, 소프트웨어, 유무선 통신

등의 기술이 망라돼야 이루어지겠지만 그 중에서도 이질적 자원

을 통일시킬 수 있는‘IT 자원의 가상화기술’이 그 핵심기술이

될 것입니다. 본 보고서에서는 금년부터 재조명 되는 이 IT 자원

의 가상화기술을 조사하여 분석함으로써 우리나라 IT 산업의 미

래를 선도하는데 조금이나마 도움이 되고자 하였습니다.

끝으로 본 보고서는 본 원의 신동필 전문위원과 여운동 연구원

이 함께 집필한 것으로서 이 분들의 노고에 감사드리며, 수록된

내용은 한국과학기술정보연구원의 공식의견이 아님을 밝혀두고자

합니다.

2 0 0 5년 1 2월

한국과학기술정보연구원

원 장

제1장 서 론 …………………………………………………………………1

제2장 기술개요………………………………………………………………5

1. 가상화기술의 역사적 배경…………………………………………………5

가. 대형 컴퓨터의 가상화기술 …………………………………………………………………5

나. 가상화기술의 소멸 …………………………………………………………………………8

2. 신 가상화기술의 수요:그리드 컴퓨팅…………………………………1 0

가. 그리드 컴퓨팅의 개요 ……………………………………………………………………1 0

나. 기술개발 동향 ………………………………………………………………………………1 1

다. 관련기슬과의 관계 …………………………………………………………………………1 2

라. 그리드 컴퓨팅 특징 ………………………………………………………………………1 3

3. 신 가상화기술:가상컴퓨터( V M ) ………………………………………1 4

가. 현재 IT 인프라의 문제점 …………………………………………………………………1 4

나. 가상화기술의 부활 …………………………………………………………………………1 5

다. 가상컴퓨터 구조 ……………………………………………………………………………1 7

라. 가상컴퓨터의 종류 …………………………………………………………………………2 0

제3장 연구개발동향………………………………………………………2 5

1. 가상컴퓨터 감시기( V M M ):V M w a r e를 중심으로 …………………2 5

가. VMM기술의 중요성…………………………………………………………………………2 5

나. VMM 사용모델 및 기능……………………………………………………………………2 6

다. CPU 가상화 …………………………………………………………………………………2 8

i

목 차

라. 메모리 가상화………………………………………………………………………………3 0

마. I/O 가상화……………………………………………………………………………………3 2

바. VMM의 미래 동향 …………………………………………………………………………3 3

2. Denali VMM ………………………………………………………………3 5

가. 기술개요 ……………………………………………………………………………………3 5

나. 의사가상화 …………………………………………………………………………………3 5

다. 의사가상화를 위한 구조변경 ……………………………………………………………3 6

라. VMM 확장……………………………………………………………………………………3 8

3. Intel 프로세서의 가상화 기술……………………………………………4 0

가. 프로세서 가상화 설계의 필요성 …………………………………………………………4 0

나. Intel 구조(IA) 기반 가상화기술의 문제점 ………………………………………………4 1

다. 가상화 문제점의 소프트웨어 해법 ………………………………………………………4 3

라. 가상화를 위한 신종 Intel 프로세서………………………………………………………4 3

마. VT-x, VT-i 로 가상화 문제점해결 ………………………………………………………4 6

4. 공동기간시설의 가상분산 환경 구성……………………………………4 8

가. 가상분산 환경의 필요성 …………………………………………………………………4 8

나. 가상분산 환경의 미들웨어 ………………………………………………………………4 9

다. 가상컴퓨터로부터 가상분산 환경으로 …………………………………………………5 0

라. Violin 상세……………………………………………………………………………………5 1

마. 실험결과 ……………………………………………………………………………………5 3

바. 진행 중인 연구 ……………………………………………………………………………5 4

제4장 산업계Vi r tual 기술제품동향…………………………………5 5

1. Virtual Server 시장동향…………………………………………………5 5

2. IBM의 가상화기술…………………………………………………………5 6

가. IBM Virtual Machine…………………………………………………………………………5 6

나. Jikes Research Virtual Machine(RVM)……………………………………………………5 7

다. 설계의 요점 …………………………………………………………………………………5 7

3. VMware, Inc. ………………………………………………………………5 8

i i

4. Hewlett-Packard Integrity Server ……………………………………6 0

5. Microsoft Virtual PC ……………………………………………………6 1

제5장 기술문헌분석………………………………………………………6 3

1. 정보 분석 대상 D B - I N S P E C……………………………………………6 3

2. 분석범위 및 방법 …………………………………………………………6 4

3. 연도별논문 및 누적 논문 분석 …………………………………………6 4

4. 기술분류 분석………………………………………………………………6 5

5. 키워드 분석…………………………………………………………………6 6

6. 저자 분석……………………………………………………………………6 7

제6장 정책제언 ……………………………………………………………6 9

1. 차세대 컴퓨팅의 핵심기술 ………………………………………………6 9

2. 가상화기술의 산업화 전략 ………………………………………………7 0

3. VM 소프트웨어/하드웨어 제품 개발전략………………………………7 1

4. 고차원적 응용사례 개발전략 ……………………………………………7 2

참고문헌 ……………………………………………………………………7 5

i i i

표 목차

<표 5-1> INSPEC 수록분야 ………………………………………………………………6 3

<표 5-2> 대상 DB 검색결과 건수…………………………………………………………6 4

그림목차

<그림 2-1> 컴퓨터 시스템 구조……………………………………………………………1 8

<그림 2-2> Process VM과 System VM …………………………………………………1 9

<그림 2-3> 가상컴퓨터 분류 ………………………………………………………………2 1

<그림 3-1> 가상화 사용모델 ………………………………………………………………2 7

<그림 3-2> VMware의 Hosted VMM ……………………………………………………3 1

<그림 3-3> Idle-with timeout 방식의 성능향상 …………………………………………3 7

<그림 3-4> 소프트웨어 구조 ………………………………………………………………3 9

<그림 3-5> 가상화 방법 ……………………………………………………………………4 5

<그림 3-6> 여러 계층의 가상분산 환경을 갖는 공동기간시설 망……………………5 2

<그림 3-7> 다수 가상분산 환경( V i o l i n s )에서 HPL 성능시험…………………………5 4

<그림 4-1> Vitual PC ………………………………………………………………………6 1

<그림 5-1> 연도별 논문 발표 편수 및 누적 편수………………………………………6 5

<그림 5-2> 발표 논문의 기술분류 현황 …………………………………………………6 6

<그림 5-3> 발표 논문의 키워드 현황 ……………………………………………………6 7

<그림 5-4> 발표 논문의 저자별 발표 현황………………………………………………6 8

i v

○“IT 자원(資源)”이란 우리가 쓰는 컴퓨터의 CPU, 메모리, 디

스크, 프린터 등과 같은 하드웨어, 운영체계(Operating System,

O/S), 응용 프로그람 같은 소프트웨어, 정보의 보관소인 데이

터베이스, 그리고 이들을 상호 연결하여 통신할 수 있게 하는

네트워크 또는 네트워크 장비 등을 총칭하는 말이다. 이들은

사회의 근간을 이루는 정보 인프라의 구성 요소들로서, 상호

연동하면 사회 각 분야에서 유용한 정보관련 결과물을 생산할

수 있다는 뜻에서 자원이란 개념으로 본 것이다.

○“가상(假想)”은 본래 영어의“Virtual Machine" 또는“V i r t u a l

M e m o r y "를“가상컴퓨터”또는“가상메모리”라고 번역한 데

서 유래된 단어이다. Virtual의 의미를 영한사전에서는 세 가

지의 상반 또는 유사한 뜻으로 해석하고 있어 다소 혼란을 초

래할 수 있다. 즉“實際의”, “假像 또는 虛像의”, “假想의”등

으로 해석하고 있다.( 2 , 3 ) 여기서“實際의”는 본고에는 해당되지

않는 해석이다.

○“假像”은 가짜 형태의 존재를 뜻하고, “虛像”은 오목렌즈의

제1장 개 요 1

제1장

서 론

초점에 나타나는 像으로 존재하지 않으나 해당되는 實體가 존

재하는 경우를 말한다. “假想”은 현실 속에 존재하지 않는 상

상속의 이미지 즉 유토피아나 유령 같은 것을 뜻한다. 본 논

문에서“가상(假想)”의 뜻은 실물은 존재하지 않으나 그 목표

이미지는 뚜렷하게 인식될 수 있는 개념이므로 假想과 虛像이

혼합된 개념이나 虛像 쪽으로 더 가까운 뜻이다.

○ 상기 용어정의를 바탕으로 볼 때, “IT 자원의 가상화 기술”이

란“실제로는 존재하지 않는 IT 자원을 존재하는 것처럼 사용

할 수 있게 하는 기술”을 말한다. 일견 매력적인 것 같은 이

기술이 왜 I T에서 필요한가? CPU나 메모리가 모자라면

U p g r a d e시키면 되지 도대체 왜 어려운 기술을 개발하려 하는

것일까? 하는 의문이 생길 수 있다.

○ 이 기술은 과거 대형 컴퓨터 시절에 소수의 고가자원인 C P U

나 메모리를 T i m e s h a r i n g이나 대체자원을 이용해서 충분한 것

처럼 보이게 하는 기술이었다.( 4 , 5 ) 이 기술은 소프트웨어로 구

현하였으며, 각 자원에 따라 가상 CPU, 가상 메모리, 가상

O/S 등과 같이 각기 다른 형태로 구현되었다. 그 후 1 9 8 0년대

후반 P C의 등장으로 가상화 기술은 점차 필요 없게 되어 한

때 대부분 사라졌었다.7

○ P C의 범람과 인터넷의 보급으로 전 세계의 P C나 서버들은

하나의 슈퍼 통신망으로 연결되게 되었고 이러한 World Wide

W e b을 기반으로 각 사용자들은 e - m a i l을 통한 통신과 서버의

자료를 공동 이용하기가 편리해졌다. 그러나 Web 기간망을

2 IT 자원 가상화 기술

통한 이러한 기초적 편리성보다 훨씬 더 가치 있고 고차원적

인 이용사례들이 현실적으로 요구되고 있다.

○ 예를 들면 Web 기간망에 연결된 각종 컴퓨터의 다양한 소프

트웨어 서비스나 유틸리티, 슈퍼컴퓨터, 고급 실험장비, 그리

고 데이터베이스 등 무궁무진한 자원을( 6 ) 단 한번의 클릭으로

작동시켜 그 결과를 애니메이션으로 내 손안에든 단말기로 받

아 볼 수 있다면 얼마나 좋을까?

○ 그러나 현실적으로는 단말기, PC, 서버 그리고 슈퍼컴퓨터들

은 하드웨어나 O / S가 상이하여 이것은 실현될 수 없다. 한 플

랫폼에서 개발되어 컴파일 된 응용 프로그램은 다른 이질적

플랫폼에서는 가동이 되지 않는다. 즉, 현 장비나 기간망은 응

용의 2진수 호환성, 이식성이 없어서 상기의 꿈같은 패러다임

을 즐길 수 없는 것이다.

○ 그러나 만약 Web 기간망의 모든 컴퓨터를 동일한 플랫폼으

로 만들 수만 있다면 이러한 문제점도 해결될 수 있게 된다.

이 매력적인 플랫폼 동일화기술이 바로 IT 자원의 가상화기술

이다. 그래서 잊혀졌던 가상화기술은 현실적 필요성을 바탕으

로 부활하게 되는 것이다.

○ IT 자원의 가상화기술은 최근 특히 금년에 솟아오르는 새 기

술로 제 2차 정보혁명을 불러일으킬 차세대 컴퓨팅과 그리드

컴퓨팅의 핵심기술로서 각광을 받고 있다.

제1장 서 론 3

4 IT 자원 가상화 기술

1. 가상화기술의역사적배경

가. 대형컴퓨터의가상화기술

○ 1 9 5 0년대부터 1 9 8 0년대 중반까지 전 세계는 IBM370, CDC,

UNIVAC, FUJITSU 등의 대형 컴퓨터 일색이었다. 이들 가격

은 그 당시 수십만 달러에서 수백만 달러에 달했다. 이와 같은

고가의 장비를 여러 사람이 같이 사용해야하므로 작업처리 능

률을 높이기 위하여 전술한 바와 같이 CPU, 메모리, O/S 와

같은 자원을 분할하여 동시에 여러 프로그램이 쓸 수 있게 하

는 가상화기술은 절실하고도 필수적인 기능으로 제공되었

다.( 4 , 5 )

○ 이런 가상화기술은 그 당시 IT 요원이나 컴퓨터 전문가들에게

는 생소하지 않은 기술이다. 그러나 앞으로 전개되는 가상화기

술의 논리적 근거를 마련하고 이해를 돕는 차원에서 간략하게

소개하고자 한다.

제2장 기술개요 5

제2장

기술개요

(1) 가상 C P U

○ M u l t i p r o g r a m m i n g( 7 ):컴퓨터가 프로그램을 처리할 때 CPU 속

도가 워낙 빨라서 데이터를 입출력할 때는 C P U는 하는 일이

없이 비어있다. 이 빈 CPU 시간을 제2 제 3의 프로그램 처리

에 할당하여 컴퓨터가 정해진 시간 내에 여러 개의 프로그램

을 처리하게 함으로써 활용도를 높일 수가 있다. 이 것을

CPU Multiplexing이라고 한다. O/S는 I n t e r r u p t라는 기능을 사

용하여 CPU Multiplexing을 수행한다. 그래서 사용자들은 컴퓨

터에 여러 개의 C P U가 존재하여 각 프로그램을 각각의 C P U

가 동시에 처리하는 것 같은 착각을 하게 된다. 이것이 C P U

가상화이다.

○ M u l t i p r o c e s s i n g( 7 ):M u l t i p r o g r a m m i n g은 CPU 활용시간을 여러

프로그램과 주변장치들 간에 교체할당(Interleave) 해가면서 동

시에 사용하는(Concurrent) 것이다. Multiprocessing은 P r o g r a m

대신 Process 개념을 도입하여 CPU 사용시간을 Process 간에

교체 할당하여 여러 p r o c e s s가 병렬로 동시에 처리되는 것처럼

운영하는 것을 말한다. Process는 O / S가 볼 때 독립된 기능을

수행하는 프로그램 조각이라고 판단되는 단위이다.

○ M u l t i t a s k i n g( 8 ):M u l t i p r o c e s s i n g과 비슷한 개념이다. 한 프로그

램이 Tree 구조와 같은 비동기의 여러 세부 작업( A s y n c h r o n o u s

Multi-thread task)들로 구성되었을 때, 이를 처리하기 위하여

한 개의 C P U를 사용하여 마치 Multiprocessor (병렬 다중 프로

세서 컴퓨터)에서 작업을 처리하는 것 같은 흉내를 내는 것이

6 IT 자원 가상화 기술

다. 한 T a s k는 여러 개의 S u b t a s k들을 생성하여 이들이 전부

처리되면 자신의 임무가 완성되고 소멸된다. 한 T a s k가 생성

되면 그에 해당하는 가상프로세서가 디스크에 할당되고, 처리

할 차례가 되면 이 가상프로세서를 C P U로 불러들여 처리한

다. 처리가 끝난 T a s k는 소멸된다. 맨 위의 Task 노드가 소멸

되면 전체 프로그램이 끝난다. 이 것은 Burroughs ALGOL과

같은 Program Language로 구현된다.

(2) 가상 메모리( 9 )

○ Main Memory가 3 2 M b y t e인 컴퓨터에서 128Mbyte 크기의 테

이블을 계산하는 프로그램을 작동시킬 때가 있다. 이 경우

O / S는 모자라는 96Mbyte 만큼의 메모리 용량을 하드디스크에

공간을 마련한다. 프로그램이 Main Memory에 있는 3 2 M b y t e

공간에서 작업을 하다가 범위를 초과하는 번지의 내용을 읽거

나 Update 할 필요가 있으면 디스크에서 해당 부분을 메모리

로 불러들이고 메모리에 있던 테이블은 디스크로 쫓아낸다. 이

때 디스크에 잡힌 공간을 가상 메모리라고 한다.

(3) 가상 O / S

○ E m u l a t i o n:하드웨어 자원을 절약하거나 프로그램 변환에 따

른 시간과 인력을 절약하기위하여 IBM 370에서 CDC7700 응

용프로그램들을 그대로 작동시킬 필요가 있다. 이 때 C D C 7 7 0 0

의 O / S나 기계언어를 통역할 수 있는 E m u l a t o r를 I B M에 가

제2장 기술개요 7

동시키고 CDC 7700 응용프로그램들의 Machine Code를 그대

로 작동시키면 된다. 그렇게 함으로써 IBM 컴퓨터에서 실제로

없는 가상의 C D C 7 7 0 0을 사용할 수 있게 되는 것이다.

나. 가상화기술의소멸

○ 그러나 1 9 7 0년대 후반부터 중형 소형 컴퓨터가 등장하기 시작

하였다. PDP-11, DEC, SUN Microsystem 등이 그 당시 대표적

인 제품들이다. 이들은 성능은 대형 컴퓨터와 비슷하면서 가격

은 1/3-1/5 수준으로 공급되어 년 간 수천대의 대형 컴퓨터

시장을 잠식하며 팔리기 시작하였다. 대형 컴퓨터들은 치명적

타격을 입고 쇠퇴의 길로 접어들었다.

○ 1 9 8 0년대로 접어들면서 Intel 8088과 같은 마이크로프로세서 기

술이 x86 급으로 급성장하면서 Apple, Mackintosh 같은 개인

용 컴퓨터( P C )가 등장했고, Microsoft가 P C용 O / S로 W i n d o w

를 출시함으로써 전 세계 컴퓨터 시장은 순식간에 PC 일변도

로 변했다. 대형 컴퓨터의 성능과 맞먹는 이들 P C의 가격은

대형 컴퓨터의 1 / 4 0 - 1 / 1 0 0인 4 0 0만 원대의 가전제품 가격으로

공급되었다.

○ 1 9 9 0년대로 들어서면서 사람들이 더 이상 대형 컴퓨터나 중형

컴퓨터를 살 필요가 없게 되자 이들은 시장에서 사라지기 시

작했다. PC의 범람과 때를 맞추어 등장한 인터넷으로 인하여

이들 대형컴퓨터는 드디어 한 개의 서버로 전락하고 말았다.

8 IT 자원 가상화 기술

○ 각 사용자는 P C를 소유하여 전용으로 사용하게 되었다. 이와

같은 시장에 부응하여 소프트웨어 공급자들은 각 PC 프렛 폼

에 맞는 버전을 각각 마련하여 시장에 내 놓았다. 이에 따른

각 자원의 가상화기술은 다음과 같은 변화를 가져왔다.

(1) 가상 C P U

○ P C의 등장과 범람으로 각자가 컴퓨터를 소유함에 따라 대형

컴퓨터에서 CPU 다중화에 사용되었던 M u l t i p r o g r a m m i n g /

M u l t i p r o c e s s i n g은 PC O/S에서 더 이상 필요 없게 되어 사라졌

다7. 다만 Oracle 같은 데이터베이스 관리 시스템( D B M S )에서

Multi-session 기능으로 Multi-user 기능을 지원하고 있다.

○ M u l t i t a s k i n g은 원래 O/S 기능이 아니고 Burrougs ALGOL 프

로그램 언어 기능이다( 8 ). 따라서 현재의 P C에서도 ALGOL 컴

파일러만 존재하면 똑같이 실현할 수 있다. 다만 T a s k에 해당

하는 가상 프로세서 할당을 디스크가 아닌 Main Memory에서

Push-down Stack으로 구현한다면 가상 프로세서와 가상 메모

리 기능을 동시에 발휘할 것이다.

(2) 가상 O / S

○ P C의 개인 별 소유에 부응하여 소프트웨어 공급자들은 각 P C

플랫폼에 맞는 버전을 각각 마련하여 시장에 내 놓았다. 따라

서 타 O / S를 번역 실행하던 E m u l a t o r도 더 이상 필요 없게 되

어 사라졌다.

제2장 기술개요 9

(3) 가상 메모리

○ 항상 하드웨어 메모리 용량은 한계가 있고 응용프로그램의 용

량은 한 없이 클 수가 있다. 따라서 디스크를 사용하여 메모리

용량을 늘리는 가상 메모리 기술은 지금도 W i n d o w나 L i n u x

O / S에서 지원되고 있다.( 9 , 2 5 ) 또한 이 기술은 뒤에 등장하는 가

상 컴퓨터의 O / S와 가상화 소프트웨어에서 유사한 개념으로

채택되고 있다.

2. 신가상화기술의수요:그리드컴퓨팅( 6 )

가. 그리드컴퓨팅의개요

○ 그리드는 1 9 9 6년 6월 미국 알곤 국립연구소의 Ian Forster가 저

술한“The Grid Blueprint for a New Computing Infrastructure"

에서 처음 제안되었고, 슈퍼 컴퓨팅 컨퍼런스에서 I - w a y

GUEST Test Bed라는 프로젝트의 전시를 통하여 널리 확산되

었다. 그리드는 네트워크를 통해 많은 컴퓨터들이 연결되어 상

호 협동작업을 할 수 있게 한다는 개념으로서 인터넷보다 한

차원 높은 IT 자원 인프라 개념이다.

○ 인터넷은 컴퓨터들이 네트워크를 통해 물리적으로 연결되고,

웹 서버를 중심으로 정보를 획득 교환 하는 수준이다. 그러나

그리드 컴퓨팅은 한 단계 더 발전된 개념으로, 연결된 각 컴퓨

1 0 IT 자원 가상화 기술

터나 IT 자원들을 상호 유기적으로 연동시켜 자원을 공유하고

상호 협동작업을 할 수 있는 개념을 말한다.

○ 예를 들면 그리드 컴퓨팅은 인터넷과 같은 고속 네트워크에

연결된 컴퓨터들을 이용하여 고속 병열 분산 처리할 수 있는

가상의 단일 컴퓨터를 만들 수 있는 기술이다. 따라서 그리드

컴퓨팅은 값싼 비용으로 슈퍼컴퓨터를 만들 수 있으며 이는

유전자 구조분석, 기상예측, 핵반응 연구 등에 이용될 수 있다.

○ 그리드 컴퓨팅은 여러 가지 이질적이 컴퓨터는 물론 모바일

기기, 비 컴퓨터 첨단 실험장치까지 자원으로 연결하여 통합

하는 개념이다. 따라서 이기종간의 호환성, 상호 연동 등을 가

능하게 하는 가상화기술이 필수적으로 요구되는 곳이다. 그래

서 본장에서 그리드의 기술개발 동향, 관련기술, 특성 등을 살

펴본다. 최신 연구동향은 다음 장에서 조사하여 설명하기로

한다.

나. 기술개발동향

○ 최근 전산개발환경은 공동작업, 데이터 공유, 시스템 상호연동

등의 요구가 발생되어 이에 대한 미들웨어나 응용소프트웨어

가 개발되고 있다. 이들 기능에는 서로 상이한 플랫폼과 A P I

간의 구김 없는 상호연동, 통합자원 관리, 데이터베이스 통합,

클러스터링, 보안 등의 어렵고 지능화된 네트워크 기술이 요구

된다.

제2장 기술개요 1 1

○ 이들 요구에 부응하기 위해서는 통신에서의 프로토콜 통일은

기본사항이고, 시스템기술로는 모든 이질적 플랫폼들을 가상

의 통일된 플랫폼으로 만들거나, 각 컴퓨터에 만능의 통역 소

프트웨어를 장착하여 어떤 환경의 응용소프트웨어도 수정 없

이 가동될 수 있어야한다. 이런 요구로 인하여 그리드가 바로

뒤에서 설명할“가상 컴퓨터”기술의 탄생을 유도하게 되는

것이다.

○ 결국 그리드는 가상의 슈퍼컴퓨터나 웹 서비스의 진화된 형태

로 이용되고 발전할 것이다. 종전의 웹 서비스는 인터넷을 통

해 하이퍼텍스트 정보를 쉽게 공유할 수 있게 한다. 그러나 그

리드 컴퓨팅은 더 나아가 컴퓨터 끼리 상호 연동하여 컴퓨팅

파워, 데이터베이스, 첨단실험장비, 인력자원까지 공유할 수 있

게 한다.

다. 관련기술과의관계

(1) 슈퍼컴퓨터 관점

○ 고속 계산의 기술에는 클러스터, Massively Parallel Processing

(MPP), 분산 컴퓨팅 등이 있다. 이들은 모두 계산영역을 네트

워크로 연결된 여러 개의 프로세서에 나누어 할당하여 동시에

처리하는 기술이다. 그리드는 이들 모두를 더욱 강력하게 수행

할 수 있다.

○ OGSA(Open Grid Service Architecture)는 그리드 컴퓨팅을 지

1 2 IT 자원 가상화 기술

원하는 표준 프로토콜이다. 여기에는 분산 이 기종 자원의 통

합관리 표준, QoS, 개방형 인터페이스 표준, 자율관리 솔루션

공동이용 기반 표준 등 이 포함된다.

○ 그리드는 그 운영형태에 따라 슈퍼컴퓨터를 대체하는 계산그

리드, 분산 데이터베이스를 통합 관리하는 데이터 그리드, 가

상현실 기반으로 협동연구를 지원하는 액세스 그리드 등으로

구분된다.

(2) 웹 서비스 관점

○ 산업계를 중심으로 웹 서비스와 그리드를 결합시켜 현실적인

비즈니스 서비스를 제공하고자하는 경향이다. IBM의 O n

Demand, HP의 Adaptive Enterprise, SUN의 NI, CA의 U n i -

center, Microsoft의 Dynamic System Initiative(DSI) 등이 그 예

들이다.

라. 그리드컴퓨팅의특징

○ 그리드는 분산 컴퓨팅으로서 IT 자원의 집합 및 활용, 데이터

베이스 공유, 협력의 세 가지 프로토콜을 기반으로 한다. 기존

의 분산 컴퓨팅은 단순히 컴퓨터들만 P - t o - P로 연결되어있는

반면, 그리드는 지능화된 네트워크에 고성능 컴퓨터, 첨단장비

가 결합되어 개발된 그리드 이용기술로 유전자분석, 핵반응 실

험 등 차세대 응용과제를 수행하는 것이 특징이다.

제2장 기술개요 1 3

○ 그리드 컴퓨팅의 현안 과제들로는. 1) 기술이 아직 초기단계

다. 2) 응용소프트웨어의 이식성과 호환성에대한 표준이 아직

미흡하다. 3) 다수 컴퓨터의 연동에 따른 보안 문제, 4) 미들

웨어 라이선스 비용의 최소화가 필요하고, 5) 표준, 6) 재산권,

7) 액세스 인증 등의 문제가 해결되어야 한다. 상기 문제점 중

대부분이 IT 자원의 가상화기술로 풀어야할 과제들이다.

3. 신가상화기술:가상컴퓨터( VM )

가. 현재IT 인프라의문제점

○ P C의 범람과 인터넷의 보급으로 전 세계의 P C나 서버들은 하

나의 슈퍼 통신망으로 연결되게 되었다. 이러한 World Wide

W e b을 기반으로 각 사용자들은 e - m a i l을 통한 통신과 서버의

자료를 공동 이용하고 교환하기가 편리해졌다. 그러나 W e b

기간망은 사실은 이러한 물리적 연결차원의 초보적 이용형태

에서 얻는 편리성보다 훨씬 더 가치 있고 고차원적인 이용사

례들을 우리에게 베풀어 줄 수 있는 잠재력이 많이 있다.

○ 전술한 그리드 컴퓨팅에서는 연결된 컴퓨터들을 이용하여 고

속 병열 분산 처리할 수 있는 가상의 단일 슈퍼컴퓨터를 만들

려고 한다. 또한 공동 기간망에 연결된 각종 컴퓨터의 다양한

소프트웨어 서비스나 유틸리티, 슈퍼컴퓨터, 고급 실험장비, 그

1 4 IT 자원 가상화 기술

리고 데이터베이스 등 무궁무진한 자원을 단 한번의 클릭으로

작동시켜 그 결과를 애니메이션으로 내 손안에든 단말기나 세

미나 룸의 대형스크린으로 볼 수 있게 하려고 한다.

○ 이들 차세대 IT 이용사례들에서 방대한 이질적 IT 자원들 간

의 공유와 유기적 협동작업을 위해서는 통신 프로토콜의 표준

화는 기본이고, 소프트웨어의 이식성과 시스템의 호환성이 절

실히 요구된다. 그러나 현실적으로는 단말기, PC, 서버 그리고

슈퍼컴퓨터들은 하드웨어나 O / S가 상이하여 이것은 실현될

수 없다. 한 플랫폼에서 개발되어 컴파일 된 응용 프로그램은

다른 이질적 플랫폼에서는 가동이 되지 않는다. 즉, 현 장비나

기간망은 응용의 2진수 호환성, 이식성이 없어서 상기의 꿈같

은 패러다임을 즐길 수 없는 것이다.

○ 또한 데이터센터나 서버 팜에서는 많은 이 기종 컴퓨터들이

접근하여 작업을 수행한다. 이 경우에는 소프트웨어 이식성 문

제도 해결해야하고, 한 시스템으로 다수의 사용자를 소화해야

하는 고전적 문제가 다시 발생한다. 그 외에도 소프트웨어 이

식과 시스템 상호 연동으로 인한 보안성문제와 IT 자원의 경

영성 확보 문제 등이 해결되어야한다.

나. 가상화기술의부활

○ 이와 같은 이식성과 호환성 문제는 가상화 개념으로 해결될

수 있다. 가상화는 사용자 환경과 실제 플랫폼과의 M a p p i n g

제2장 기술개요 1 5

F u n c t i o n이다. 즉 가상화는 실제성분을 사용자 코드인터페이스

에 사상시켜 두 플랫폼을 동일화 시킨다. 예를 들면, 응용프로

그램이 가상디스크에 기록하면 가상화 소프트웨어가 이를 실

제 디스크에 기록한다. 응용프로그램의 하드웨어와 O/S 환경

은 가상화 소프트웨어가 실제 플랫폼의 하드웨어와 O / S로 치

환하여 실행한다. 그래서 사용자에게 필요한 가상 컴퓨터를 즉

시 제공할 수 있게 된다. 이는 과거 대형컴퓨터에서 사용했던

E m u l a t i o n과 유사한 기능이다.

○ 또한 서버 팜에서 다수 사용자를 동시에 지원하는 문제는 고

전적 CPU 가상화기술로 해결할 수 있다. 즉 여러 개의 가상

컴퓨터를 만들어 사용자에게 제공하고 이를 소수의 실제컴퓨

터에서 수행할 수 있게 작업할당하면 된다.

○ 종합적으로 상기 문제들은 유휴 PC 자원을 통합하여 여러 가

상 컴퓨터가 공동으로 활용할 수 있게 하는 미들웨어, 타 컴퓨

터의 응용프로그램을 수정 없이 작동시킬 수 있는 미들웨어,

임의의 네트워크를 구성하고 관리할 수 있는 미들웨어 등을

개발하면 해결 될 수 있다. 이와 같은 가상화 소프트웨어가 다

름 아닌 IT 자원의 가상화기술이다. 이 기술은 최근 특히 금

년에 솟아오르는 새 기술로 제 2차 정보혁명을 불러일으킬 차

세대 컴퓨팅 기술인 그리드 컴퓨팅과 유비쿼터스의 핵심기술

로써 각광을 받고 있다.

○ 그래서 잊혀졌던 가상화기술은 현실적 필요성을 바탕으로 부

활하게 되어, PC의 범람으로 야기되는 문제를 해결 할 수 있

1 6 IT 자원 가상화 기술

게 되는 아이러닉한 결과를 낳게 되는 것이다. 다만, 옛날의

가상화기술은 하드웨어의 M u l t i p l e x i n g이 주무기였다. 그러나

부활된 가상화기술은 서버의 결합, 응용프로그램의 이동성 내

지 호환성, 부하균형, 가상컴퓨터의 포장과 복제기능, 보안확보

등의 역할을 해야 한다는 것이 과거의 가상화기술과 다르다고

말 할 수 있다.

다. 가상컴퓨터구조( 4 )

(1) 하드웨어/소프트웨어 경계면 정의

○ 가상컴퓨터( V M )는 하드웨어와 소프트웨어 사이에 V i r t u a l

Machine Monitor(VMM) 즉 가상화 소프트웨어라는 또 하나

의 소프트웨어 인터페이스 층을 추가함으로써 실현된다. VM

은 개발자들로 하여금 종전의 자원이나 인터페이스로부터 해

방시켜 줌으로써 소프트웨어 이식성, 플랫폼의 다양성을 증진

시키고 자원의 제약성과 경직성 문제를 해결하여준다.

○ 본고에서는 V M을 컴퓨터 구조학적 입장에서 즉 I n t e r f a c e와

Abstract 관점에서 고찰하고자한다. <그림 2 - 1 >은 소프트웨어/

하드웨어 경계면의 세 개의 I n t e r f a c e들 즉 A P I ( A p p l i c a t i o n

Program Interface), ABI (Application Binary Interface), ISA

(Instruction Set Architecture) 등을 정의한다.

○ I S A는 하드웨어와 소프트웨어를 구분하는 I n t e r f a c e로 M a c h i n e

Code 체계를 정의한다. 이는 O / S에서만 보인다. ABI는

제2장 기술개요 1 7

L i b r a r y와 O/S 사이에서 System Call을 정의하는 I n t e r f a c e이

다. Library는 이 System Call을 통하여 하드웨어를 간접적으로

사용한다. API는 L i b r a r y와 사용자 HLL(High Level

Language) 사이에서 Library 명령어를 정의한다. 사용자 응용

프로그램은 A P I를 통해서 Library Call을 부르고 이는 다시

A B I의 System Call을 불러 하드웨어를 사용한다.

(2) Process VM과 System VM

○ 본고에서 M a c h i n e은 P r o c e s s와 System 관점에서 정의된다.

Process 입장에서 본 컴퓨터는 메모리, 명령어, 레지스터로 구

1 8 IT 자원 가상화 기술

<그림 2-1> 컴퓨터 시스템 구조( 4 )

(주요 계층은 수직적으로 ISA, ABI, API 등 I n t e r f a c e를 통하여 교류한다. )

성되고 한시적으로 존재하며 I / O는 O / S를 통해서만 사용할

수 있다. Library나 P r o c e s s를 처리하는 동안의 컴퓨터를 말한

다. System은 O / S입장에서 보았을 때 O/S 전체를 작동시키는

컴퓨터를 말한다. 여러 프로세스들을 동시에 처리하면서 계산,

I/O 작동, 메모리 할당 등의 일을 한다. 프로세스가 있는 한

지속되는 개념이다.

○ Process VM은 한 P r o c e s s를 처리하는 V M으로 처리가 끝나면

소멸되는 한시적인 개념이다. Process VM의 가상화 소프트웨

어를 runtime 소프트웨어라고 부른다. 이는 API, ABI 층에 있

어서 사용자 O/S, 명령어 코드, Library 등을 대리 실행

( E m u l a t i o n )하여 가상컴퓨터를 만든다.

제2장 기술개요 1 9

<그림 2-2> ProcessVM과 System VM( 4 )

○ System VM은 사용자 O / S와 P r o c e s s들을 완전하고 지속적으

로 지원한다. System VM의 가상화 소프트웨어를 V i r t u a l

Machine Monitor (VMM)이라고 부르며 이는 플랫폼 하드웨

어위에 올려져서 사용자 I S A를 대신 실행하여 V M을 실현시

킨다( <그림 2-2>). VM에서 가동되는 O/S, Program, 시스템

등을“G u e s t "라 부르고, 이에 대응되는 개념으로 그 근원 플랫

폼의 O / S나 시스템을“H o s t "라고 부른다.

라. 가상컴퓨터의종류

○ <그림 2-3> 에서보는 바와 같이 V M은 프로세스 V M과 시스

템 V M으로 구분된다. 프로세스 VM 중 같은 I S A를 사용하는

것은 다중 프로그램 시스템과 동일-ISA 동적 2진수 최적화가

있다. 프로세스 VM 중 H o s t과 G u e s t의 I S A가 다른 것은 동적

번역기/ A B I와 HLL VM/API 등이 있다. 시스템 VM 중 같은

I S A를 쓰는 것은 Classic VM과 Host VM이 있다. Host와

G u e s t가 다른 I S A를 사용하는 것은 완전 시스템 V M와 공동

설계 V M이 있다.

(1) Process VM

○ 다중 프로그램 시스템:대다수 컴퓨터는 O / S가 멀티 프로그

램밍으로 다수의 사용자 프로세스를 동시에 처리한다. 각 프로

세스는 고유 번지 공간, 레지스터, 파일구조를 갖는다. O/S는

2 0 IT 자원 가상화 기술

시분할 기법으로 하드웨어를 경영하여 이를 가능케 하는 것이

다. 이는 사실 O / S가 중복된 프로세스 수준의 V M을 동시 수

행되는 응용 프로그램들에 제공하는 것이다.

○ 대리 실행( E m u l a t e d )과 동적 2진수 번역:프로세스 V M에서

Host 하드웨어와 다른 명령어로 컴파일 된 2진수 프로그램을

지원하는 것은 어려운 문제다. Intel IA-32 응용 프로그램을

Itanium 하드웨어에서 실행할 수 있는 Process VM Intel32-EL

이 그 예다. 보통은 통역하는 방법을 쓴다. 그러나 통역하여

대리 실행하는 방법은 느려서 동적 2진수 번역 방법을 사용하

는데, 이는 블록 단위로 명령어를 변환하여 수행하고, 캐시에

보관하였다 재사용하므로 반복수행 시 시간이 절감된다.

○ 동일-ISA 2진수 최적화:성능손실을 줄이기 위해 동적 2진수

번역에서 코드 최적화를 하여, 결국 H o s t와 G u e s t의 명령어가

제2장 기술개요 2 1

<그림 2-3> 가상컴퓨터 분류( 4 )

같은 V M이 되게 한다. Hewlett-Packard에서 개발한 D y n a m o

최적화기가 이에 속한다.

○ 고급언어(HLL) VM:모든 플랫폼으로의 이동가능성이 프로

세스 V M의 궁극적인 목적이다. 그러나 번역 방법은 결국 쌍

방 간의 환경 호환성만 충족시킬 수 있다. 모든 플랫폼으로의

이식성은 총체적 공통 HLL 응용개발환경의 일부로써 프로세

스 V M이 설계될 때만 가능하다. HLL VM에서는 컴파일러가

가상 ISA 요약 기계어를 생산하고, 각 Host 플랫폼은 이 가상

I S A를 실행시킬 V M을 가지고 있다. 즉 V M에서는 번역기가

있어 가상 I S A를 Host 플랫폼에서 직접 수행하는 기계어로 컴

파일 한다.

○ HLL VM의 장점은 응용 프로그램이 쉽게 V M이 개발된 플

랫폼에 이전 된다는 것이다. 이 방법은 응용 프로그램을 다른

Host 플랫폼으로 옮길 때 마다 재 컴파일 하는 것 보다는 간

단하다. Sun Microsystem의 Java VM, Microsoft의 C o m m o n

Language Infrastructure는 대표적인 HLL VM이다. 이는 . N E T

의 골격을 이룬다( 2 1 ).

(2) 시스템 가상컴퓨터

○ 시스템 V M을 사용하면 단일 하드웨어 플랫폼이 다수 O / S와

다수 프로세스를 동시에 지원할 수 있다. 시스템 V M에서는

또한 V M M이 플랫폼 중복을 제공한다. 중요한 것은 하드웨어

자원을 어떻게 다수 Guest O/S에 나누어 주느냐이다. VMM

2 2 IT 자원 가상화 기술

이 전 하드웨어 자원을 접근하고 장악한다. O/S나 응용 프로

그램은 V M M의 통제 하에 관리된다. Guest O/S가 공용 하드

웨어 자원과 대화하려면 V M M이 가로채 Guest 대신 수행한

다. Guest 소프트웨어는 이 뒷면작용을 모른다.

○ 고전시스템 V M은 V M M을 하드웨어 알몸 위에 놓고 그 위에

V M을 놓는다. VMM이 우선권을 갖고 가동되어 하드웨어 자

원을 접근 조작하려는 Guest O/S에 끼어들어 대리 수행한다.

○ Host VM은 Host O/S위에 가상화 소프트웨어를 놓는다. 장점

은 사용자가 응용 프로그램 같이 쉽게 이를 설치할 수 있다는

점이다. VMM은 O / S에 의존하여 장치 드라이버나 밑 단계서

비스를 제공한다. IA32 플랫폼에서 가동되는 GSX server

V M w a r e가 이에 속한다.( 1 8 )

○ 완전 시스템 V M:어떤 경우는 H o s t와 Guest 시스템이 공동

I S A가 없다. Window PC와 Apple PowerPC 기반 시스템은 다

른 I S A와 O / S를 사용한다. 완전 시스템 V M은 O / S나 응용

소프트웨어를 포함하여 모든 소프트웨어를 가상화한다. ISA가

다르므로 O / S나 응용 코드를 대리 실행해야 한다. Macintosh

플랫폼에 Window 시스템이 가동되는 Virtual PC가 이에 속한

다. VM 소프트웨어는 Host O/S에 의하여 지원되는 응용 프

로그램같이 가동되나 시스템 I S A는 사용되지 않는다.

○ 다중 프로세서 가상화:Host 다중 프로세서 대형 공동 메모리

시스템을 가상화하는 목적은 하드웨어 자원을 분산하여 다수

제2장 기술개요 2 3

의 작은 다중프로세서 시스템으로 만들어 각각 다른 응용에

사용되게 하는 것이다. 물리적으로 하드웨어 자원을 나누면 경

직성이 있으나 소프트웨어, 하드웨어상의 문제는 없다. 논리적

분할은 시분할 기법을 사용하므로 하드웨어 자원의 효용적인

분할의 장점이 있다.( 1 9 )

○ 공동설계 V M:대부분 시스템 V M은 표준 I S A로 개발된 하

드웨어 상에서 구현된다. 공동설계 V M은 성능향상을 위해서

신종 특수 I S A를 사용하나, 그 지체가 Host 응용에 사용되지

는 않는다. VMM은 메모리에 숨겨져 하드웨어 구현의 일부가

되어서 사용자 I S A를 대리 실행하는 것이다. Transmeta

C r u s o e는 공동설계 V M으로 하드웨어는 VLIW(Very Long

Instruction Word), 사용자 Guest ISA로는 Intel IA-32를 지원한

다. IBM A/400도 공동설계 V M으로, 객체기반 명령어,

PowerPC ISA등을 지원한다.( 2 6 )

2 4 IT 자원 가상화 기술

1. 가상컴퓨터감시기( VM M )( 5 ):VM w a r e를중심으로

가. VMM기술의중요성

○ 가상화 시스템에는 가상컴퓨터 감시기( V M M )라는 미들웨어

소프트웨어 층이 있다. VMM의 역할은 여러 이질적 게스트

O / S가 공유하게끔 물리적 호스트 플랫폼 출입을 중재하는 것

이다. VMM은 가상 플랫폼을 각 게스트 O / S에게 제공하여

가상컴퓨터( V M )를 구성케 한다. 이는 또한 플랫폼과 사용자

소프트웨어 환경 사이에서 가상컴퓨터의 생성, 소멸, 이식 등

을 관리한다. 가상컴퓨터의 성격과 기능은 이 V M M을 어떻게

구현하느냐에 따라 다르게 형성된다.

○ 20 0 5년부터 Intel, AMD, Sun Microsystem, 벤처기업, 학교,

IBM 등에서 VMM 기술연구가 되살아났다. 주 목적은 이동

성, 보안, 경영성 문제를 해결하기 위해서였다. 1990년

Stanford 대학교 연구진은 기존 O / S만으로는 해결하기 어려

제3장 연구개발 동향 2 5

제3장

연구개발 동향

운 M P P의 복잡한 구조 문제를 V M M를 사용하여 해결하였

다. 이 프로젝트의 연구진과 아이디어가 V M w a r e ( I n c . )사를

만들었고 최근 VMM 상품을 공급한다.( 5 ) 본장에서는 신가상

화기술의 핵심인 V M M의 연구개발 동향을 1. VMware과 2 .

D e n a l i를 중심으로 분석 하였다.

나. VMM 사용모델및기능( 1 0 )

○ 전술한 바와 같이 인터넷이나 그리드 환경에서는 심각한 하드

웨어 가격, 운영비, 이용률 저하, 이식성 등의 문제를 해결해야

한다. 그러나 이 문제들은 각 응용프로그램을 여러 개의 V M

으로 옮기고, 이 여러 V M들을 소수의 실제 플랫폼으로 통합

하여 수행시킬 수 있다면 해결 될 수 있다. 종전 가상화는

CPU 다중화를 주무기로 시스템 사용성, 경영비용에서 이득을

보았으나, 최근 V M M기반 가상화는 작업량분리, 작업량결합,

작업량이동 등으로 빛을 보게 되었다( <그림 3 - 1 > ) .

○ 작업량 분리(Workload isolation):V M M은 단일 플랫폼을 복제

하여 다중화 한다. 즉 가상화는 소프트웨어를 다수 V M들에

분리한다. VMM의 분리기능은 신뢰성과 보안에도 중요하다.

즉 단일 컴퓨터에서 가동되던 수개의 응용프로그램은 여러 가

상컴퓨터에 분산 가동하여 일부고장이나 침입에도 나머지는

안전한 운행을 보장받게 한다. Bressoud, T.는 가상화로 폴트

톨러런스 시스템을 실현했다. Terra, ReVirt 연구는 보안증진에

2 6 IT 자원 가상화 기술

가상화를 사용했다. 이러한 소프트웨어 분리원리는 M i c r o s o f t

의 N G S C B와 V M w a r e의 A C E에 잘 나타나있다.

○ 작업량 결합(Workload consolidation):가상화는 단일 업무용

다수 이질적 서버들을 단일 플랫폼으로 결합시켜 비용을 절감

할 수 있다. 가상화는 새로운 소프트웨어, 하드웨어를 업그레

이드하면서 동시에 기존 소프트웨어도 사용할 수 있게 한다.

통신망 송달업무를 경영전담 V M에서 총괄하게하면 감염된

고객을 차단시킬 수 있어 고객관리가 용이하다.

○ 작업량 이동(Workload migration):V M의 소프트웨어를 포장

하여 다른 플랫폼으로 이주시킬 수 있다. 이는 하드웨어 유지

관리, 작업량 균형, 고장예방 등 목적으로 자동적으로 수행된

다. Xen과 Internet-Suspend -Resume Project에서 수행한 이주

시험은 V M w a r e의 VMotion 상품의 기초가 됐다.

○ 앞으로 현대 O / S가 구현하기 힘든 이러한 V M M기술이 발전

제3장 연구개발 동향 2 7

<그림 3-1> 가상화 사용모델( 1 0 )

됨에 따라 결과적으로 V M M은 혁신적 O / S를 채택함에 있어

서 후 방향 호환성을 제공함으로써 기존 소프트웨어베이스를

수정 없이 현재의 IT 인프라에서 효율적으로 운영될 수 있도

록 견인할 것이다. 또한 IT 인프라의 물리적 변경 없이 시스템

을 재구성할 수 있는 도구로도 이용될 수 있다.

다. CPU 가상화( 5 )

(1) VMM의 CPU 통제 기법

○ CPU 가상화는 V M을 실제컴퓨터상에서 가동하되 V M M이

C P U를 통제하는 것이다. 이는 VM O/S의 특권, 비 특권 코드

를 C P U의 비 특권모드로 가동하고, VMM은 C P U의 특권모드

로 가동하여 이루어진다. VM이 특권 코드를 실행하려면 C P U

가 트랩을 걸어 V M M에 넘기고 V M M은 V M상태에서 특권

코드를 대리 실행한다.

○ 게스트 O / S가 인터럽트를 불능으로 만들게 하면 V M M이 다

시는 C P U를 통제할 수 없게 된다. 그래서 V M M은 인터럽트

불능화 명령을 트랩시켜 기록하고 인터럽트가 풀릴 때까지

V M에 다음 인터럽트 교부하는 것을 지연시킨다. 트랩기능은

V M을 실행시키는데 V M M이 안전하게 C P U를 사용할 수 있

게 하고, 이는 VM 소프트웨어가 실제 컴퓨터에서 직접 수행

되는 것 같은 착각을 만드는 핵심이다.

○ 문제는 대부분 C P U가 가상화되게 설계되어 있지 않다는 것이

2 8 IT 자원 가상화 기술

다. x86 O/S의 P O P F (인터럽트) 명령어는 트랩을 지원하지

않는다. 또한 x 8 6은 Code segment register(CSR)의 특권수준

확인 명령어도 트랩기능이 없어 가상컴퓨터가 특권수준 확인

을 못한다.

(2) 의사가상화

○ 해결방법으로는 의사가상화와 직접수행 고속 2진수 번역기법

이 있다. 의사가상화는 V M M을 만들 때 V M의 하드웨어 인

터페이스의 가상화 불가능 명령어들을 가상화 가능 명령어로

바꾼다. Denali VMM은 의사가상화로 구현되었고 D i s c o는 트

랩 없는 M I P S의 V M M인데 x86 POPF 명령어나 CSR 읽기를

특정 메모리 부분 사용으로 대체시켰다. 또한 의사가상화

V M M상에서 가동되는 O / S는 호환성이 없어 플랫폼 CPU 구

조에 맞게 포팅해야 한다. 이런 결점에도 부구하고 완전 호환

성과 고성능 때문에 학계는 이 방법을 선호한다.

(3) VMware의 고속 2 진수 번역( 1 8 )

○ x86 구조 호환 가상화를 위하여 V M w a r e는 고속 2진수 번역

을 개발했다. O/S 중 보통 응용 프로그램을 가동시키는 것은

가상화되어 직접 수행되고, 가상화 불가능 x86 명령어만 특권

모드로 고속 2진수 번역된다. 결과는 완전호환 소프트웨어 고

성능 가상컴퓨터다( <그림 3 - 2 > ) .

○ P O P F나 CSR 읽기만 특별 취급하기는 번역이나 의사가상화

제3장 연구개발 동향 2 9

가 같은 결과로 보인다. 중요한 차이점은 2진수번역은 O/S 소

스코드를 바꾸지 않고 코드가 실행될 때 변화시킨다. 극소수

명령어만 변화하므로 직접수행과 속도가 거의 같다. 또한 잦은

트랩을 일으키는 특권코드는 잦은 컨트롤 변경이 명령어 파이

프라인 성능을 방해하므로 심각한 부담이 된다. 2진 번역은 이

들을 제거하므로 성능을 향상시킨다.

(4) CPU 메이커의 가상화 설계

○ I n t e l은 Vanderpool 기술, AMD는 Pacifica 기술로 x86 CPU

VMM 지원을 발표했다. 이들은 새 처리모드를 프로세서에 추

가하여 안전하고 투명한 직접수행 VMM, VM을 실현하는 것

이다. 이들이 실현되면 가상화기술이 간결하게 되고, 성능저하

부담이 없게 된다. 완전 호환인 가상컴퓨터는 비 호환에서 얻

는 어떤 이익도 상쇄시킬 것이다.

라. 메모리가상화(VMware 의메모리가상화)( 5 )

○ 메모리 가상화기술은 V M M이 Shadow page table(SPT)을 관

리하여 가상컴퓨터 메모리와 실제 메모리를 일치시키는 것이

다. VMM은 VM 메모리가 실제 하드웨어 메모리를 초과할

수 있게 디스크에 VM 페이지를 할당한다. 이 기능으로 하드

웨어 메인 메모리양을 줄일 수 있다.

○ V M M은 V M의 일정부분을 디스크로 보냄으로써 V M에 할당

3 0 IT 자원 가상화 기술

되는 메모리양을 주기적으로 재조정한다. VM에서 가동되는

게스트 O / S는 프로세스가 끝난 페이지는 내보낼 대상이란 걸

안다. VMware의 ESX Server는 게스트O/S 내의 풍선작용이

V M M과 교신하게 한다. VMM이 V M의 일부를 디스크에 내

쫓고 싶으면 풍선작용에게 메모리 부풀리기를 요구한다. 게스

트 O / S는 내쫓을 대상을 풍선작용에게 통고하고 풍선작용은

V M M에게 통고하여 재배치하게 한다.

○ 다수의 V M을 가동시키면 동일 코드와 데이터의 중복사용으

로 메모리가 낭비된다. VMware는 이 문제를 내용위주 페이지

공유 방법을 사용했다. VMM이 하드웨어 페이지를 추적 검사

하여 동일 내용이 발견되면 S P T의 포인터를 단일 내용으로만

가리키게 한다. 30개 V M이 Window 2000을 가동한다고 할 때

단 한 개의 Window kernel만 메모리를 차지하면 되므로 엄청

난 메모리 감소효과가 있다.

제3장 연구개발 동향 3 1

<그림 3-2> VMware의 Hosted VMM( 5 )

○ O / S의 잦은 페이지 테이블 변경으로 SPT 경신 부담이 발생

한다. 이에는 하드웨어-경영 SPT 방법이 오래 동안 x86 CPU

가상화 성능을 향상시키는 것으로 판명되었다. VMM과 게스

트O / S의 협력 자원관리방안에 더 많은 연구가 필요하다.

마. I/O 가상화

○ 요즘 x 8 6기반 P C들은 제조원, 인터페이스 프로그램들이 다양

한 I / O를 사용하여 이들의 V M M층 만들기는 어렵다.

VMware Workstation은 V M M이 호스트 O / S의 I/O 드라이버

를 사용했다. 게스트 O / S가 가상디스크를 읽고 쓰면 V M M이

호스트 O / S의 파일 읽고 쓰기 시스템 콜 명령으로 번역하여

수행한다.

○ I/O VMM은 호스트 O / S가 통제하는 가상컴퓨터의 가상 디스

플레이카드가 되게 한다. 이 방법은 설치가 간단하고 I/O 장치

의 다양성을 수용하고, VMM이 호스트 O / S가 제공하는 스케

줄관리, 자원관리 등의 혜택을 본다. 단점은 I/O 장치 가상화

가 호스트 O / S를 사용하므로 가상화 부담이 감당할 수 없이

많다. ESX Server는 호스트 O/S 없이 하드웨어에 직접 수행

하는 V M M을 쓰고, 통신망, 디스크 등을 최적화하는 I/O 관리

시스템을 도입했다.

○ I/O 시스템 경향은 고성능장치 가상화를 지원하는 것이다. 키

보드, IDE 제어기 등은 물러나고, USB, SCSI 같은 채널식 I / O

3 2 IT 자원 가상화 기술

장치가 등장한다. 이들 채널 I/O 장치들은 VM 소프트웨어와

직접 대화하여 가상화가 필요 없다. 직접 메모리 사용을 수행

하는 I/O 장치는 VM 장치 드라이버가 말하는 메모리 주소와

S P T가 가리키는 컴퓨터 메모리 위치를 일치시켜야한다. 또한

다수 V M이 단일 I / O를 경쟁할 때 V M M은 장치완료 인터럽

트 순서를 정확히 V M에 배정해야한다.

바. VMM의미래동향( 5 )

○ V M w r e의 NMotion 기능으로 V M이 자유롭게 실제컴퓨터를

이동할 것이다. 이들 VM 인프라는 부하균형, 고장발견, VM

의 생성, 소멸 등을 자동으로 수행할 것이다. 데이터센터 서버

에서는 관리자가 단일 콘솔에서 수 백 컴퓨터에서 가동되는

수 천 V M을 관리, 감시할 것이다.

○ V M M은 많은 수의 데스크톱, 랩톱 컴퓨터 경영 문제를 해결

해줄 것이다. VMM은 O / S를 독립시켜 인프라 중복을 줄인다.

예를 들면 H e l p d e s k나 백업 소프트웨어 등은 한 개만 V M M

에서 가동되면 각 V M에서 공동으로 사용할 수 있다. VM의

이동성은 컴퓨터사용 형태를 바꿀 것이고 가상스위치, 가상방

화벽, 오버레이 통신망 같은 동적 통신망 형태를 필요로 할

것이다.

○ V M M은 강력한 보안환경을 제공한다. Liveware는 V M M을

VM 소프트웨어 침입 감지를 위해서 사용했고, ReVirt는

제3장 연구개발 동향 3 3

V M M을 해커손실 분석에 사용했다. 이들은 V M외부에서 가

동하여 강력한 공격저항력이 있고, VM 내부에서는 하드웨어

감시기능이 있다.

○ V M은 고도의 보증시스템 구축에 유용하다. 미국의 국립보안

행정( U S N S A )의 NetTop 구조는 여러 통신망을 각자 다른 보

안등급으로 접속하는 다중환경들을 상호 격리시키는데

V M w a r e의 V M M을 사용했다.

○ V M M은 다수 소프트웨어 스택을 각기 다른 보안 수준으로

운영할 수 있다. Terra는 V M M이 V M안에서 가동되는 소프트

웨어를 원격 사용자에게 상호 교환적으로 인증하게 했다.

○ V M M은 신속한 VM 복제기능이 있어 과중한 업무부담을 역

동적으로 대처할 수 있고, 이는 갑작스런 축소 확대를 요구하

는 바이러스공격에 대처할 수 있다. 또한 V M M은 소프트웨어

회사로 하여금 복잡한 소프트웨어 환경을 V M에 배포하게 한

다. 이 기능으로 O r a c l e은 만 개의 최신판 소프트웨어를 배포

했고, VMware의 A C E는 V M들에게 알려 VM 사용법을 조정

할 수 있었다.

3 4 IT 자원 가상화 기술

2. Denali VM M( 11 )

가. 기술개요

○ 실제 컴퓨터와 다른 V M을 가능케 하기위한 V M M을 개발하

는 미국 Washington 대학교 Denali 프로젝트의 두 방향 중 하

나는 의사가상화를 이용하여 동시에 수백 V M을 실행할 수

있는 신축성 있는 V M M이다. 다른 하나는 하드웨어 삽입으로

V M M이 가상디스크, 가상 Ethernet 등을 구현시킬 수 있게 하

는 것이다.

○ 이 새 가상 하드웨어들은 E n c r y p t i o n과 네트워크 저장장치 사

용이 가능하다. 이는 또한 가동 중인 V M을 이주시키는 고급

서비스를 제공한다. Denali 연구진은 V M M을 보안, 신뢰성, 시

스템 운영 등에도 이용했다. 이 과정에서 기존 V M M의 다중

V M처리 규모, 확장성 문제점을 극복하도록 수정했다.

나. 의사가상화

○ 다수의 V M들이 플랫폼 C P U에서 동시에 가동될 때 기존

V M M은 다중처리 규모 병목현상 즉 시스템이 지원하는 V M

수를 인공적으로 제한하는 문제가 있다. 이 문제는 병렬로 가

동되는 각 V M의 진행시간(가상시간)과 실제 CPU 진행시간

과의 차이가 VM 수가 증가함에 따라 더욱 커진다는 사실에

제3장 연구개발 동향 3 5

서 필연적으로 야기된다.

○ 그러나 이 문제는 의사가상화로 해결될 수 있다. 즉 VM 하드

웨어 요약의 구조와 플랫폼 하드웨어 구조의 차이를 밝혀서

VM 하드웨어 요약의 구조를 고쳐서 병목현상을 제거하는 것

이다. 고객 기존 O / S도 변경된 하드웨어 구조에 맞게 수정돼

야한다.

○ 그렇게 함으로써 기존 소프트웨어 전체 구조변경 작업을 O / S

의 하드웨어 요약 층( H A L )으로 집중시켰다. 이는 또한 D e n a l i

에 O/S 포팅하는 것을 새 하드웨어에 O/S 올리는 것 정도로

쉽게 만든다. 지금까지 NetBCD O/S를 Denali 구조에 포팅 시

켰다. Cambridge의 Xen 연구에서는 W i n d o w와 Linux 등을 의

사가상화기술로 포팅 시켰다.

다. 의사가상화를위한구조변경

○ 특정 사건이 일어날 때까지 O / S가 기다리는 것은 V M M에서

는 CPU 시간 낭비이므로 D e n a l i는 고객 O / S가 일정시간 C P U

를 양보하는 “Idle-with-timeout" 방식을 개발했다. 이

Timesharing 방식으로 V M이 타이머 기능을 기다리며 깨어있

으면서 C P U도 총 가동시킬 수 있었다. 이 방법의 실험을 통

해 66% 성능 저하를 방지할 수 있었다( <그림 3 - 3 > ) .

○ 실제 하드웨어에서는 인터럽트 송달은 사건 발생 즉시 일어난

다. VMM에서는 V M이 1/N 시간의 가상시간만 사용하므로

3 6 IT 자원 가상화 기술

인터럽트실시간 송달이 어렵다. Denali는 VM 하드웨어 이벤트

들을 VM 스케줄러의 차례가 올 때까지 대기시키는 일괄처리

비동기식 인터럽트 모델을 사용했다. 이 방법으로 30% 성능저

하를 방지했다.

○ VM O/S는 타이머 인터럽트를 사용하여 물리적 시간 경과를

측정한다. 그러나 V M은 1/N CPU 시간문제가 있다. Denali는

O / S가 실제시간 경과를 잴 수 있는 총괄 물리시간제를 도입

했다.

○ 단순화를 위한 구조변경:Denali 가상 구조는 BIOS, x86 분할

하드웨어, 방어 링 등 잘 안 쓰는 기능을 생략했다. 또한 하드

웨어 버퍼를 소프트웨어 버퍼로 대체시켜 단순화 시켰다.

D e n a l i는 V M M으로 트랩이 없는 가상화 불가능 하드웨어 명

령어는 회피하여 복잡성을 피했다.

제3장 연구개발 동향 3 7

<그림 3-3> Idle-with-timeout 방식의 성능 향상( 1 1 )

라. VMM 확장

○ 종전 V M M의 하드웨어 다중화 기능을 넘어, 최근 V M M은

그 외 이주, 침입색출, 성능분석 등을 수행한다. VMM는 이들

서비스작업을 총괄 시스템 관점으로 한다. 예를 들면 V M의

이주기능은 사용자가 O / S와 응용을 벌째로 포장하여 옮긴다.

이는 종전 O/S 기능을 초월하는 것으로 종전 프로세스 이주

기능보다 오히려 간단하다. VMware ESX server가 이 VM 이

주를 지원한다.

○ 이러한 VM 기능을 구현하려면 V M M을 변경 확장해야한다.

그러나 V M w a r e를 포함해서 종전 V M M은 변경확장이 어렵

게 설계됐다. μD e n a l i에서는 소프트웨어 접속면( A P I )을 개발하

여 가상 하드웨어를 실현했고, 아울러 하드웨어 삽입을 통해

시스템기능을 수정 또는 확장할 수 있게 했다.

○ μD e n a l i의 프로그램 A P I는 제 3자 개발자가 시스템 성능 확장

을 위해 사용할 수 있는 프로그램 인터페이스이다. 이 V M M

확장 기능은 가상디스크 같은 하급요약 개념이라 프로그래머

가 VMM 구현상세를 알 필요가 없다. 이 A P I는 다른 V M M

에도 포팅이 가능하며 다음과 같은 이득이 있다.

- I/O 장치확장:많은 서비스들은 가상디스크, 가상 E t h e r n e t

같은 I/O 장치를 감시 또는 수정한다. 예를 들면 C h r o n u s

도구는 시스템 구성을 바로잡는 기능을 수행한다.

- VM 상태표시:성능향상을 위해 μD e n a l i는 V M M이나 하드

3 8 IT 자원 가상화 기술

웨어 내에 프로세서 상태를 숨겨 놓고, 추출하는 A P I를 개

발했다. 이는 C h e c k p o i n t와 이주 같은 서비스에서 VM 상태

파악에 사용된다.

- 비 정형성 추적:VM 재현, 폴트톨러런스 서비스 등은 타이

머 인터럽트 같은 비 정형 사건의 정확한 데이터가 필요하다.

- VM 제어:사용자는 프로그램 A P I를 V M을 시작, 정지, 소

멸시키는데 사용한다.

○ 하드웨어 삽입:초기 Denali 구현은 가상디스크 같은 요약을

하드 코딩했다. 확장성을 지원하려면 가상 하드웨어 요약의 접

속면을 구현으로부터 분리해야했다. 이 분리를 하드웨어 삽입

이란 기법으로 성취했다.

- 이 방법은 V M M을 메시지 전송 네트워크로 변환 시켰다

<그림 3-4>. VMM은 디스크 읽기 같은 가상 하드웨어 행위

제3장 연구개발 동향 3 9

<그림 3-4> 소프트웨어 구조.( 1 1 )

를 메시지로 바꾸어 목적지에 송달케 했다. 일부는 V M M에

서 묵시적으로 수행되고, 일부는 VM 내부에서 연장코드로

수행된다.

- 메시지 송달 구조는 임의 메시지 송달 토폴로지를 형성케

한다. 그래서 한 아이 V M은 하드웨어 기능의 일부를 수행

하는 여러 개의 부모 V M을 둘 수 있다.

○ 서비스 예:본 연구에서 μDenali 확장성을 맨 위로하여 여러

개의 VM 서비스를 구현했다.

- A p a c h e라는 서비스는 소프트웨어 에러에 당면하면 신뢰성

을 높이기 위해 Apache Web 서버들의 가상 클러스터를 사

용한다. Chronus 도구는 컴퓨터 구성에러 진단 디버깅을 위

해“시간여행”추적기능을 사용한다.

- 그 외 μD e n a l i는 종전 VM 이주기능도 재 구현했다. 프로그

램 API 사용으로 이주기능 은 289 줄의 C 소스코드만으로

구현할 수 있다.

3. Intel 프로세서의가상화기술( 1 0 )

가. 프로세서가상화설계의필요성

○ 최근 광범하게 사용되는 가상화기술은 많은 부분 Intel 구조

(IA) CPU 시장상품을 기반으로 지원된다. 이들은 물론 V M M

4 0 IT 자원 가상화 기술

같은 창조적 소프트웨어 기법, 그리드 환경 등의 기발한 응용

때문에 발전한다. 그러나 이들이 사용하는 가상화기술은

P e n t i u m과 같은 현 시장상품으로는 성능의 손실 없이 완벽하

게 이루어질 수 없다. 따라서 이들 문제점들을 지원하는 I A의

가상화기술발달이 가상화 시스템 기술 발전에서 필수 불가결

한 요소로 작용하게 될 것이다.

나. Intel 구조(IA) 기반가상화기술의문제점

○ I A는 특권수준 0 - 3으로 CPU 보호기능을 제공한다. 특권수준

에 따라 명령어들의 C P U와 주소 공간 사용을 통제한다. IA

기반 V M M은 모든 게스트 O / S를 특권수준 1 이상으로 가동

하여“링 특권해제”시킨다.

○ 이때 Ring aliasing 문제(동종 이 수준 문제) 즉, 게스트 O / S

소프트웨어가 제작당시는 특권 0이었는데, 운영 시는 1이 되는

문제가 발생된다. IA-32 PUSH나 I t a n i u m의 br.call 명령에서

게스트 O / S는 이들의 특권 수준이 0 이 아님을 알 수 있다.

○ 주소 공간 압축:게스트 O / S는 프로세스의 전체 가상공간을

사용하고자한다. VMM은 그 중 일부를 자신의 목적으로 할당

하여 게스트 소프트웨어와 VMM 간의 전환통제용으로 사용

한다. VMM은 이 부분을 게스트가 건드리지 못하게 보호해야

한다.

○ 특권상태 무과실(No fault) 접근:I A - 3 2에는 과실 없이 특권상

제3장 연구개발 동향 4 1

태에 출입할 수 있는 명령어가 있다. 게스트 O / S는 특권에 관

계없이 GDT, IDT, LDT, TR 레지스터 상태를 읽을 수 있다.

이들은 CPU 통제 정보를 갖고 있다. 이들 내용이 현실과 다

를 경우, VMM의 CPU 통제 여부를 오판할 수도 있다.

I t a n i u m의 thash 명령어도 같은 작용을 한다.

○ 게스트 전환의 역효과:I A의 S Y S E N T E R는 특 0 으로의 전

환, SYSEXIT는 그 해제다. 게스트 응용이 S Y S E N T E R를 수

행하면 V M M으로 전환되어 대리 실행된다. 게스트 O / S가

S Y S E X I T를 수행하면 V M M에 과실을 일으켜 결국 V M M이

모든 S Y S E X I T를 대리 실행한다.

○ 인터럽트 가상화:I A - 3 2는 EFLAGS 레지스터의 I F로,

I t a n i u m은 PSR 레지스터의 I bit로 인터럽트 마스킹을 지원한

다. VMM은 게스트 O / S의 마스킹 제어시도를 특권해제차원

에서 과실로 간주하여 거부하고 자신이 한다. 이는 시스템 성

능에 영향을 준다. VMM이 가상화 인터럽트를 운영하는 것도

게스트 O / S의 마스킹 상태를 관찰해야하므로 결국은 가로채

기를 하여 성능저하와 설계복잡성을 가져온다.

○ 링 압축:IA-32 64 bit 모드에서 페이징은 특권 0 - 2를 하나로

본다. 따라서 V M M이 특권 0 이면 게스트 O / S와 게스트 응

용이 특권 3에서 가동되어 게스트 O / S가 보호받지 못한다.

○ 숨은 상태접근:I A - 3 2의 Hidden descriptor cache는 LGDT 명

령으로 GDT 내용이 복제되는데, 이는 게스트 상태에서나

4 2 IT 자원 가상화 기술

V M M의 상태에서나 보존 관리되지 못한다.

다. 가상화문제점의소프트웨어해법

○ IA-32, Itanium의 가상화 문제점 해결책으로 V M M의 게스트

O/S 인터페이스를 수정하는 해법을 개발했다. Denali와 X e n은

의사가상화 기법으로 게스트 O/S kernel과 장치 드라이버를

가상화 용이한 코드로 바꾸었다. 이 방법은 고성능과 응용프로

그램불변의 장점이 있으나 변조 못한 O / S는 지원 안 된다.

○ V M M은 직접 2진수 번역으로 게스트 O / S를 지원할 수 있다.

VMware, Virtual PC, Virtual Server/Microsoft 등이 그 예이다.

많은 수의 O / S를 지원할 수 있으나 약간의 성능 부담이 있다.

Intel 가상화기술의 목적은 이러한 의사가상화나 2진수 번역

없이 광범위한 O / S를 불변으로 고성능으로 사용토록 하는 것

이다.

라. 가상화를위한신종Intel 프로세서

(1) VT-x 구조

○ V T - x는 I A - 3 2에 VMX root와 VMX non-root 두 운영형태를

추가했다. VMM은 VMX root에서 가동되고, 게스트는 V M X

non- root에서 가동된다. 두 형태의 운영은 모두 4 등급의 특

권수준을 지원하여 게스트 O / S가 원하는 특권수준에서 가동

제3장 연구개발 동향 4 3

될 수 있게 하였다( <그림 3 - 5 > ) .

○ V T - x는 V M e n t r y와 VMexit 두 모드로 VMX root와 V M X

non-root 간의 전환을 정의한다. VMCS의 고객 상태구역

( G S A )과 주인상태구역( H S A )이 이를 관리한다. 모드전환 될

때 현 상태는 보관하고, 전 상태는 회복시켜 시작한다. VMX

non-root 운영에서 프로세서 동작 변경을 시도하면 VMexit 시

킨다. CPUID, MOV CR3, RDMSR, WRMSR 등은 무조건

VMexit 된다. 인터럽트나 다른 명령어는 V M C S의 VM 실행

제어 란을 사용하여 조건부 VMexit 시킬 수 있다.

○ V M C S:고객 상태구역에는 CPU 상태를 나타내는 S e g m e n t

register, CR3, IDTR, Descriptor cache 등의 내용이 포함된다.

V M M은 V M이 탈출할 때 그들 내용을 G S A에 기록하고,

V M이 재 시작 될 때 그들 내용을 G S A로부터 회복시킨다.

V M M은 V M C S의 CR3 실제주소를 사용하여 V M과 V M M

간의 상대적 주소를 일치시킨다.

○ VMentry, VMexit:V M e n t r y는 V M C S의 G S A으로부터 프로

세서 상태를 회복한다. 이 때 고객 I D T에 따라 선택적으로 회

복한다. VMexit는 프로세서 상태를 G S A에 보관하고, HSA로

부터 프로세서를 회복시킨다. VMexit는 또한 exit 이유, 자격

등을 기록한다. VMentry, exit 모두 C R 3를 기록하여 V M M과

의 상대 주소차이를 관리한다.

4 4 IT 자원 가상화 기술

(2) VT-i 구조

○ V T - i는 Itanium 프로세서 하드웨어 확장요소들과 프로세서 요

약 층( P A L )으로 구성된다. 프로세서 상태 b i t인 PSR.vm 이 추

가되었다. VMM은 PSR.vm=0 에서, 고객은 P S R . v m = 1에서

가동된다. VMM과 고객은 P S R . v m에 상관없이 4개 특권수준

이 지원된다. PSR.vm=0 일 때는 보통 프로세서다. PSR.vm=1

일 때는 모든 특권 명령과 t h a s h는 과실을 일으킨다.

○ Interrupt Vector Table(IVT)이 추가되어 가상화 벡터는 V M M

이 가상화 과실과 o p c o d e를 식별하는데 쓰이고, 가상외부인터

제3장 연구개발 동향 4 5

<그림 3-5> 가상화 방법( 1 0 )

(Intel 칩은 2-bit 특권 단계 0 - 3을 사용하여 과실 없는 C P U사용을 통제한다.

( d )는 VT-x, VT-i를 사용하여 특권해제 없이 게스트 소프트웨어를 제어한다. )

럽트 벡터는 V M M이 진행 중인 인터럽트를 기록하는데 쓰인

다. IVT를 통해 전달된 인터럽트는 P S R . v m = 0이 되어

V M M / P A L이 취급하게 된다. VMM/PAL은 r f i를 사용하여

P S R . v m = 1로 할 수 있다. vmsm 새 명령어는 P S R . v m을 최소

부담으로 변경하여 V M M과 고객간 전환 지연시간을 최소화

한다. PSR.vm=1 일 때 가상공간 최 상위 b i t은 접근 못하게

하여 VMM 전용공간을 확보하게 하였다.

○ Virtual Processor Descriptor(VPD) 안에 가상프로세서 콘트롤

레지스터 값 중, 가상화 촉진구역은 특정자원이나 명령어 가상

화를 최적화하고, 가상불가능 구역은 특정자원이나 명령어 가

상화를 불가능하게 한다. PAL 확장 내용은 가상 환경의 조성

과 해체에 관한 P A L절차, 고객 쉐도 레지스터, VPD 동기화,

프로세서나 고객 상태의 저장과 회복 등에 관한 PAL 서비스

등이 포함되었다.

마. VT-x, VT-i로가상화문제해결

○ 링 엘리어싱 문제:V T - x는 고객 소프트웨어가 VMX non-

r o o t에서 가동되어 구속받게 하고, VT-i는 고객 소프트웨어를

P S R . v m = 1에서 가동되어 구속받게 한다. VT-x와 V T - i는

V M M이 고객 소프트웨어를 0-3 어떤 특권층에서도 가동할

수 있으므로 링 엘리어싱 문제를 없앤다. 고객 O / S와 응용이

같은 특권층에서 가동되는 문제도 없앤다.

4 6 IT 자원 가상화 기술

○ 주소 공간 압축 문제:V T - x에서는 V M M과 고객 소프트웨어

간 전환에서 고객 소프트웨어가 전체 주소공간을 쓰게 보장한

다. VMX전환은 V M C S가 관리하고 이는 물리적 메모리에 위

치한다. VT-i에서는 V M M의 가상 주소 b i t을 고객 소프트웨

어 접근으로부터 차단하여 VMM 고유의 가상공간 절반 독점

권을 보장받는다.

○ 특권상태 무과실 접근:V T - x는 이러한 비 권한 접근을

V M M에로 전환케 하거나 읽혀진 상태를 V M M의 쓸모없는

정보로 만든다. VT-x에서는 V M C S가 인터럽트나 예외를 제

어하고, 고객 소프트웨어를 특권수준 0으로 L G D T를 실행하여

GDT 접근을 허용할 수 있다.

○ 고객 소프트웨어의 전환:V T - x에서는 고객 O / S를 특권 0 으

로 가동시켜 SYSENTER, SYSEXIT를 수행 시킬 수 있다.

V T - i에서는 V M M가상화 촉진구역을 이용하여 고객 소프트웨

어로 하여금 인터럽트 콘트롤 레지스터를 읽고 쓰게 한다.

○ 인터럽트 가상화:V T - x에서 외부 인터럽트가 1 이면 고객의

인터럽트 마스킹 제어를 막는다. 인터럽트윈도탈출이 1 이고

고객 소프트웨어가 인터럽트를 받을 차례면 V M e x i t가 발생된

다. VT-i는 가상촉진구역을 사용하여 고객 소프트웨어가 인터

럽트 마스킹에 영향 끼치는 것을 막는다. VMM은 PAL 서비

스를 사용하여 가상인터럽트를 등록하고, 고객 소프트웨어가

받을 준비가 돼있으면 V M M에게 서비스가 넘어간다.

제3장 연구개발 동향 4 7

○ 숨겨진 상태접근:V T - x는 V M C S의 고객 상태구역 내

Hidden CPU 상택 구역이(HSA) 있다. 프로세서는 V M e n t r y

때 이 정보를 회복시키고, VMexit 때 저장한다. 이는 V M M가

동 중 VM 변화 시에도 바른 상태를 유지한다.

4. 공동기간시설의가상분산환경구성( 1 2 )

가. 가상분산환경의필요성

○ 그리드 컴퓨팅 기술발달은 광역 공동기간통신망에 붙어있는 방

대한 컴퓨터 시설을 이용하여 광범위한 병렬, 분산처리를 할

수 있게 한다. 사용자는 OGSA(Open Grid Service A r c h i t e c t u r e )

과 GRAM(Grid Resource Allocation and Management) 등 그

리드 인터페이스 기술로 통신망 자원을 사용할 수 있다. 잘 알

려진 작업-서비스 모델로 사용자 작업에 알맞은 자원 공유와

프로그램 수행 형태를 정할 수 있다.

○ 그러나 공항운영이나 테러방지활동 등은 다양하고 동적 객체

들이 얽혀 작용하는 작전개념이라 작업과 서비스가 명확히 구

분되지 않는다. 더구나 특수 O/S, 통신망 서비스, 패키지, 라이

브러리 등을 요구하는 작업은 그 요구가 충족되기 어렵다. 또

한 비 신뢰성 또는 감염된 코드가 유입될 경우 통신망 공격의

충격을 해당 응용에 국한시키고 다른 응용에 연쇄적으로 영향

4 8 IT 자원 가상화 기술

을 끼치는 것을 방지하는 것이 중요하다.

○ 미국 Purdue 대학교에서는 상기와 같은 상황적 특징들을 지닌

사례가 그리드나 PlanetLab 같은 공동 기간시설에서 작업-서

비스 모델을 보충하기 위하여 각자 격리된 분산 환경에서 가

동되는 것을 시험하였다.

나. 가상분산환경의미들웨어

○ 공동기간시설의 격리 분산 환경은 동적 맞춤형 구성, 응용 프

로그램의 2진수 호환성, 고장 또는 감염된 응용의 악영향을 가

두는 기능 등을 지원해야한다. 이를 위한 가상화 신기술 소프

트웨어는 응용과 공동기간시설 사이의 여러 간접 층으로 이루

어지게 된다. 가상컴퓨터 기술로는 VMware, User-Mode Linux

(UML), Xen 등이 개발됐다. 가상화 네트워크 기술로는

VNET, Violin(Virtual Internetworking on Overlay I n f r a s t r u c t u r e )

등이 있고, 이들은 VM 통신을 위한 가상 IP 네트워크를 형성

한다.

○ Penato Figueiredo가 I n - V I G O의 VMPlant 구조 시스템에서 처

음으로 가상컴퓨터 기술을 G r i d에 적용하여 보안성, 격리, 맞

춤형, 기존 소프트웨어 지원, 관리자특권, 자원관리, 사이트독

립 등 장점을 밝혀냈다. 본 연구는 가상컴퓨터 기술과 가상화

네트워크 기술을 통합하여, 그리드나 PlanetLab 같은 공동기간

시설에서 가상분산 환경을 형성하는 미들웨어를 개발하여 가

제3장 연구개발 동향 4 9

상화를 한 단계 더 발전시켰다.

다. 가상컴퓨터로부터가상분산환경으로

○ 이전 가상컴퓨터 연구에서는 UML 기반 가상서버를 만들었

다( 2 0 ). 이들 가상서버들은 각각 독립적이고, 통신망에서 실제

IP 주소를 사용하기 때문에 일정 가상컴퓨터 집단으로 가상

네트워크를 만들거나 두 개의 독립된 가상네트워크를 만들지

못한다.

○ V N E T( 2 2 )나 V i o l i n( 2 3 )은 이 문제를 고차원 가상 IP 주소 네트

워크를 만들어 해결했다. 즉, 각 가상네트워크는 고유 I P주소

공간이 있고, 다른 가상네트워크와 중복될 수도 있다. 가상네

트워크 내 가상컴퓨터는 인터넷에서 보이지 않는다(보안성) .

또한 가상네트워크의 가상컴퓨터 간 연결은 선택적이며, 가

상컴퓨터는 가상네트워크 형태나 통신량을 강제 조정할 수

없다.

○ V i o l i n은 가상컴퓨터와 플랫폼 사이에 통신 간접 층으로 네트

워크 가상화를 실현한다. 이 층에서 Violin demon이 가상네트

워크 전송 수단 역할을 하는 사용자 수준 격자를 형성한다.

Violin demon은 UDP (User Datagram Protocol)같은 터널링 응

용수준 기법으로 VM 간 통신(IP 기본 서비스)을 에뮬레이션

한다.

○ V N E T에서는 네트워크 가상화가 완전히 실현되지 않아 호스

5 0 IT 자원 가상화 기술

트 수준의 방법으로 통신망 송달을 형성해야한다. 그러나

V N E T는 응용프로그램이 가동되는 V M의 통신 패턴을 그대

로 가상네트워크 토폴로지로 채용하는 동적 응용통신 형태 적

응능력이 있어 통신성능을 증진시킨다.

○ V i o l i n과 V N E T이 통합하여 가상분산 환경을 이루는데 이를

V i o l i n s라 부른다( <그림 3-6>). Violins는 V M과 가상IP 통신망

의 토폴로지, O/S, 응용, 패키지, 자료실 등을 O n - D e m a n d로

구성하고, 응용 프로그램의 2진수 코드의 제작당시 호환성 환

경을 제공한다. 또한 가상네트워크 IP 공간 격리로 악영향 국

지화, 가상컴퓨터자원과 가상통신망 통신량 제한, 관리자 특권

을 구현한다.

○ <그림 3 - 4 >에서는 이질적 자원으로 구성된 다중통신망 플랫폼

위에 가상화 미들웨어가 올라간다. 이 미들웨어는 플랫폼 통신

망 자원을 통합하여 공동기반시설을 구축하고, 두 개 독립

V i o l i n s를 형성한다. Violins는 통신망, O/S, 응용서비스를 응용

가동에 맞추어 형성한다.

라. Violin 상세

○ V i o l i n은 각자 다른 호스트 컴퓨터에서 가동되는 V M들을 인

터넷 없이 연결하여 가상 IP 통신망으로 통신케 한다. VM은

U M L과 Linux 사용자 프로세스 실행으로 이루어진다. 호스트

커널의 탭 장치(Tap device)로 호스트 외부와 통신한다. VM

제3장 연구개발 동향 5 1

에는 이 탭과의 인터페이스를 마련하여 호스트가 VM 간의

통신을 제어하는 라우터가 된다. 여기서 사용자는 라우팅에 관

한 r o o t수준특권이 필요하고 V M은 실제 네트워크 공간을 넘

나들 수 있는 IP 주소가 있어야한다.

○ V i o l i n은 탭 요구를 우회시켜 V M을 인터넷과 분리된 I P공간

의 직교공간에 존재하게 한다. VM은 인터페이스를 통해 가상

네트워크 스위치인 d e m o n에 연결한다. Violin demon은 U D P와

T C P를 사용하여 실제 스위치와 같이 작동하여 가상네트워크

를 운영하지만 호스트 컴퓨터의 사용자 공간에서 가동된다.

5 2 IT 자원 가상화 기술

<그림 3-6> 여러 계층의 가상 분산 환경을 갖은 공동기간시설 망( 1 2 )

마. 실험결과

○ Violin 기반 미들웨어는 P l a n e t L a b의 가상분산 환경에 적용됐

다. 두 호스트 프로세서 간 또는 두 V M들 간의 TCP 성능과

I C M P (인터넷상의 메시지 전달시간)성능이 측정됐다. 결과는

Violin 성능이 PlanetLab 성능보다 1 5 %이하 저하됐다.

○ Violin 성능을 실제 클러스터 성능과 비교하기위해 고성능

Linpack (HPL)성능 테스트를 하였다. 호스트환경은 1 . 2 - G H z

Athron 프로세서, 1-Gbyte RAM, Debian Linux 3.0, 100 Mbps

E t h e r n e t이다. 최대 64 VM가지 실험에서 V i o l i n은 실제클러스

터의 80% 성능을 올렸다. 이 정도 성능 부담은 대규모 기간시

설인 경우 정당화될 수 있다.

○ 격리된 다수의 가상 분산 환경(Violins) 실험에서 32 개 노드의

실제 클러스터를 이용하여 이를 플랫폼으로 공유하는 다수의

V i o l i n s (각 32 VM들로 구성)를 시험했다. 16 Violin 시험에서는

각 클러스터 노드가 16 VM/32 Mbyte 들을 지원하게 했다.

<그림 3 - 7 >에서와 같이 Violin 수를 증가시키며 시험함 결과 8

개 Violins 까지는 많은 V M들이 같은 클러스터 자원을 공유해

도 총 성능은 오히려 증가했다. 그러나 1 6 - V i o l i n s인 경우는

VM 수가 증가하면서 총 성능은 약간 감소했다. 이는 V i o l i n

수 증가가 적은 량의 총 성능손실을 초래하는 것을 보여준다.

○ Violin 통신형태:V i o l i n의 소프트웨어의 구현은 통신망 감시기

능이 용이하게 되어있다. Violin의 결과 도표들은 C o n d o r나

제3장 연구개발 동향 5 3

SETI@Home 같은 분산응용에서 불 수 있는 것 보다 불규칙

하고 복잡하다. 이는 기간시설이 이질적 호스트일 때는 V M이

나 V i o l i n s의 운영이 통신성능에 심각한 영향을 끼친다는 것을

보여준다.

바. 진행중인연구

○ Violins 가상화기술을 지능적으로 만들 것이며, 가상 환경은 자

원할당, 규모, 토폴로지를 응용가동역학에 따라 자기적응하게

하여 생물체처럼 만들 것이다. 에이전트 기반 시험에서는 군중

이 쇼핑, 통근 같은 상황에서 어떻게 움직이고 상호작용하나를

연구할 것이다. 처음 두 V M이 두 지역을 나타내며 시작하고,

각 지역 사람들이 증가함에 따라 VM 수도 증가하고 가상 환

경은 커진다. 마지막 단계로 호스트 능력제한 때문에 발생하는

VM 이주현상을 보일 것이다.

5 4 IT 자원 가상화 기술

<그림 3-7> 다수 가상분산 환경( V i o l i n s )에서 HPL 성능시험( 1 2 )

1. Vi r tual Server 시장동향( 1 3 )

○ 산업계 기술 매니저들은 Virtual Server로 옮아가고 V e n d o r들

은 그 추세를 따르고 있다. 가상화 지출은 2 0 0 9년까지 $ 1 5 B에

이를 것으로 추정된다. 고객들은 비용을 절감하고, 기존 I T자

원을 이용하고, 증가하는 일의 부담을 감당하기위하여 개발된

소프트웨어를 이용하여 x 8 6시스템을 적은 2 - 4개 범위로 분할

하는 Virtual Server를 수용한다.

○“성장은 특히 대용량 서버 공간에서 강하다”고 I D C의 S e r v e r

Research 부사장 Matt Eastwood는 말한다. 고가 IT 프로젝트

는 한때 Scalable Server 쪽으로 기울었으나, 지금은 저가

Server 쪽으로 강조된다. “한 서버 당 다수 응용을 수용하고

층별 구조를 형성할 수 있는 기능이 서버 가상화를 주도하고

미래 하드웨어 배치에 영향을 미칠 것”이라고 말한다.

○“수년 간 I B M은 그의 전통과 함께 서버 가상화를 주도해왔다.

이제 서버시장에서 가상화는 널리 받아들여지고 있다. HP,

제4장 산업계 Virtual 기술제품 동향 5 5

제4장

산업계 Vi rt ual 기술제품 동향

Dell 같은 V e n d o r들도 꽤 많은 Market share를 얻을 수 있는

위치에 있다.”고 IDC Enterprise Server Director는 말한다.

○ 5 0 0명 이상 고용하는 회사의 3 / 4이 Virtual Server를 배치하고

있다. 내년도 서버 구매의 4 5 %는 Virtual Server일 것이고 그

중 5 0 %는 Production Level 응용에 사용될 것이다. 현재는

Unix, S390, OS400 시스템들이 Virtual Server 주문의 대부분을

차지한다. 그러나 W i n d o w나 Linux Server들도 빠르게 성장하

고 있다.

2. IBM의가상화기술( 1 4 )

가. IBM Virtual Machine

○ I B M식 V M은 실제컴퓨터와 똑같은 복사판 V M인데 메모리는

축소시켜 구성한다. 이 V M도 역시 응용의 가상코드를 가로채

서 실제 플랫폼 코드에 1대1 사상시키는 다른 일반 V M의 혈

통과 유사하다. CPU의 특권코드를 수행하려는 가상 명령어는

막거나 트랩시켜 안전성을 유지한다.

○ 이런 V M작용은 VM O/S가 수행한다. Conversational Monitor

S y s t e m ( C M S )이라는 Control Program이 O / S와 대화하며 파일,

메모리, 작업 올리기, 수행 등을 관장한다. 중요한 것은 이

Control 프로그램은 사용자가 V M들을 방해하지 않으면서 프

5 6 IT 자원 가상화 기술

로그램을 수행하고 데이터를 저장할 수 있어서 자원 공유와

보호를 동시에 성취한다는 것이다.

나. Jikes Research Virtual Machine(RVM)

○ R V M은 Java 프로그램을 가동하는 V M들의 연구목적으로

만들어졌다. RVM은 AIX/PowerPC, Linux/PowerPC,

Linux/IA-32 등 플랫폼에서 가동될 수 있다. 이는 동적 컴파

일, Adaptive Optimization, Garbage Collection, Thread

S c h e d u l i n g과 동기화 등을 수행한다.

○ R V M은 대부분 J a v a로 쓰여 졌으며 자신이 H o s t가되어 J a v a

코드를 수행한다. 즉 자신의 수행을 위한 제 2의 V M은 필요

없다. Java는 원래 사용자 프로그램이 원본 그대로 어떤 플랫

폼에서도 가동되게 설계되었다. RVM이 컴파일러와 M a c h i n e

Code 사이에서 이를 수행한다. RVM은 I B M의 J V M ( J a v a

VM) 프로젝트인 J a l a p e n o의 일한으로 Watson 연구소에서 개

발되었다.

다. 설계의요점

○ R V M은 J V M의 Test-bed 형성이 목적이었다. AIX/PowerPC의

SMP (Symmetrical Multiprocessor)를 사용하여 성능의 우수성

을 확보하였다. 되도록 많은 플랫폼에 올릴 수 있도록 그러면

제4장 산업계 Virtual 기술제품 동향 5 7

서도 해당 O/S 의존도를 최소화하려고 노력하였다. 성능향상

을 위하여 자주 쓰이는 V M M의 코드는 사용자 코드에 지접

넣어 컴파일 하였다. 빠른 파일 시스템 사용기능은 O/S 의존

도를 피하기 위하여 J a v a가 아닌 C Library를 사용하였다. 그

외에도 Exception Handling, Type Checking 등도구현하였다.

3. VMware, Inc.( 1 5 )

○ 산업계 표준으로써 가상화 인프라 소프트웨어 선두주자인

V M w a r e사는V M w a r e가 Redmond Magazine Editors가 선택한

“최고 데스크톱 가상화 상품”상을 획득했다고 2 0 0 5년 1 1월

1 4일 발표했다. Redmond Magazine은 Microsoft IT 공동체의

독립 언론지다. Window 플랫폼 환경 IT 전문 상품, 뉴스, 실

세계기술, 산업계 정보를 주로 싣는다. VMware사는 이번이

산업계 중심 상으로는 4 번째이다.

○ 6 년 전에 소개된 VMware Workstation은 오늘날 수백만 명이

소프트웨어 개발, 시험, 또는 배치 목적으로 사용한다.

V M w a r e는 x86 O/S, Windows, Linux, Netware, Solaris x86 등

의 가상컴퓨터를 제공한다. 개발자들에게 그들이 요구하는 환

경을 저비용으로 즉시 맞춰줌으로써 개발에 더 많은 신경을

쓸 수 있도록 한다.

○ VMware Workstation5는 VMware ESX Server에서나 가능했

5 8 IT 자원 가상화 기술

던 Memory 공유, 다층구조 응용환경 등 기능을 제공하여 실

세계환경을 D e s k t o p에서 맞볼 수 있게 한다. VMware로 생성

된 V M들은 GSX Server나 ESX Server에 배치될 수 있다. 일

단 배치되면 관리 소프트웨어인 Virtual Center가 이들을 관리

한다. 그래서 개발환경으로부터 테스트환경으로 자유롭게 옮

길 수 있다.

○ VMware 베타버전 Workstation 5.5가 준비 중이다. 여기에는

AMD 64bit 기술, Intel Extended Memory 64기술( E M 6 4 T ) ,

Intel VT System, 2-way Virtual SMP 등 신기술을 채택한다.

○ 또한, VMTN(VMware Technology Network)이 D e v e l o p m e n t

M a g a z i n e의 독자 선택“가장 혁신적인 도구”상을 받았다.

V M T N은 포괄적으로 산업계의 가장 강력한 Pre-build, Pre-

configured 집합체이다. BEA System, MySQL, Novell, Oracle,

Red Hat들이 최초로 V M에 소프트웨어를 배포한 Vendor 들

이다. 강력한 산업계 가상화 플랫폼으로 Data Center Server,

ESX, Server 3, 등이 꼽히고 있다.

○ 또한 하드웨어를 분리하고, 응용을 임무전용 환경으로 집결시

키는 소프트웨어인 Virtual Center 2가 있다. 이는 비용을 줄이

고 분산 환경을 지원한다. 이는 Virtual 인프라를 관리하는 소

프트웨어로 Data Center를 관리하는 다음 물결을 주도 할 것

이다.

제4장 산업계 Virtual 기술제품 동향 5 9

4. Hewlett-Packard Integrity Vi r tual Machines( 1 6 )

○ HP Integrity VM은 HP-UX Virtual Partitions(xPars)와 H P

Process Resource Manager(PRM)의 혼합형태다. 즉 C P U나

I / O를 요구하는 응용들을 별도의 다수 Guest VM을 생성시

켜 단일 서버가 처리하게 함으로써 유연성과 다중처리를 제

공한다.

○ 데이터 센터의 이용율이 낮은 자원들을 결합시켜 총괄 이용도

를 높여서 총체적 처리능력을 증가시키고 유연성을 부여하는

해법을 제공한다. 결합은 하드웨어, O/S, 미들웨어, 응용계층에

서 일어날 수 있다. 그러나 H P는 하드웨어 결합방법을 택하여

효과를 최대화시켰다.

○ 응용에 따라 피크타임에 높은 활용시간을 할당하고 보통 때는

낮은 시스템 이용을 할당받아 전체 시스템 이용률을 높였다.

Integrity VM은 하드웨어 자원을 응용이 필요에 의하여 요구

하는데 따라 할당한다. 또한 CPU, 디스크, 랜 카드 등을 단수

나 복수로 V M에 할당함에 있어서 유연성을 발휘하였다.

○ 사용자 우선권을 활용하여 VM 생성, 배치, 모니터링, 테스트

를 위한 분리 독립 등을 수행하여 Host 서버에서 V M들을 관

리할 수 있게 하였다. GlansPlus를 이용하여 자원 활용도를 관

찰할 수 있다. HP ProLiant Essentials Server를 위한 V i r t u a l

Machine Management Package 가격은 $ 4 4 6이다.

6 0 IT 자원 가상화 기술

5. Microsoft Vi r tual PC( 1 7 , 2 4 )

○ 2 0 0 3년 1 1월 출시된 Virtual PC는 다수의 O / S를 장착하여 각

기 다른 환경들을 구동시킬 수 있다. 예를 들면 <그림 4 - 1 >과

같이 WindowXP Host에 W i n d o w N T와 W i n d o w 9 8을 함께 올

릴 수 있다. 이들 O / S로 운영되는 V M에 변화를 가하여도 플

랫폼에는 영향을 주지 않는다. 따라서 컴퓨터 O / S를 업그레이

드 시켰어도 옛 응용들은 그대로 사용할 수 있다. 이 제품은

Virtual 기술의 선두주자인 Connectix 사의 기술이다. 이 제품

의 빠른 환경 변화 능력은 회사 일반 업무는 물론 C a l l - c e n t e r

나 교육에서도 업무수행 능률을 올릴 수 있다.

제4장 산업계 Virtual 기술제품 동향 6 1

<그림 4-1> Virtual PC( 1 7 )

(WindowXP Host위에 W i n d o w N T와 Window98 Guest VM이 형성되었다. )

○ 각 Window 버전에 Virtual PC를 장치시키려면 Setup 프로그

램을 이용하여 사용자 환경에 I n s t a l l한 다음, Guet Window 버

전에 맞게 Virtual Machine 구성 디스크 이미지를 만든다.

Virtial Machine에는 유일한 이름이 부여되고 Virtual Ethernet

C a r d의 MAC 주소를 재설정한다. 그리고 마지막으로 V i r t u a l

M a c h i n e을 사용자 컴퓨터에 맞게 구성을 조정하여 장착시키면

된다. 출시가격은 $ 1 2 9이다.

○ M i c r o s o f t는 Java VM도 서비스하였었다. 그러나 S u n

Microsystem 사의 제소로 서비스를 중단한 상태이다. 다만

2 0 0 7년까지는 전환기로 사용은 일시적으로 허락한 상태이다.

따라서 Java VM을 내려받기 하려면 Sun Microsystem의

W e b - s i t e를 이용하여야한다. 한편 M i c r o s o f t사는 자체 J V M을

마련하여 WindowXP SP1 버전에 포함시켜 출시하고 있다.

Window Update 창에서 WindowXP SP1을 내려받기 하면

Java VM을 장착할 수 있다. Window용과 M a c k i n t o s h용

Virtual PC들도 Windows Update 창으로부터 내려받기 하면

장착할 수 있다.

6 2 IT 자원 가상화 기술

○ 본 장에서는 IT 자원의 가상화기술과 관련된 기술문헌 분석을

통해 연구개발 현황 및 기술의 발전 추이를 분석하고자 한다.

1. 정보분석대상DB - INSPEC

○ I N S P E C은 영국의 전기공학회( I E E )의 정보부인 I N S P E C ( I n -

formation Service for the Physics and Engineering Communica-

제5장 기술문헌 분석 6 3

제5장

기술문헌 분석

<표 5-1> INSPEC 수록분야

Atomic and Molecular Physics Gases, Fluid Dynamics, and Plasmas

Computer Programming and Applications General Topics

Computer System and Equipment Elementary Particle Physics

Condensed Matter:Electrical, Magnetic,and Optical Properties

Instruments and Measurement

Condensed Matter:Structure, Thermal,and Mechanical Properties

Interdisciplinary Subjects

Control TechnologyInformation/communication Science andE n g i n e e r i n g

Electrical and Magnetic Devices Mathematics and Mathematical Physics

Electromagnetics, Optics and Circuits Nuclear Physics

Electronic Engineering Power Systems and Applications

t i o n )에서 제작되는 데이터베이스로서 물리, 전기전자, 컴퓨터,

제어공학, 정보기술분야의 4개의 초록지“Physics Abstracts,

Electrical & Electronics Abstracts Computer & Control

Abstracts, IT Focus-Information Technology Update for

M a n a g e r "의 내용을 수록하고 있다.

2. 분석범위및 방법

○ IT 자원의 가상화기술과 관련된 기술문헌을 조사하기 위하여

I N P E C에서 제공하고 있는 Controlled Vocabulary 필드를 사용

하였으며, "Virtual Machine"을 키워드로 1 9 9 0년 이후에 발표

된 논문만을 검색하였다.

3. 연도별논문및 누적논문분석

○ <그림 5 - 1 >에 I N S P E C에서 검색된 관련 문헌의 연도별 수록건

수와 누적건수를 나타내었다. 여기에서 2 0 0 5년의 데이터는 아

직 등록되지 않는 자료들이 많이 있음을 미리 밝혀둔다.

6 4 IT 자원 가상화 기술

DB명 수록내용 및 범위 검색편수

INSPEC물리, 전기전자, 컴퓨터, 제어공학, 정보

기술분야의 4개의 초록지의 내용을 수록4,887

<표 5-2> 대상 DB 검색결과 건수

○ 등록 자료 편수별로 살펴보면, 1990년 2 4 4편, 1991년 2 0 9편,

1 9 9 2년 2 0 4편 등 9 0년대 초반에는 다소 감소하는 모습을 보이

다가, 1993년 2 8 0편에서 1 9 9 7년 4 6 2편까지 계속 증가하였다. 그

러나 그 이후 현재( 2 0 0 5년)까지 계속해서 감소하는 양상을 보

이고 있다.

4. 기술분류분석

○ <그림 5 - 2 >는 IT 가상화기술관련 논문들이 속한 기술분류를

해당 편수순서로 상위 2 0개를 나타낸 그림이다.

○ Virtual Machine은 컴퓨터 구조에 관한 연구 성격이 많아 당연

하게Computer engineering 2913개로 가장 많았으며, 다음으로

제5장 기술문헌 분석 6 5

<그림 5-1> 연도별 논문 발표 편수 및 누적 편수

Distributed systems software 1460개, Multiprocessing systems

9 2 9개, 자바의 특징인 Object-oriented programming 755개 등으

로 나타났다.

5. 키워드분석

○ <그림 5 - 3 >은 IT 가상화기술관련 논문들이 가지고 있는

Controlled Vocabulary 중에서 Virtual machine를 제외하고 출현

빈도가 높은 1 6개 키워드를 나타낸 그림이다.

○ I n t e r n e t상의 수백 수천 P C들로 M u l t i p r o c e s s o r ( S u p e r c o m p u t e r )

를 구성하여 PC 수나 연결된 형태에 따른 P e r f o r m a n c e

6 6 IT 자원 가상화 기술

<그림 5-2> 발표 논문의 기술분류 현황

Evaluation 728개, Java 573, Multiprocessing인 P a r a l l e l

Programming 562개, Parallel Architectures 422개, Parallel

Machines 354개, 등으로 나타났다.

6. 저자분석

○ 미국 아틀란타의 Emory University의 Sunderam, V.가 총 3 3편

의 논문으로 IT 가상화기술분야에서 가장 많은 논문을 내고

있고, 그 뒤로 그리스 Aristotle University of Thessaloniki의

Karatza, H. D.가 1 9편, 일본 Keio University의 Amano, H.가 1 7

편, Emory University의 Migliardi, M.가 1 6편의 논문을 발표하

고 있다.

○ 미국의 Emory University 대학소속 연구자들이 1위와 4위를

제5장 기술문헌 분석 6 7

<그림 5-3> 발표 논문의 키워드 현황

차지하고 있어, IT분야에서의 일반적인 미국의 강세와 함께

Emory University의 연구성과가 IT 가상화기술에서는 미국의

다른 유수대학보다 우수함을 알 수 있다.

6 8 IT 자원 가상화 기술

<그림 5-4> 발표 논문의 저자별 발표 현황

1. 차세대컴퓨팅의핵심기술

○ 전술한 바와 같이 가상화기술은 인터넷이나 그리드 상에 결집

되어있는 이질적 컴퓨터들의 하드웨어와 소프트웨어 환경을

동일화 시켜주는 역할을 한다. 이 기능은 인터넷이라는 슈퍼

IT 인프라를 단수한 연결성에 바탕을 둔 통신이나 Web 문서

공동 활용이란 초보적 이용형태로부터 상호협동 작업과 모든

I T자원의 매끄러운 공동 활용이라는 고차원적 활용형태로( 6 )

격상시켜 그 잠재력을 십분 이용할 수 있게 한다.

○ 즉, 지금까지 플랫폼의 이질성과 소프트웨어의 비 호환성 때문

에 성취할 수 없었던 인터넷을 비롯한 IT 자원의 꿈같은 고차

원적 이용들이 탄생되고 확산될 것이다. 이는 앞으로 다가올

정보낙원시대(Information Utopia)를 주도할 차세대 컴퓨팅기

술의 핵심 기술임을 의미한다.

제6장 정책제언 6 9

제6장

정책제언

2. 가상화기술의산업화전략

○ 제2장과 제3장에서 검토한 바와 같이 가상화기술은 하드웨어

와 소프트웨어 사이에 간접층 가상화 미들웨어를 삽입함으로

써 실현되는 것이다. 연구동향과 시장동향에서 밝혔듯이 하드

웨어, 소프트웨어, 시스템 공급자를 중심으로 각종형태의 V M

제품들이 제공되고 있다.( 1 3 - 1 7 ) 따라서 사용자는 자기 응용에 맞

는 V M제품을 설치하여 여러 가지 다른 형태의 V M을 구현할

수 있다.

○ 이러한 상황에서 가상화기술을 산업화하여 시장에 끼어들 수

있는 접근방법은 두 가지라고 볼 수 있다. 첫째는 VM 소프트

웨어 및 하드웨어 제품을 직접 개발하는 방법과, 둘째는 기존

시장 V M제품들을 이용하여 고차원적 응용사례 프로젝트를

출범시키고 완성시켜 Plant 기술을 확보하는 접근방법 등이다.

두 방법 모두 결과적으로 특수용 V M이라는 신 가상화기술제

품으로 시장에 진입하게 될 것이다. 어느 방법이 더 효과적인

가는 기술개발 주관 기업이나 단체의 경제규모나 경영전략의

함수가 될 것이다.

7 0 IT 자원 가상화 기술

3. VM 소프트웨어/하드웨어제품개발전략

○ Process VM 시장은 이미 Java VM과 D y n a m o가 선점했다고

볼 수 있다. Java의 Object-oriented 기능과 인터넷 프로그램 기

능 때문에 분산 컴퓨팅에서 많이 이용되고 있다( 1 ) . D y n a m o는

코드최적화로 최고의 성능을 실현하였다. 우리가 할 수 있는

것은 특수 응용에 성능이나 관리 면에서 최적인 코드나 언어

체계를 개발하여 이에 해당하는 V M기술을 개발하는 것이 틈

새시장 전략이 될 것이다.

○ 제3, 4장에서 보듯이 시스템 V M시장은 Virtual PC, VMware,

IBM, HP, 인텔 등이 선점했다. 이들은 주로 하드웨어와 O / S

환경 차이를 동일화시켜 시스템적 호환성을 확보하여 종국적

으로 응용의 플랫폼 장벽을 허문 것이다. 우리나라는 자체

C P U나 O / S가 없는 상황에서 이 시장에 뛰어드는 것은 거의

불가능하다. 그러나 고차원적 특수목적 이용사례를 위한 고전

적 V M이나 공동설계 VM 등의 V M M을 개발하는 것이 틈새

시장 전략이 될 수 있다.

제6장 정책제언 7 1

4. 고차원적응용사례개발전략

○ Process VM 기술이나 하드웨어 알몸위에 V M M이 울라가는

고전적 VM 기술을 개발할 수 있는 고차원적 응용사례를 개

발하면 신제품 V M기술이 탄생될 수 있을 것이다. 다음은 실

용적 고차원 응용사례가 될 것이다.

○ MPP 기술개발( 2 3 , 2 7 ):가상 분산 환경과 Process VM기술을 결

합하면 여러 가지 M P P를 실현할 수 있을 것이다. 이미 J a v a

를 이용한 MPP 성능시험이 이루어졌다. 그러나 유전자구조

분석이나 양자역학적 계산을 위한 특수목적 슈퍼컴퓨터 개발

은 계속되는 연구영역이 될 것이다.

○ 고차원적 G r i d( 2 7 ):그리드 상에 연결된 각종 이질적 컴퓨터, 슈

퍼컴퓨터, 고성능 실험장비, 가시화 기술 등을 연동하여 협동

작업 하는 응용사례를 개발할 수 있을 것이다. 이는 장비공용

그리드, 실시간 공동실험 그리드, Access 그리드의 혼합형태일

것이다. 이 들은 실시간 기상예보나 실시간 실험 기술 심포지

엄 등에 이용될 것이다.

○ 홈 네트워크를 기반으로 한 유비쿼터스에 V M이 활용될 수

있다.( 2 8 , 2 9 ) 가정용 컴퓨터를 위하여 고가의 Virtual Server를 구

입할 수는 없는 일이다. 그래서 가정용 P C에 V M M을 올리고

Default O/S를 TV 운영체계로 한다. 여기에 보안, 조명, 실내

온도조절, 냉장고 등 가전제품, 자동차, 인터넷 등을 연결한다.

7 2 IT 자원 가상화 기술

이러한 이질적 장비를 통합 운영하는 V M M은 기존 VM 제품

들과 차별화 될 것이다.

○ 원격 교육에도 V M이 이용돼야 할 것이다. 교내 유무선 망에

인터넷, 휴대장비, 각종 실험장비나 소프트웨어 등을 연동하면

기존의 e - l e a r n i n g보다 한 차원 높은 교육의 유비쿼터스를 실

현할 수 있을 것이다. 휴대장비로 이 기종 서버에 있는 화학반

응 소프트웨어를 가동시켜 답을 얻고 교수의 질문에 휴대장비

로 답할 수 있다. 교수는 학생들의 이해 정도를 실시간으로 파

악할 수 있어 강의 질을 향상시킬 수 있다.( 3 0 )

제6장 정책제언 7 3

7 4 IT 자원 가상화 기술

참고문헌

1. D. J. Eck, “Introduction to Programming Using Java Version

3.0, Summer 2000", .hws.edu/eck/, May 2000.

2. 민중서림 편집국, “엣센스 영한사전”, 민종서림, 1980.

3. J. Pearsall, B. Trumble, “The Oxford English Reference

Dictionary", Oxford Universiry Press, 1995.

4. J. E. Smith, R. Nair, “The Architecture of Virtual Machine",

IEEE Computer Society, 38(5), 2005.

5. M. Rosenblum, T. Garfinkel, “Virtual Machine Monitors:

Current Technology and Future Trends", IEEE Computer

Society, 38(5), 2005.

6. 김진석, 조홍곤, 윤명현, “그리드 컴퓨팅 기술개요 및 최신 국내

외 기술동향”, 한국과학기술정보연구원, 2004. 12.

7. A. N. Habermann, “Intoduction to Operating System Design",

Science Research Associates, Inc. 1976.

8. E. I. Organic, A. I. Forsythe, R. P. Plummer, “P r o g r a m m i n g

Language Structures", Academic Press, 1978.

9. A. Nichol, “Virtual Memory in Window XP", http://aubha.org/

win5/a/xpvm.php , February 13, 2005

10. R. Uhlig, G. Neiger, et al., “Intel Virtualization Technology",

참고문헌 7 5

IEEE Computer Society, 38(5), 2005.

11. A. Whitaker, R. S. Cox, et al., “Rethinkingthe Design of

Virtual Machine Monitors", IEEE Computer Society, 38(5),

2 0 0 5 .

12. P. Ruth, X. Jiang, et al., “Virtual Distributed Environments in

a Shared Infrastructure", IEEE Computer Society, 38(5), 2005.

13. Postef by Jack McCarthy, October 18, 2005, “Virtualization ramp

up is real-IDC",

http://weblog.infoworld.com/techwatch/ archives/004321.html

14. Jikes Research Virtual Machine(RVM)",

h t t p : / / w w w - 1 2 8 . i b m . c o m / d e v e l o p e r w o r k s / j a v a / l i b r a r y / j - j a l a p e n o /

15. “V M w a r e”, http://www.vmware.com/news/releases/redmond_

award.html

16. “Virtual Machine",

http://searchsmb.techtarget.com/ sDefinition/0,,sid44_g c i 2 1 3 3 0 5 , 0 0 ,

g t n k

17. “Microsoft Virtual PC 2004”,

http://www.microsoft.com/ windows/virtualpc/default.mspx

18. J. Sugerman, G. Venkitachalam, and B-H. Lim, “V i r t u a l i z i n g

I/O Devices on VMware Workstation's Hosted Virtual Machine

Monitor," Proc. General Track:2001 Usenix Ann. Technical

Conf., Usenix Assoc., 2001, pp.1-14.

19. T. L. Borden, J.P. Hennessy, and J.W. Rymarczyk, “M u l t i p l e

Operating System on One Processor Complex," IBM Systems

7 6 IT 자원 가상화 기술

J., Jan. 1989, pp.104-123

20. X. Jiang and D. Xu, “S O D A:A Service-on-Demand

Architecture for Application Hosting Utility Platforms", Proc.

12th IEEE Int'l Symp. High Performance Distributed

Computing(HPDC-12), IEEE CS Press, 2003, pp.174-183.

21. D. Box, Essential .NET, Volume 1:The Common Language

Runtime, Addison-Wesley. 2002.

22. A. Sundararaj, and P. Dinda, “Toward Virtual Networks for

Virtual Machine Grid Computing," Proc 3rd Usenix Virtual

Machine Technology Symp., Usenix, 2004, pp.177-190.

23. X. Jiang, and D. Xu, “V i o l i n:Virtual Internetworkingon

Overlay Infrastructure," Proc. 2nd Int'l Symp. Parallel and

Distributed Processing and Applicationa, LNCS, 3358, Springer-

Verlag, 2004, pp.937-946.

24. E. Traut, “Building the Virtual PC," Byte, Nov. 1997, pp51-52.

25. “Linux 가상메모리”, http://web.mit.edu/rhel-doc/4/RH-

D O C S / r h e l - i s a - k o - 4 / s 1 - m e m o r y - c o n c e p t s . h t m l

26. F. G. Solyis, Inside the As/400, Duke Press, 1996. VMware

27. 이상산, 변옥환, “국가 그리드기반 구축사업보고서”, KISTI/정

통부, 2003. 1. 31.

28. 신동필, “게이터택 지능형주택:프로그램가능 확산 공간”,

h t t p / / : w w w . r e s e a t . r e . k r /

29. 신동필, “룸웨어:컴퓨터는 사라지고 대화는 발전하다”, 지식

정보인프라/ KISTI, 2005. 7.

참고문헌 7 7

30. G. Friedland, K. Pauls, “Architecting Multimedia Environments

for Teaching", IEEE Computer Society, 2005.06., pp.57-64.

7 8 IT 자원 가상화 기술

참고문헌 7 9

IT 자원 가상화 기술2 0 0 5년 1 2월 1 5일 인쇄

2 0 0 5년 1 2월 2 0일 발행

발 행 처

서울특별시 동대문구 청량리동 2 0 6 - 9

◯우 1 3 0 - 7 4 2

전화:3 2 9 9 - 6 1 1 4

등록:1 9 9 1년 2월 1 2일 제5 - 2 5 8호

발 행 인

조 영 화

인 쇄 처

이룸출판사

BA512 신동필·여운동

저자소개

신 동 필

•미국 Oklahoma 대학교, 컴퓨터과학 박사.•한국과학기술연구소/시스템공학연구소소장•현, 한국과학기술정보연구원 전문연구위원•저서:생각하는 컴퓨터 등

여 운 동

•현, 한국과학기술정보연구원 연구원•저서:블루투스 기술동향 등