요약 |
본 발명은 복수의 가상 프로세서(Virtual CPU, vCPU)를 구동하는 운영체계를 포함하는 복수의 가상 머신(Virtual Machine)을 관리하는 가상머신을 위한 하이퍼바이저의 협력 스케줄링 방법으로, (a) 물리 프로세서에 상기 복수의 가상 프로세서를 할당하는 단계; (b) 가상 프로세서 간의 프로세서간 인터럽트를 기반으로 멀티 쓰레드 워크로드들(multithreaded workloads)의 쓰레드(thread) 사이의 협력 여부를 판단하고, 상기 협력된 것으로 판단된 상기 멀티 쓰레드 워크로드들을 협력 스케줄링 대상으로 선정하는 단계;(c) 상기 가상 프로세서 간의 프로세서간 인터럽트를 기반으로 상기 할당된 복수의 가상 프로세서 중에서 긴급 가상 프로세서를 우선적으로 스케줄링(Urgent vCPU First Scheduling)하는 단계;를 포함하고, 상기 (c) 단계의 긴급 가상 프로세서는 상기 (b) 단계에서 협력 스케줄링 대상으로 선정된 쓰레드들을 기반으로 하고, 상기 (a) 단계는 모든 물리 프로세서 각각에 가상 프로세서가 할당된 경우에 한해서, 하나의 가상 머신에 속하는 복수의 가상 프로세서들 중 적어도 둘 이상이 하나의 물리 프로세서에 함께 할당되는 부하인지 밸런스 스케줄링 방법(load-conscious balance scheduling)에 의하여, 동기화를 위해 소모되는 시간을 단축할 수 있는 효과가 있다.
|