1 |
1
가상 CPU(Virtual CPU, vCPU) 및 이를 구동하는 OS(operating system)를 포함하는 가상장치(Virtual Machine) 및 적어도 두개의 물리적 CPU(pCPU)를 포함하는 물리 장치(Physical Machine)을 포함하는 연산장치의 스케쥴링 방법에 있어서,락 홀더(lock holder) 관련 정보 및 락 컨텐더(lock contender) 관련 정보를 포함하며 상기 vCPU에 대응하는 상기 OS의 락(Lock) 정보 및 상기 vCPU의 동작상태 정보를 획득하는 단계; 및상기 동작상태 정보 및 상기 락 정보를 기반으로 제1락에 대한 락홀더인 상기 vCPU가 Lock Holder Preemption(LHP)상태인지 판단하는 단계; 및상기 판단 결과 상기 vCPU가 LHP 상태일 경우, 제1pCPU에서 실행되고 있는 상기 vCPU에 관련된 연산을 제2pCPU로 이전(migrate)하는 단계를 포함하고, 상기 제2pCPU는 상기 제2pCPU에 스피닝(spinning)하는 vCPU를 기반으로 결정되고, 상기 스피닝 하는 vCPU는 상기 제1락의 컨텐더 vCPU이고, 상기 컨텐더 vCPU가 동작(running) 상태일 때 상기 vCPU가 LHP 상태인 것으로 판단되고, 상기 이전하는 단계는 상기 컨텐더 vCPU에게 할당된 시간 분량(time quantum)내에 수행되는 것을 특징으로 하는 스케줄링 방법
|
2 |
2
제1항에 있어서,상기 동작상태 정보는 vCPU가 동작(running)중인지, 선점(preempted)되었는지를 지정하는 비트맵 형식으로 된 상태정보를 포함하고,상기 락 정보는 락을 획득하고 있는 vCPU, 락의 해제를 기다리는 vCPU의 목록 및 vCPU가 획득하고 있는 락의 목록 중 적어도 하나를 포함하는 것을 특징으로 하는 스케줄링 방법
|
3 |
3
제1항에 있어서, 상기 획득하는 단계는, 상기 가상장치 및 물리적 CPU(pCPU)와 연결되는 가상 머신 모니터(Virtual Machine Monitor,VMM)가 vCPU의 동작상태 정보를 획득하는 단계; 및상기 OS가 상기 OS의 락 정보를 획득하는 단계를 포함하는 것을 특징으로 하는 스케줄링 방법
|
4 |
4
제1항에 있어서, 상기 판단하는 단계는,상기 vCPU가 획득하고 있는 락을 찾는 단계; 상기 vCPU가 획득하고 있는 락의 해제를 기다리는 vCPU를 찾는 단계; 및상기 락의 해제를 기다리는 vCPU의 동작상태 정보를 찾는 단계를 포함하는 것을 특징으로 하는 스케줄링 방법
|
5 |
5
제1항에 있어서, 상기 판단하는 단계는, 특정 vCPU가 특정 락의 획득을 실패 할 경우 상기 획득 실패 한 락을 감지 하는 단계; 상기 획득 실패한 락을 획득하고 있는 다른 vCPU를 찾는 단계; 및상기 락을 획득하고 있는 다른 vCPU의 동작상태 정보를 찾는 단계를 포함하는 것을 특징으로 하는 스케줄링 방법
|
6 |
6
삭제
|
7 |
7
삭제
|
8 |
8
가상 CPU(vCPU) 및 상기 vCPU를 통해 연산을 수행하는 OS(operating system)을 포함하는 가상장치(Virtual Machine);상기 가상장치가 필요한 연산을 수행하는 물리 CPU(pCPU)를 포함하는 물리장치(Physical Machine); 상기 가상장치 및 상기 물리장치와 연결되는 가상 머신 모니터(Virtual machine monitor,VMM);상기 가상장치 및 상기 VMM과 연결되며 데이터를 저장할 수 있는 메모리부; 및상기 가상장치, VMM 및 메모리부와 연결되어 동작을 제어할 수 있는 제어부를 포함하며 상기 제어부는 락 홀더(lock holder) 관련 정보 및 락 컨텐더(lock contender) 관련 정보를 포함하며 상기 vCPU에 대응하는 상기 OS의 락(Lock) 정보 및 상기 vCPU의 동작상태 정보를 획득하고, 상기 동작상태 정보 및 상기 락 정보를 기반으로 제1락에 대한 락홀더인 상기 vCPU가 Lock Holder Preemption(LHP)상태인지 판단하고, 상기 판단 결과 상기 vCPU가 LHP 상태일 경우, 제1pCPU에서 실행되고 있는 상기 vCPU에 관련된 연산을 제2pCPU로 이전(migrate)하고, 상기 제2pCPU는 상기 제2pCPU에 스피닝(spinning)하는 vCPU를 기반으로 결정되고, 상기 스피닝 하는 vCPU는 상기 제1락의 컨텐더 vCPU이고, 상기 컨텐더 vCPU가 동작(running) 상태일 때 상기 vCPU가 LHP 상태인 것으로 판단되고, 상기 이전하는 단계는 상기 컨텐더 vCPU에게 할당된 시간 분량(time quantum)내에 수행되는 것을 특징으로 하는 연산장치
|
9 |
9
제8항에 있어서, 상기 동작상태 정보는 vCPU가 동작(running)중인지, 선점(preempted)되었는지를 지정하는 비트맵 형식으로 된 상태정보를 포함하고,상기 락 정보는, 락을 획득하고 있는 vCPU, 락의 해제를 기다리는 vCPU의 목록 및 vCPU가 획득하고 있는 락의 목록 중 적어도 하나를 포함하는 것을 특징으로 하는 연산장치
|
10 |
10
제8항에 있어서, 상기 VMM이 상기 vCPU의 동작 상태 정보를 획득하고, 상기 OS가 상기 OS의 락 정보를 획득하는 것을 특징으로 하는 연산장치
|
11 |
11
제8항에 있어서, 상기 제어부는 상기 vCPU가 획득하고 있는 락을 찾고, 상기 획득하고 있는 락의 해제를 기다리는 vCPU를 찾고, 상기 락의 해제를 기다리는 vCPU의 동작상태 정보를 찾는 것을 특징으로 하는 연산장치
|
12 |
12
제8항에 있어서, 상기 제어부는 상기 vCPU가 특정 락의 획득을 실패할 경우 상기 획득 실패 한 락을 감지 하고, 상기 획득 실패한 락을 획득하고 있는 다른 vCPU를 찾고, 상기 락을 획득하고 있는 다른 vCPU의 동작상태 정보를 찾는 것을 특징으로 하는 연산장치
|
13 |
13
삭제
|
14 |
14
삭제
|