KR20060108711A - 액티비티 정보를 이용한 가상 머신 관리 - Google Patents

액티비티 정보를 이용한 가상 머신 관리 Download PDF

Info

Publication number
KR20060108711A
KR20060108711A KR1020067011502A KR20067011502A KR20060108711A KR 20060108711 A KR20060108711 A KR 20060108711A KR 1020067011502 A KR1020067011502 A KR 1020067011502A KR 20067011502 A KR20067011502 A KR 20067011502A KR 20060108711 A KR20060108711 A KR 20060108711A
Authority
KR
South Korea
Prior art keywords
virtual machine
activity
virtual
monitor
resource
Prior art date
Application number
KR1020067011502A
Other languages
English (en)
Other versions
KR100885346B1 (ko
Inventor
비자이 테와리
Original Assignee
인텔 코오퍼레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코오퍼레이션 filed Critical 인텔 코오퍼레이션
Publication of KR20060108711A publication Critical patent/KR20060108711A/ko
Application granted granted Critical
Publication of KR100885346B1 publication Critical patent/KR100885346B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Abstract

본 명세는, 가상 머신(들)의 액티비티에 관한 정보를 이용한 가상 머신 관리에 관한 것으로, 보다 구체적으로는 가상 머신(들)의 액티비티에 대하여 적어도 부분적으로 기초하여 가상 머신(들) 간에 자원을 재할당하는 것에 관한 것이다.
가상 머신, 가상 머신(들)의 액티비티, 가상 머신 관리

Description

액티비티 정보를 이용한 가상 머신 관리{VIRTUAL MACHINE MANAGEMENT USING ACTIVITY INFORMATION}
본 명세는, 가상 머신(들)의 액티비티에 관한 정보를 이용한 가상 머신(들)의 관리에 관한 것으로, 보다 구체적으로는, 가상 머신(들)의 액티비티에 적어도 부분적으로 기초하여, 가상 머신(들) 간에 자원을 재할당하는 것에 관한 것이다.
머신 자원의 가상화(virtualization)가 오랫동안 상당한 관심사가 되어 오고 있지만, 딥플리 파이프라인/수퍼 파이프라인, 하이퍼쓰레드된 프로세서 및 EPIC(Explicitly Parallel Instruction Computing) 아키텍처를 갖는 프로세서와 같이 프로세서들이 더욱 더 다양하고 복잡해지고, 명령 및 데이터 캐시가 더 많아짐에 따라, 머신 자원의 가상화는 더 큰 관심사가 되고 있다. 일부 판매업자들은, 머신을 파티션을 나누어, 머신의 하부 하드웨어가 하나 이상의 독립적으로 동작하는 가상 머신(virtual machines; VM)으로서 보이도록 하는 소프트웨어 제품을 제공한다. 통상, 이는 상기 하드웨어 상에서 VMM(Virtual Machine Monitor)라고 불리는 얇은 소프트웨어 층을 실행시킴으로써 달성되는데, VMM은 층 상에서 하나 이상의 VM을 실행시키는 것을 돕는다. VM의 개념은, VM 내에 인스톨된 소프트웨어가 자신이 하부 하드웨어의 배타적 소유권을 갖는다는 것을 믿는다. 한편, 각 VM은 자신의 OS(operating system), 또는 OS의 카피, 및/또는 다양한 소프트웨어 어플리케이션을 실행시키는 독립형 플랫폼으로서 기능할 수 있다. VM 내에서 실행되는 소프트웨어를 일괄하여 "게스트 소프트웨어"라고 부른다.
VM의 제어기라고도 생각할 수 있는 통상의 VMM은, 특정한 상황에서 하부의 물리적 머신에 대한 직접적인 억세스를 허용함으로써, VM의 성능을 향상시킬 수 있다. 이는 특히, 물리적 머신에 대한 억세스를 제한하는, 게스트 소프트웨어의 논-프리빌리지 모드(non-privileged mode)에서 오퍼레이션이 수행되고 있을 때, 또는 VMM이 제어를 유지하고자 하는 물리적 머신의 하드웨어 자원을 오퍼레이션이 이용하지 않을 때 특히 적당할 수 있다. VMM은 물리적 머신의 레지스터, 프로세서, 디바이스, 메모리의 안밖으로 게스트 소프트웨어 상태를 스왑핑할 수 있는 한편, 프로세서는 VM과 VMM 간의 전이 동안에 일부 상태를 안밖으로 스왑핑할 수 있다.
VMM에 의한 각종 VM으로의 종래의 자원 할당은, 라운드-로빈 또는 다른 소정의 우선권 기반 방식에 따라 각종 VM들 간의 타임-슬라이싱에 의존한다. 예를 들어, 각 VM에 대한 미리 결정된 할당 시간 기간(또는 시간량)이 메모리에 저장되어, 각 VM에 대한 이전에 할당된 시간 기간에 기초하여 VM들 사이에서 주기적으로 스위칭하도록 VMM에 지시한다 라운드-로빈 또는 미리 결정된 우선권 기반 방식은, VMM이 미리 정해진 계획이나 방식을 따르도록 제한되어 있기 때문에, VMM에 임의의 파인-그레인 제어(fine-grain control) 또는 VM을 관리하는 것에 관한 권한을 제공하는데 본래 실패한다. 달리 말하면, 오늘날 이용 가능한 방법, 장치 및 시스템은 통상 VM의 타임-슬라이싱 또는 라운드-로빈에 제한되며, 프로세서의 특징 및/또는 히스토리, 게스트 소프트웨어의 특징 및/또는 히스토리, VM의 특징 및/또는 히스토리, 및 머신의 특징 및/또는 히스토리를 포함하는 프로세서 상태 정보를 이용하여 VM들 간의 지능적인 스왑핑을 VMM을 제공하지 못한다.
캘리포니아주의 팔로알토(Palo Alto)의 VMWare, Inc.(VMWare)에 의해 제안된 한가지 솔루션은, VMM을 이용하여 VM들 간의 스왑핑을 하는 OS 쓰레드-스케쥴링에 의존한다. VMWare 솔루션은, 하부 하드웨어에서 실행되는 오퍼레이팅 시스템에 의해 제공되는 설비를 이용하여, 단일의 머신 상에서, 리눅스 및 마이크로소프트 윈도우 등의 2개 이상의 오퍼레이팅 시스템을 실행시키는 것을 제공한다. 이 시스템은, VM을 스케쥴링하기 위해 OS 스케쥴링 정책에 의존한다. 그러나, 프로세서 상태에 대한 지식또는 심지어는 프로세서도 없이 (VM을 스케쥴링하기 위한) OS 스케쥴링에 기초한 가상화를 수행한다. 또한, VM 기능이 하드웨어로 옮겨감에 따라, 프로세서의 컨텍스트-스위치 인터벌을 최적화하고자 시도하는 OS 기반 솔루션이 프로세서, 하부 시스템 및 그 동작에 대해서 덜 인지하고 있거나 심지어는 전혀 인지하고 있지 않을 가능성이 있다. 또한, OS 기반 솔루션은 상이한 프로세서들의 특징을 수용하지 않을 뿐만 아니라, 단일의 패밀리의 프로세서의 특징을 수용하지도 않는다.
주제(subject matter)는 본 명세서의 결론 부분에서 특별하게 지시되고 명확하게 청구된다. 그러나, 목적, 특징 및 장점과 함께, 구성 및 동작 방법에 관한 개시된 주제는, 첨부된 도면을 판독할 때 다음의 상세한 설명을 참조하여 가장 잘 이해될 수 있다.
도 1은 개시된 주제에 따라 가상 머신(들) 간에 자원을 재할당하는 기술의 실시예를 나타내는 흐름도이다.
도 2는 개시된 주제에 따라 가상 머신(들)의 액티비티에 관한 정보를 이용하여 가상 머신(들)의 관리를 허용하는 시스템 및 장치의 실시예를 나타내는 블록도이다.
다음의 상세한 설명에서, 현재 개시되는 주제의 완전한 이해를 제공하기 위해 많은 상세에 대하여 설명한다. 그러나, 당업자는 개시된 주제가 이러한 상세 없이 실행될 수 있다는 것을 이해할 것이다. 다른 경우, 공지된 방법, 절차, 구성 요소 및 회로들에 대해서는, 개시된 주제가 모호하게 되지 않도록 상세하게 설명하지 않았다.
도 1은 개시된 주제에 따라 가상 머신(들) 간에 자원을 재할당하기 위한 기술의 실시예를 설명하는 흐름도이다. 블록(120)은 가상 머신(VM)의 액티비티가 모니터링될 수 있는 것을 나타낸다. 일 실시예에서는, VMM(virtual machine monitor)가 VM을 모니터링할 수 있다. 일 실시예에서는, 예를 들어, 프로세서 사용, 네트워크 사용, 디스크 사용, 또는 VM이 타임-크리티컬 태스크(time-critical task)를 수행하고 있는지 여부 등의 액티비티가 있으나, 이들은 단지 개시된 주제가 제한되지 않는 몇 가지 비 제한적인 예이다.
일 실시예에서는, VM의 실행과 실질적으로 병렬로, 액티비티를 모니터링할 수 있다. 액티비티 모니터링은, 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합으로 행할 수 있다고 생각된다. 일 실시예에서는, VM 자원 액세스가 실제 자원에 맵핑됨에 따라 모니터링될 수 있다. 일 실시예에서는, VM과 물리 시스템 간의 메시지를 포착하여, 가상 BIOS에 의해 모니터링할 수 있다. 또 다른 실시예에서는, VM과 물리 시스템 간의 메시지를 포착해서 소프트웨어 어플리케이션에 의해 모니터링할 수 있다. 일 실시예에서는, VM 액티비티를 프로세서 코어의 로직의 일부에 의해 모니터링할 수 있다. 물론, 이는 단지 개시되는 주제가 제한되지 않는 몇 가지 예시에 불과하다.
블록(130)은 액티비티가 평가되는 경우를 도시한다. 일 실시예에서는, 모니터링된 액티비티가 통칭 VM의 표준 사용 모델에 대하여 비교될 수 있다. 또 다른 실시예에서는, 모니터링된 액티비티를 조사하여 임의의 타임 크리티컬 요소를 포함하고 있는지 여부를 판정할 수 있다. 일 실시예에서는, 모니터링된 액티비티가, 가상 머신이 다른 자원은 제외하고 일부 자원만을 심하게 이용하는 것을 표시할 수 있다. 물론, 이들은 단지 모니터링된 액티비티가 어떻게 평가되는지에 대한 몇 가지 비 제한적인 예일 뿐이고, 이는 개시된 주제를 제한하지 않는다.
블록(140)은 VM의 액티비티가 가상 머신에 의해 사용되는 자원의 할당의 변화를 트리거하는지 여부를 판정할 수 있는 것을 도시한다. 일 실시예에서는, VM이 프로세서 자원을 주로 이용할 수 있다. 예를 들면, VM은 데이터를 계산하거나 리스트를 소트하는 것일 수 있다. 프로세서에 대하여 VM이 가지고 있는 액세스 량이 불충분하면, VM은 물리 프로세서에 대한 액세스를 위한 증가로부터 혜택을 받는 것 으로 판정할 수 있다. 제2의 예시적인 실시예에서는, VM이 여전히 프로세서 자원을 주로 이용할 수 있으나, 물리 프로세서 자원에 대한 액세스의 증가는 VM의 성능을 크게 증가시키지는 않는다. 이 실시예에서는, 블록(110)에 의해 도시된 바와 같이, 도 1에 의해 도시된 기술이 다음 VM에서 수행될 수 있고, 또는 단 하나의 VM만이 시스템에서 실행되고 있다면, 동일한 VM에 대하여 반복된다.
VM이 많은 자원에 대하여 액세스를 할 수 있지만, VM에 대하여 조정되거나 재할당될 수 있는 자원의 수는 VM에 이용할 수 있는 총 자원보다 작을 수 있다는 것을 생각해볼 수 있다. 예를 들어, 일 실시예에서는, 호스트 시스템이 VM을 실행할 수 있는 시간량 만큼만 재할당될 수 있다. 다른 실시예에서는, 예를 들어, 프로세서, 네트워크 인터페이스, 하드 드라이브 등의 특정한 자원에 대한 액세스가 재할당될 수 있다. 또 다른 실시예에서는, 하나 이상의 VM의 성능을 향상시키기 위해, VM이 라운드-로빈 방식으로 실행되는 경우의 순서, 또는 VM의 우선순위가 재배열될 수 있다. 예를 들어, VM이, 예컨대 시스템 상황을 보고하거나, 또 다른 VM을 가져오는 등의 태스크를 즉각적으로 수행해야만 하는 상태에 들어가면, VM은 그 태스크를 적절하게 처리할 수 있도록, 라운드-로빈 방식의 정상적인 위치를 벗어나 가능한 한 빨리 실행하도록 설정될 수 있다. 또 다른 실시예에서는, 블록(140)은, 멀티-프로세서 또는 멀티-코어 환경에서, 특정한 VM이 특정한 프로세서 또는 코어와 프로세서 또는 코어 어피니티를 각각 갖도록 재할당 또는 구축할 수 있다. 일부 오퍼레이팅 시스템들은 특정한 프로세서 또는 코어에 대하여 프로세스를 바인딩할 것을 요구한다. 커널은, 프로세스가 재스케쥴될 때, 그 프로세서/코어 상에서 이상적으로 실행되어, 성능이 향상될 것이라는 것을 확신한다. 특정한 실시예가 전술한 재할당 기술들 중 하나 이상을 이용할 수 있고, 기술들은 상호 배타적인 것으로 간주되지 않는다는 것을 생각해 볼 수 있다. 또한, 개시되는 주제는 전술한 몇 가지 예에 제한되지 않고, 다른 자원 할당 기술들이 개시되는 주제의 범주 내에서 생각될 수 있다.
블록(150)은, 일 실시예에서, 결정된 자원 재할당이 또 다른 가상 머신과 상충되면, 실행되거나 실행되지 않는 것을 나타낸다. 예를 들어, 2개의 VM이 네트워크-바운드되어 있으면, 즉 네트워크를 통해 수신하거나 송신하는 데이터량에 의해 제한되어 있으면, 제2 VM의 성능을 저감시키지 않고, 제1 VM에 대하여 충분한 자원을 재할당하는 것이 가능하지 않을 수 있다. 도 1에 도시된 일 실시예에서는, 재할당이 발생할 수 없으면, 블록 110에 도시된 바와 같이, 재할당을 시도하지 않고, 다음 가상 머신 상에서 기술이 반복될 수 있다. 또 다른 실시예에서, 각 VM의 자원 니즈를 상세화하는 데이터베이스를 유지할 수 있다. 제안된 자원 할당이 가능하지 않으면, 새로운 자원 할당이 데이터베이스를 이용하여 처리될 수 있다. 그러나, 이들은 단지 개시되는 주제의 범주 내의 2개의 예시적인 실시예 및 다른 실시예일 뿐이다.
블록 160은, 자원이 VM에 대하여 재할당될 수 있는 것을 나타낸다. 하나의 특정한 실시예에서는, 제1 VM이 프로세서-바운드되고, 제2 VM이 네트워크 바운드되면, 추가의 프로세서 시간 또는 액세스가 제1 VM에 할당될 수 있고, 추가의 네트워크 인터페이스 액세스가 제2 VM에 할당될 수 있다. 반대로, 제2 VM의 프로세서 시 간이 감소될 수 있고, 제1 VM에 대한 네트워크 인터페이스 액세스가 마찬가지로 감소될 수 있다. 물론, 이는 단순히 예시적인 것일 뿐으로, 개시되는 주제가 여기에 제한되지 않는다.
일 실시예에서는, 도 1의 기술이, 전체적으로 또는 부분적으로, 각 VM 상에서, 블록 110에 의해 도시된 바와 같이 직렬 방식으로 실행될 수 있다. 다른 실시예에서는, 기술이 각 VM 상에서 병렬로 수행될 수 있는 것을 생각할 수 예상된다. 일부 실시예들은 기술의 일부는 병렬로 일부는 직렬로 실행할 수 있을 것으로 생각된다.
도 2는 개시되는 주제에 따라 가상 머신(들)의 액티비티에 관한 정보를 이용하여 가상 머신(들)의 관리를 허용하는 시스템(200) 및 장치(201)의 실시예를 도시하는 블록도이다. 일 실시예에서는, 장치는 복수의 가상 머신(210, 220 및 230), 및 액티비티 모니터(240), 가상 머신 모니터(VMM)(250) 및 자원 관리자(260)를 포함할 수 있다. 도 2에는 3개의 가상 머신들이 도시되어 있지만, 장치는 임의의 수의 가상 머신을 포함할 수 있다는 것을 이해해야 한다.
일 실시예에서는, 가상 머신(210, 220 및 230)은 오퍼레이팅 시스템(280) 및 각종의 어플리케이션(273, 276, 279)을 실행시킬 수 있다. 2개 이상의 가상 머신이 하나의 오퍼레이팅 시스템 또는 어플리케이션을 공유할 수 있다고 생각된다. 또한 가상 머신이 물리적 자원에 맵핑되는 복수의 가상 자원들을 이용할 수도 있다고 생각된다. 액티비티 모니터(240)는, 가상 머신의 액티비티를 모니터링할 수 있다. 일 실시예에서, 액티비티 모니터는 도 1에 의해 도시한 전술한 기술의 일부를 수행할 수 있다. 액티비티 모니터는, 하드웨어, 펌웨어, 또는 이들의 조합으로 구현될 수 있다고 생각된다.
일 실시예에서는, VMM(250)이 복수의 가상 머신에 의해 이용되는 가상 자원을 물리적 자원에 맵핑할 수 있다. VMM은 또한 시스템의 물리적 자원에 대한 가상 머신의 액세스를 관리할 수도 있다. 일 실시예에서는, VMM이 또한 가상 ATLS에 할당되는 자원을 재할당할 수 있는 자원 관리자(260)를 포함할 수도 있다. 일 실시예에서는, 자원 관리자가 도 1에 의해 도시되고 설명된 기술을 수행할 수 있다. 액티비티 모니터는 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있다.
시스템(200)은 장치(201) 및 복수의 물리적 자원(290)을 포함할 수 있다. 일 실시예에서는, 복수의 물리적 자원이, 예컨대, 마우스, 키보드, 터치 패드 등과 같은 입력 디바이스(292), 예컨대 CRT(cathode-ray-tube) 또는 LCD(liquid crystal display) 등과 같은 디스플레이(294), 예컨대 네트워크 인터페이스 카드 또는 모뎀 등과 같은 통신 디바이스(296), 메모리 요소(298) 및 프로세서(299)를 포함할 수 있다. 복수의 가상 머신(들)(210, 220 및 230)은 복수의 물리적 자원을 공유할 수 있다. 이는 각 VM에 가상의 복수의 가상 자원을 생성하고, 가상 자원을 물리적 자원에 맵핑함으로써 달성될 수 있다.
여기에 설명하는 기술은 특정한 하드웨어나 소프트웨어 구성에 제한되지 않으며, 임의의 컴퓨팅 또는 프로세싱 환경에서 그 적용성을 찾을 수 있다. 기술은, 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합으로 구현될 수 있다. 기술은, 모 바일 또는 거치형 컴퓨터, 개인 휴대 정보 단말(PDA), 및 프로세서에 의해 판독 또는 액세스 가능한 저장 매체(휘발성 및 비휘발성 메모리 및/또는 저장 요소를 포함함), 적어도 하나의 입력 디바이스, 및 하나 이상의 출력 디바이스를 각각 포함하는 유사한 디바이스 등의 프로그램 가능 머신 상에서 실행되는 프로그램으로 구현될 수 있다. 프로그램 코드는 설명한 기능을 수행하여 출력 정보를 생성하도록 입력 디바이스를 이용하여 입력된 데이터에 인가된다. 출력 정보는 하나 이상의 출력 디바이스에 인가될 수 있다.
각 프로그램은, 하이 레벨의 프로시저 또는 객체 지향 프로그래밍 언어로 구현되어, 프로세싱 시스템과 통신할 수 있다. 그러나, 프로그램은 원한다면 어셈블리 또는 머신 언어로 구현될 수 있다. 어떤 경우라도, 언어는 컴파일링되거나 해석될 수 있다.
각각의 이러한 프로그램은 저장 매체 또는 디바이스, 예컨대 CD-ROM(compact disk read only memory), DVD(digital versatile disk), 하드 디스크, 펌웨어, 불쉬발성 메모리, 자기 디스크, 또는 디바이스가 여기에서 설명하는 프로시저를 수행하기 위해 컴퓨터에 의해 판독될 때 머신을 구성하여 동작시키기 위한 일반적인 또는 특수한 목적의 프로그램 가능 머신에 의해 판독 가능한 유사한 매체 또는 디바이스 상에 저장될 수 있다. 시스템은 또한 프로그램으로 구성된 머신 판독가능 또는 액세스 가능 저장 매체로서 구현될 수 있고, 이렇게 구성된 저장 매체는 머신이 특정한 방식으로 동작하게 한다고 생각될 수도 있다. 다른 실시예들은 다음의 특허 청구범위의 범주 내에 있다.
개시되는 주제의 특정한 특징들을 여기에 도시하고 설명하였지만, 많은 수정, 교체, 변경 및 등가물이 당업자에게 있을 수 있다. 따라서, 첨부된 특허 청구범위는 개시되는 주제의 진정한 사상 내에 있는 이러한 모든 수정 및 변경을 커버하고자 하는 것으로 이해해야 한다.

Claims (40)

  1. 하나 이상의 가상 머신(virtual machines)의 액티비티(activity)를 평가하는 단계; 및
    평가된 상기 액티비티에 적어도 부분적으로 기초하여 상기 가상 머신(들)에 물리적 자원을 재할당하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 하나 이상의 가상 머신의 액티비티를 모니터링하는 단계를 더 포함하는 방법.
  3. 제2항에 있어서, 상기 하나 이상의 가상 머신이 액티비티를 모니터링하는 상기 단계가, 인터럽트 사용(usage), 프로세서 사용, 네트워크 사용, 디스크 사용, 및 상기 가상 머신이 타임-크리티컬 태스크(time-critical task)를 수행하는지 여부를 포함하는 그룹으로부터 선택된 액티비티를 모니터링하는 단계를 포함하는 방법.
  4. 제2항에 있어서, 상기 하나 이상의 가상 머신의 액티비티를 모니터링하는 상기 단계가, 상기 가상 머신을 실행시키는 것과 실질적으로 병렬로 상기 가상 머신의 액티비티를 모니터링하는 단계를 포함하는 방법.
  5. 제1항에 있어서, 평가된 상기 액티비티에 적어도 부분적으로 기초하여 상기 가상 머신(들)에 물리적 자원을 재할당하는 상기 단계가, 물리적 자원에 대한 상기 가상 머신(들)의 액세스 능력을 증가시키거나 감소시키는 단계를 포함하는 방법.
  6. 제5항에 있어서,
    상기 가상 머신(들)에 물리적 자원을 재할당하는 상기 단계가,
    제1 물리적 자원에 대한 상기 가상 머신(들)의 액세스 능력을 증가시키는 단계; 및
    제2 물리적 자원에 대한 상기 가상 머신(들)의 액세스 능력을 감소시키는 단계
    를 포함하는 방법.
  7. 제5항에 있어서, 상기 가상 머신(들)에 물리적 자원을 재할당하는 상기 단계가,
    상기 가상 머신(들)이 실행되는 순서를 변경하는 단계;
    가상 머신들 간에 스왑핑하는 단계;
    가상 머신에 코어 어피니티(core affinity)를 부여하는 단계;
    가상 머신에 프로세서 어피니티(processor affinity)를 부여하는 단계; 및
    가상 머신(들)에 부여된 시간량을 변경하는 단계
    를 포함하는 그룹으로부터 선택된 재할당을 포함하는 방법.
  8. 제1항에 있어서, 상기 가상 머신(들)에 물리적 자원을 재할당하는 단계는, 상기 가상 머신(들)의 액티비티를 평가하기 위해 자원 관리자를 갖는 가상 머신 모니터에 의해 수행되는 방법.
  9. 제8항에 있어서, 상기 자원 관리자는 집적 회로의 일부인 방법.
  10. 제1항에 있어서, 하나 이상의 가상 머신의 액티비티를 평가하는 상기 단계가,
    상기 가상 머신(들)의 액티비티가 상기 자원 할당의 변경을 트리거하기에 충분한지의 여부를 판정하는 단계;
    자원 할당을 제안하는 단계; 및
    제안된 자원 할당이 또 다른 가상 머신의 성능에 네거티브한 영향을 주는지 여부를 판정하는 단계
    를 포함하는 방법.
  11. 복수의 머신 억세스 가능 명령을 갖는 저장 매체를 포함하며,
    상기 명령이 실행될 때, 상기 명령은,
    하나 이상의 가상 머신의 액티비티를 평가하는 것; 및
    평가된 상기 액티비티에 적어도 부분적으로 기초하여 상기 가상 머신(들)에 물리적 자원을 재할당하는 것
    을 제공하는 제품.
  12. 제11항에 있어서, 하나 이상의 가상 머신의 액티비티를 모니터링하는 것을 제공하는 명령을 더 포함하는 제품.
  13. 제12항에 있어서, 상기 하나 이상의 가상 머신의 액티비티를 모니터링하는 것을 제공하는 상기 명령이, 인터럽트 사용, 프로세서 사용, 네트워크 사용, 디스크 사용, 및 상기 가상 머신이 타임-크리티컬 태스크를 수행하고 있는지 여부를 포함하는 그룹으로부터 선택된 액티비티를 모니터링하는 것을 제공하는 명령을 포함하는 제품.
  14. 제12항에 있어서, 상기 하나 이상의 가상 머신의 액티비티를 모니터링하는 것을 제공하는 명령은, 상기 가상 머신을 실행시키는 것과 실질적으로 병렬로 상기 가상 머신의 액티비티를 모니터링하는 것을 제공하는 명령을 포함하는 제품.
  15. 제11항에 있어서, 평가된 상기 액티비티에 적어도 부분적으로 기초하여 상기 가상 머신(들)에 물리적 자원을 재할당하는 것을 제공하는 상기 명령이, 물리적 자원에 대한 상기 가상 머신(들)의 액세스 능력을 증가 또는 감소시키는 것을 제공하 는 명령을 포함하는 제품.
  16. 제15항에 있어서, 상기 가상 머신(들)에 물리적 자원을 재할당하는 것을 제공하는 상기 명령이,
    상기 제1 물리적 자원에 대한 가상 머신(들)의 액세스 능력을 증가시키는 것; 및
    상기 제2 물리적 자원에 대한 가상 머신(들)의 액세스 능력을 감소시키는 것
    을 제공하는 명령을 포함하는 제품.
  17. 제15항에 있어서, 상기 가상 머신(들)에 물리적 자원을 재할당하는 것을 제공하는 명령이,
    상기 가상 머신(들)이 실행되는 순서를 변경하는 것;
    가상 머신들 사이에서 스왑핑하는 것;
    가상 머신에 코어 어피니티를 부여하는 것;
    가상 머신에 프로세서 어피니티를 부여하는 것; 및
    상기 가상 머신(들)에 할당된 시간량을 변경하는 것
    을 포함하는 그룹으로부터 선택된 재할당을 포함하는 제품.
  18. 제11항에 있어서, 상기 가상 머신(들)에 물리적 자원 재할당하는 것을 제공하는 상기 명령이, 상기 가상 머신(들)의 액티비티를 평가하기 위해 자원 관리자를 갖는 가상 머신 모니터에 의해 수행되는 제품.
  19. 제18항에 있어서, 상기 자원 관리자는 집적 회로의 일부인 제품.
  20. 제11항에 있어서,
    하나 이상의 가상 머신의 액티비티를 평가하는 것을 제공하는 상기 명령이,
    상기 가상 머신(들)의 액티비티가 상기 자원 할당의 변경을 트리거하기에 충분한지 여부를 판정하는 것;
    자원 할당을 제안하는 것; 및
    제안된 상기 자원 할당이 또 다른 가상 머신의 성능에 네거티브한 영향을 주는지 여부를 판정하는 것
    을 제공하는 명령을 포함하는 제품.
  21. 복수의 물리적 자원을 공유할 수 있는 복수의 가상 머신;
    상기 가상 머신들의 액티비티를 모니터링할 수 있는 액티비티 모니터; 및
    모니터링된 상기 액티비티에 적어도 부분적으로 기초하여, 상기 가상 머신들을 관리하고, 상기 가상 머신들 간에 상기 물리적 자원에 대한 액세스를 재할당할 수 있는 가상 머신 관리자
    를 포함하는 장치.
  22. 제21항에 있어서, 상기 가상 머신 모니터는 상기 가상 머신들 간에 상기 물리적 자원에 대한 액세스를 재할당할 수 있는 자원 관리자를 포함하는 장치.
  23. 제21항에 있어서, 상기 액티비티 모니터는 인터럽트 사용, 프로세서 사용, 네트워크 사용, 디스크 사용 및 상기 가상 머신이 타임-크리티컬 태스크를 수행하고 있는지 여부를 포함하는 그룹으로부터 선택된 액티비티를 모니터링할 수 있는 장치.
  24. 제23항에 있어서, 상기 액티비티 모니터는 상기 가상 머신들을 실행시키는 것과 실질적으로 병렬로, 상기 가상 머신의 상기 액티비티를 모니터링할 수 있는 장치.
  25. 제21항에 있어서, 상기 가상 머신 모니터는 물리적 자원에 대한 상기 가상 머신(들)의 액세스 능력을 증가 또는 감소시킬 수 있는 장치.
  26. 제25항에 있어서, 상기 가상 머신 모니터는 제1 물리적 자원에 대한 상기 가상 머신(들)의 액세스 능력을 증가시키는 것 및 제2 물리적 자원에 대한 상기 가상 머신(들)의 액세스 능력을 감소시키는 것을 통해 상기 가상 머신(들)에 물리적 자원을 재할당할 수 있는 장치.
  27. 제25항에 있어서, 상기 가상 머신 모니터는,
    상기 가상 머신(들)이 실행되는 순서를 변경하는 것,
    상기 가상 머신들 간에 스왑핑하는 것;
    가상 머신에 코어 어피니티를 부여하는 것;
    상기 가상 머신에 프로세서 어피니티를 부여하는 것;
    상기 가상 머신(들)에 부여된 시간량을 변경하는 것
    을 포함하는 그룹으로부터 선택에 의해 상기 가상 머신(들)에 물리적 자원을 재할당할 수 있는 장치.
  28. 제22항에 있어서, 상기 자원 관리자는 또한 상기 가상 머신(들)의 모니터링된 액티비티를 평가할 수 있는 장치.
  29. 제28항에 있어서, 상기 자원 관리자는 상기 가상 머신의 모니터링된 액티비티를 평가할 수 있으며,
    하나 이상의 상기 가상 머신의 액티비티를 평가하는 것은,
    상기 가상 머신(들)의 액티비티가 상기 자원 할당의 변경을 트리거하기에 충분한지 여부를 판정하고,
    자원 할당을 제안하고,
    제안된 상기 자원 할당이 또 다른 가상 머신의 성능에 네거티브한 영향을 주는지 여부를 판정하는 것을 포함하는 장치.
  30. 제29항에 있어서, 상기 액티비티 모니터 및 가상 머신 모니터는 동일한 회로내에 집적되는 장치.
  31. 프로세서 및 네트워크 인터페이스를 갖는 복수의 자원;
    상기 복수의 물리적 자원에 대한 액세스를 공유할 수 있는 복수의 가상 머신;
    상기 가상 머신의 액티비티를 모니터링할 수 있는 액티비티 모니터; 및
    상기 모니터링된 액티비티에 적어도 부분적으로 기초하여, 상기 가상 머신을 관리하고, 상기 가상 머신들 간에 상기 물리적 자원에 대한 액세스를 재할당할 수 있는 가상 머신 관리자
    를 포함하는 시스템.
  32. 제31항에 있어서, 상기 가상 머신 모니터는, 상기 가상 머신들 간에, 상기 물리적 자원에 대한 액세스를 재할당할 수 있는 자원 관리자를 포함하는 시스템.
  33. 제31항에 있어서, 상기 액티비티 모니터는,
    인터럽트 사용,
    프로세서 사용,
    네트워크 사용,
    디스크 사용, 및
    상기 가상 머신이 타임-크리티컬 태스크를 수행하고 있는지 여부
    를 포함하는 그룹으로부터 선택된 액티비티를 모니터링할 수 있는 시스템.
  34. 제33항에 있어서, 상기 액티비티 모니터는 상기 가상 머신을 실행시키는 것과 실질적으로 병렬로 상기 가상 머신의 액티비티를 모니터링할 수 있는 시스템.
  35. 제31항에 있어서, 상기 가상 머신 모니터는 물리적 자원에 대한 상기 가상 머신(들)의 액세스 능력을 증가시키거나 감소시킬 수 있는 시스템.
  36. 제35항에 있어서, 상기 가상 머신 모니터는,
    제1 물리적 자원에 대한 상기 가상 머신(들)의 액세스 능력을 증가시키는 것; 및
    제2 물리적 자원에 대한 상기 가상 머신(들)의 액세스 능력을 감소시키는 것을 통해 상기 가상 머신(들)에 대하여 물리적 자원을 재할당할 수 있는 시스템.
  37. 제35항에 있어서, 상기 가상 머신 모니터는,
    상기 가상 머신(들)이 실행되는 순서를 변경하는 것,
    가상 머신들 간에서 스왑핑하는 것,
    가상 머신에 코어 어피니티를 부여하는 것,
    가상 머신에 프로세서 어피니티를 부여하는 것, 및
    상기 가상 머신(들)에 부여된 시간량을 변경하는 것
    을 포함하는 그룹으로부터 선택에 의해 상기 가상 머신에 물리적 자원을 재할당할 수 있는 시스템.
  38. 제32항에 있어서, 상기 자원 관리자는 또한 상기 가상 머신(들)의 모니터링된 액티비티를 평가할 수 있는 시스템.
  39. 제38항에 있어서, 상기 자원 관리자는 상기 가상 머신의 모니터링된 액티비티를 평가할 수 있으며,
    하나 이상의 상기 가상 머신의 액티비티를 평가하는 것은,
    상기 가상 머신(들)의 액티비티가 상기 자원 할당의 변경을 트리거하기에 충분한지 여부를 판정하고,
    자원 할당을 제안하고,
    상기 제안된 자원 할당이 또 다른 가상 머신의 성능에 네거티브한 영향을 주는지 여부를 판정하는 것을 포함하는 시스템.
  40. 제39항에 있어서, 상기 액티비티 모니터 및 가상 머신 모니터는 동일한 회로내에 집적되는 시스템.
KR1020067011502A 2003-12-10 2004-11-19 액티비티 정보를 이용한 가상 머신 관리 KR100885346B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/733,177 US20050132362A1 (en) 2003-12-10 2003-12-10 Virtual machine management using activity information
US10/733,177 2003-12-10

Publications (2)

Publication Number Publication Date
KR20060108711A true KR20060108711A (ko) 2006-10-18
KR100885346B1 KR100885346B1 (ko) 2009-02-26

Family

ID=34653044

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067011502A KR100885346B1 (ko) 2003-12-10 2004-11-19 액티비티 정보를 이용한 가상 머신 관리

Country Status (6)

Country Link
US (1) US20050132362A1 (ko)
EP (1) EP1692616A2 (ko)
JP (1) JP2007512632A (ko)
KR (1) KR100885346B1 (ko)
CN (1) CN1882913A (ko)
WO (1) WO2005062177A2 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110036172A (ko) * 2009-10-01 2011-04-07 삼성전자주식회사 가상 프로세서 관리 장치 및 방법
KR101068537B1 (ko) * 2008-12-18 2011-09-28 한국전자통신연구원 가상화 플랫폼을 이용한 가상화 관리 장치 및 그 제어방법
US8359600B2 (en) 2008-10-30 2013-01-22 Electronics And Telecommunications Research Institute Providing personalization of virtual machines for system on demand (SOD) services based on user's use habits of peripheral devices
US8639814B2 (en) 2009-02-02 2014-01-28 Samsung Electronics Co., Ltd. Electronic apparatus, virtual machine providing apparatus, and method of using virtual machine service
KR101395031B1 (ko) * 2012-07-10 2014-05-16 (주)타임게이트 가상화 교육환경 제공 시스템 및 가상화 교육환경 제공 서버
KR20160095922A (ko) * 2015-02-04 2016-08-12 한국전자통신연구원 가상 머신 모니터 장치, 가상화 장치 및 방법

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040035675A (ko) * 2001-07-06 2004-04-29 컴퓨터 어소시에이트스 인터내쇼날 인코포레이티드 객체 기반 클러스터를 관리하는 시스템 및 방법
US7783786B1 (en) * 2004-03-16 2010-08-24 Oracle America Inc. Replicated service architecture
JP2005309644A (ja) * 2004-04-20 2005-11-04 Hitachi Ltd リソース制御方法及びそのシステム
US7979863B2 (en) * 2004-05-21 2011-07-12 Computer Associates Think, Inc. Method and apparatus for dynamic CPU resource management
EP1769353A2 (en) * 2004-05-21 2007-04-04 Computer Associates Think, Inc. Method and apparatus for dynamic memory resource management
US7840962B2 (en) * 2004-09-30 2010-11-23 Intel Corporation System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time
US7620953B1 (en) * 2004-10-05 2009-11-17 Azul Systems, Inc. System and method for allocating resources of a core space among a plurality of core virtual machines
US7669202B1 (en) * 2004-10-05 2010-02-23 Azul Systems, Inc. Resource management
US8104033B2 (en) 2005-09-30 2012-01-24 Computer Associates Think, Inc. Managing virtual machines based on business priorty
US8225313B2 (en) * 2005-10-19 2012-07-17 Ca, Inc. Object-based virtual infrastructure management
US7603671B2 (en) * 2005-11-04 2009-10-13 Sun Microsystems, Inc. Performance management in a virtual computing environment
US7802073B1 (en) 2006-03-29 2010-09-21 Oracle America, Inc. Virtual core management
US7483978B2 (en) * 2006-05-15 2009-01-27 Computer Associates Think, Inc. Providing a unified user interface for managing a plurality of heterogeneous computing environments
US8533696B1 (en) * 2006-09-29 2013-09-10 Emc Corporation Methods and systems for allocating hardware resources to instances of software images
US8336046B2 (en) * 2006-12-29 2012-12-18 Intel Corporation Dynamic VM cloning on request from application based on mapping of virtual hardware configuration to the identified physical hardware resources
US9223629B2 (en) * 2007-01-31 2015-12-29 Hewlett-Packard Development Company, L.P. Data processing system and method
US20080229053A1 (en) * 2007-03-13 2008-09-18 Edoardo Campini Expanding memory support for a processor using virtualization
JP5088366B2 (ja) * 2007-03-27 2012-12-05 富士通株式会社 仮想計算機制御プログラム、仮想計算機制御システムおよび仮想計算機移動方法
JP4980792B2 (ja) * 2007-05-22 2012-07-18 株式会社日立製作所 仮想計算機の性能監視方法及びその方法を用いた装置
US20090007108A1 (en) * 2007-06-29 2009-01-01 Hanebutte Ulf R Arrangements for hardware and software resource monitoring
US8281308B1 (en) 2007-07-23 2012-10-02 Oracle America, Inc. Virtual core remapping based on temperature
US8560634B2 (en) * 2007-10-17 2013-10-15 Dispersive Networks, Inc. Apparatus, systems and methods utilizing dispersive networking
US8539098B2 (en) 2007-10-17 2013-09-17 Dispersive Networks, Inc. Multiplexed client server (MCS) communications and systems
US20090210873A1 (en) * 2008-02-15 2009-08-20 International Business Machines Corporation Re-tasking a managed virtual machine image in a virtualization data processing system
US20090265707A1 (en) * 2008-04-21 2009-10-22 Microsoft Corporation Optimizing application performance on virtual machines automatically with end-user preferences
US8516478B1 (en) * 2008-06-12 2013-08-20 Mcafee, Inc. Subsequent processing of scanning task utilizing subset of virtual machines predetermined to have scanner process and adjusting amount of subsequest VMs processing based on load
US9740517B2 (en) * 2008-12-29 2017-08-22 Microsoft Technology Licensing, Llc Dynamic virtual machine memory management
US9529636B2 (en) 2009-03-26 2016-12-27 Microsoft Technology Licensing, Llc System and method for adjusting guest memory allocation based on memory pressure in virtual NUMA nodes of a virtual machine
US9535767B2 (en) 2009-03-26 2017-01-03 Microsoft Technology Licensing, Llc Instantiating a virtual machine with a virtual non-uniform memory architecture
JP5428075B2 (ja) * 2009-04-17 2014-02-26 株式会社日立製作所 性能モニタリングシステム、ボトルネック判定方法及び管理計算機
US8352609B2 (en) * 2009-09-29 2013-01-08 Amazon Technologies, Inc. Dynamically modifying program execution capacity
KR101610830B1 (ko) 2009-11-05 2016-04-11 삼성전자주식회사 어플리케이션 실행 장치 및 방법
US8751857B2 (en) * 2010-04-13 2014-06-10 Red Hat Israel, Ltd. Monitoring of highly available virtual machines
US9342373B2 (en) 2010-05-20 2016-05-17 International Business Machines Corporation Virtual machine management among networked servers
JP5458308B2 (ja) * 2010-06-11 2014-04-02 株式会社日立製作所 仮想計算機システム、仮想計算機システムの監視方法及びネットワーク装置
US8869164B2 (en) 2010-09-02 2014-10-21 International Business Machines Corporation Scheduling a parallel job in a system of virtual containers
CN102307208B (zh) * 2010-09-25 2014-08-06 广东电子工业研究院有限公司 基于云计算的虚拟机运行控制装置及其运行控制方法
WO2012066604A1 (en) * 2010-11-19 2012-05-24 Hitachi, Ltd. Server system and method for managing the same
US8955110B1 (en) 2011-01-14 2015-02-10 Robert W. Twitchell, Jr. IP jamming systems utilizing virtual dispersive networking
US8941659B1 (en) 2011-01-28 2015-01-27 Rescon Ltd Medical symptoms tracking apparatus, methods and systems
US8533715B2 (en) 2011-08-09 2013-09-10 International Business Machines Corporation Virtual machine management
US9176788B2 (en) * 2011-08-16 2015-11-03 Esds Software Solution Pvt. Ltd. Method and system for real time detection of resource requirement and automatic adjustments
US9245095B2 (en) 2011-10-25 2016-01-26 Ca, Inc. System and method for license management of virtual machines at a virtual machine manager
US8892919B2 (en) * 2011-12-14 2014-11-18 Ati Technologies Ulc Method and apparatus for power management of a processor in a virtual environment
US10095295B2 (en) 2011-12-14 2018-10-09 Advanced Micro Devices, Inc. Method and apparatus for power management of a graphics processing core in a virtual environment
US9348656B2 (en) 2011-12-19 2016-05-24 Advanced Micro Devices, Inc. Apparatus and method for managing power among a plurality of processors sharing a thermal platform
KR101371101B1 (ko) * 2012-06-08 2014-03-06 삼성증권주식회사 동적 리소스 관리를 수행하는 트레이딩 시스템 및 그 제공방법
KR101491572B1 (ko) * 2013-12-09 2015-02-10 삼성증권주식회사 동적 리소스 관리를 수행하는 트레이딩 시스템 및 그 제공방법
DE102014212838A1 (de) * 2014-07-02 2016-01-07 Siemens Aktiengesellschaft System und Verfahren zum Detektieren von Schaddaten innerhalb eines Datensatzes
US10162656B2 (en) * 2014-11-26 2018-12-25 Vmware, Inc. Minimizing guest operating system licensing costs in a processor based licensing model in a virtual datacenter
KR101671119B1 (ko) 2014-12-17 2016-10-31 경희대학교 산학협력단 클라우드 컴퓨팅 시스템의 자원 관리 방법
US20160179582A1 (en) * 2014-12-23 2016-06-23 Intel Corporation Techniques to dynamically allocate resources for local service chains of configurable computing resources
US11182713B2 (en) 2015-01-24 2021-11-23 Vmware, Inc. Methods and systems to optimize operating system license costs in a virtual data center
CN105306594A (zh) * 2015-11-19 2016-02-03 国云科技股份有限公司 一种多策略管理虚拟机组的方法
US10831556B2 (en) 2015-12-23 2020-11-10 Intel IP Corporation Virtual CPU consolidation to avoid physical CPU contention between virtual machines
US10243816B2 (en) 2016-04-18 2019-03-26 International Business Machines Corporation Automatically optimizing network traffic
CN106844007B (zh) * 2016-12-29 2020-01-07 中国科学院计算技术研究所 一种基于空间复用的虚拟化方法与系统
US11366702B1 (en) * 2019-03-29 2022-06-21 United Services Automobile Association (Usaa) Dynamic allocation of resources
US11301305B2 (en) 2020-01-07 2022-04-12 Bank Of America Corporation Dynamic resource clustering architecture
US11334393B2 (en) 2020-01-07 2022-05-17 Bank Of America Corporation Resource cluster chaining architecture
US10938742B1 (en) 2020-01-31 2021-03-02 Bank Of America Corporation Multiplexed resource allocation architecture
US11539635B2 (en) 2021-05-10 2022-12-27 Oracle International Corporation Using constraint programming to set resource allocation limitations for allocating resources to consumers
US11502971B1 (en) * 2021-11-15 2022-11-15 Oracle International Corporation Using multi-phase constraint programming to assign resource guarantees of consumers to hosts

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4253145A (en) * 1978-12-26 1981-02-24 Honeywell Information Systems Inc. Hardware virtualizer for supporting recursive virtual computer systems on a host computer system
JPH0293952A (ja) * 1988-09-30 1990-04-04 Hitachi Ltd 仮想計算機システム
JP2682770B2 (ja) * 1992-05-15 1997-11-26 富士通株式会社 仮想計算機システムのcpu制御方式
US6430592B1 (en) * 1994-06-02 2002-08-06 International Business Machines Corporation System for sharing CPU time amongst multiple users
US6075938A (en) * 1997-06-10 2000-06-13 The Board Of Trustees Of The Leland Stanford Junior University Virtual machine monitors for scalable multiprocessors
US6647508B2 (en) * 1997-11-04 2003-11-11 Hewlett-Packard Development Company, L.P. Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation
US7748005B2 (en) * 2000-01-28 2010-06-29 Hewlett-Packard Development Company, L.P. System and method for allocating a plurality of resources between a plurality of computing domains
JP2002041305A (ja) * 2000-07-26 2002-02-08 Hitachi Ltd 仮想計算機システムにおける計算機資源の割当て方法および仮想計算機システム
JP2002202959A (ja) * 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
US7191440B2 (en) * 2001-08-15 2007-03-13 Intel Corporation Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor
US7412492B1 (en) * 2001-09-12 2008-08-12 Vmware, Inc. Proportional share resource allocation with reduction of unproductive resource consumption
JP4018900B2 (ja) * 2001-11-22 2007-12-05 株式会社日立製作所 仮想計算機システム及びプログラム
IL147073A0 (en) * 2001-12-10 2002-08-14 Monosphere Ltd Method for managing the storage resources attached to a data network
US7158972B2 (en) * 2001-12-11 2007-01-02 Sun Microsystems, Inc. Methods and apparatus for managing multiple user systems
US7962545B2 (en) * 2002-12-27 2011-06-14 Intel Corporation Dynamic service registry for virtual machines
KR100661637B1 (ko) * 2003-12-22 2006-12-27 한국전자통신연구원 이동통신 단말기에서 다중 가상머신 구동용 실행 환경 시스템 및 그 실행 방법

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8359600B2 (en) 2008-10-30 2013-01-22 Electronics And Telecommunications Research Institute Providing personalization of virtual machines for system on demand (SOD) services based on user's use habits of peripheral devices
KR101068537B1 (ko) * 2008-12-18 2011-09-28 한국전자통신연구원 가상화 플랫폼을 이용한 가상화 관리 장치 및 그 제어방법
US8639814B2 (en) 2009-02-02 2014-01-28 Samsung Electronics Co., Ltd. Electronic apparatus, virtual machine providing apparatus, and method of using virtual machine service
KR20110036172A (ko) * 2009-10-01 2011-04-07 삼성전자주식회사 가상 프로세서 관리 장치 및 방법
US9274852B2 (en) 2009-10-01 2016-03-01 Samsung Electronics Co., Ltd Apparatus and method for managing virtual processing unit
KR101395031B1 (ko) * 2012-07-10 2014-05-16 (주)타임게이트 가상화 교육환경 제공 시스템 및 가상화 교육환경 제공 서버
KR20160095922A (ko) * 2015-02-04 2016-08-12 한국전자통신연구원 가상 머신 모니터 장치, 가상화 장치 및 방법

Also Published As

Publication number Publication date
US20050132362A1 (en) 2005-06-16
WO2005062177A3 (en) 2005-11-17
CN1882913A (zh) 2006-12-20
KR100885346B1 (ko) 2009-02-26
JP2007512632A (ja) 2007-05-17
EP1692616A2 (en) 2006-08-23
WO2005062177A2 (en) 2005-07-07

Similar Documents

Publication Publication Date Title
KR100885346B1 (ko) 액티비티 정보를 이용한 가상 머신 관리
EP3039540B1 (en) Virtual machine monitor configured to support latency sensitive virtual machines
KR101668399B1 (ko) 프로세서 코어들의 하이퍼바이저 격리
US7428485B2 (en) System for yielding to a processor
US9189291B2 (en) Sharing a kernel of an operating system among logical partitions
JP5042848B2 (ja) 仮想マシン・モニタの構成部分を特権化解除するためのシステム及び方法
RU2398267C2 (ru) Иерархическая виртуализация посредством многоуровневого механизма виртуализации
US7136800B1 (en) Allocation of processor resources in an emulated computing environment
US8429669B2 (en) Virtual machine switching control by prefetching information out of and updating a set of processor control information based on a bitmap having update status
US8271989B2 (en) Method and apparatus for virtual processor dispatching to a partition based on shared memory pages
US5038281A (en) Acceleration of system interrupts between operating systems in guest-host relationship
KR20070100367A (ko) 하나의 가상 머신에서 다른 가상 머신으로 메모리를동적으로 재할당하기 위한 방법, 장치 및 시스템
JP2004030574A (ja) 動的にキャッシュ・メモリの割り当てを行うプロセッサ集積回路
US20140373010A1 (en) Intelligent resource management for virtual machines
JPH0673108B2 (ja) ゲストに割り当てられたシステム資源に対するゲストの動作を制限する方法
Kim et al. Constraint-aware VM placement in heterogeneous computing clusters
CN110447012B (zh) 协作虚拟处理器调度
US20110219373A1 (en) Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform
US8010963B2 (en) Method, apparatus and program storage device for providing light weight system calls to improve user mode performance
US11934890B2 (en) Opportunistic exclusive affinity for threads in a virtualized computing system
US8402191B2 (en) Computing element virtualization
US10795813B2 (en) Implementing per-processor memory areas with non-preemptible operations using virtual aliases
US11726811B2 (en) Parallel context switching for interrupt handling
CN114741194A (zh) I/o请求的处理方法及装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130212

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140203

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150130

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160127

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170201

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180201

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190129

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20200129

Year of fee payment: 12