30년 전 일이다. 세계적 컴퓨터회사인 IBM은 가상화기술(Virtualization Technology)을 처음 개발했다. 가상화란 일반적으로 컴퓨터 한 대에서 운용체계(OS)나 소프트웨어를 여럿 가동할 수 있는 기술을 뜻하는데, 실제로 존재하지 않는 가상의 시스템을 만들어 사용하므로 그 같은 이름이 붙었다.
가령 흔히 사용하는 컴퓨터는 윈도만을 운용체계로 하기 때문에 매킨토시로 디자인작업을 하는 사람이라면 두 대의 컴퓨터가 필요하다. 그러나 컴퓨터의 하드웨어인 CPU에 가상화를 가능하게 하는 가상머신(VM) 프로그램을 깔면 윈도와 매킨토시를 동시에 운용체계로 설치할 수 있다. 컴퓨터 안에 또 다른 컴퓨터가 존재하는 셈이다.
컴퓨터 가격이 비쌌던 당시에는 한 대의 컴퓨터로 수많은 기능을 수행하길 원했다. ‘필요는 발명을 낳는다’고 IBM의 가상화기술이 등장하자 컴퓨터 한 대가 서로 다른 역할을 해내며 열렬한 환영을 받았다. 그러나 컴퓨터 가격이 뚝뚝 떨어지면서 가상화기술의 인기도 시들해졌다. 굳이 컴퓨터 한 대로 많은 일을 처리할 필요가 없어진 것. 가상화기술은 잠시 정체기를 맞았지만 10년 전부터 하드웨어뿐만 아니라 소프트웨어에도 적용되면서 다시 주목받고 있다.
운용체계 간 교통정리하는 가상머신
“디지털TV와 휴대전화는 고유기능이 따로 있지만 각종 응용 소프트웨어를 다운로드해 컴퓨터나 게임기로 활용할 수 있습니다. 가상머신이 고유기능을 담당하는 운용체계와 다운로드한 콘텐츠를 처리하는 운용체계가 부딪히지 않게 처리해주죠.”
KAIST 컴퓨터구조연구단 이준원 교수는 컴퓨터에 설치된 윈도와 리눅스 사이에서 교통정리를 해주는 가상머신 소프트웨어를 개발 중이다. 운용체계가 두 개인 컴퓨터의 경우 에러가 생겼을 때 비교적 대처하기 쉽지만 더 많은 운용체계를 가진 컴퓨터나 디지털TV, 휴대전화 같은 기기는 본래의 기능이 먹통이 될 정도로 치명적이다.
과거 IBM의 경우 컴퓨터 CPU부터 운용체계, 소프트웨어까지 모두 한 기업이 생산했기 때문에 가상화기술을 적용하기가 수월했다. 그러나 오늘날에는 인텔이 생산한 칩에 마이크로소프트(MS)의 운용체계를 깔고, 여기에 다양한 소프트웨어를 설치하기 때문에 기술을 표준화시킬 필요성이 대두했다. 이 교수는 “가상화 컴퓨팅 기술이 피할 수 없는 대세라는 인식이 굳어지면서 인텔은 가상화를 지원하는 CPU칩을 생산하고 있다”면서 “가상머신 소프트웨어를 생산하는 VM웨어는 ‘제2의 구글’로 불릴 정도로 성장했다”고 말했다.
1998년 미국 스탠퍼드대 연구팀이 개발한 VM웨어는 컴퓨터의 하드웨어인 CPU와 RAM, 하드디스크를 변환해 여러 개의 가상머신을 시스템 안에 만든다. 뒤이어 영국 케임브리지대 연구팀이 2003년 내놓은 젠(Xen)은 일반인에게 그 소스를 무료로 공개한다. 이 교수는 이 같은 가상화 소프트웨어를 가전제품에 적용하기 위해 더 빠르면서 용량이 작은 방향으로 개선하고 있다.
컴퓨터를 부팅하는 데 걸리는 시간을 줄이고 디지털TV의 채널 전환 속도를 향상시키기 위해서 이 교수는 컴퓨터를 부팅할 때 뜨는 이미지나 디지털TV의 메인화면을 압축해 플래시메모리에 저장하는 연구를 진행 중이다. 플래시메모리를 기기에 꽂기만 하면 기다리는 지루함 없이 바로 메인화면을 띄울 수 있다. 컴퓨터의 운용체계는 수많은 프로그램 언어의 반복(루프)으로 구성되는데, 이 중 시간을 가장 많이 잡아먹는 과정을 찾아내 줄이는 연구도 하고 있다. 이 교수는 “미세한 차이가 속도를 결정하므로 ‘마른 수건도 쥐어짜듯’ 정교한 분석을 되풀이한다”고 덧붙였다.
현재 포토샵이나 한글 같은 프로그램을 컴퓨터나 개인휴대단말기에 일일이 설치하지 않아도 바로 사용할 수 있게 하는 가상화 소프트웨어가 속속 등장하고 있다. 윈도뿐만 아니라 리눅스와 매킨토시의 운용체계를 동시에 사용할 수 있는 가상화기능이 컴퓨터에 탑재되면서 MS의 독주도 제동이 걸리고 있다.
컴퓨터의 활용률을 200% 끌어올리는 가상화기술을 한국이 선도하는 그 날을 위해 컴퓨터구조연구단은 벚꽃 흩날리는 봄날에도 컴퓨터와 씨름을 계속할 각오다.