KR101658035B1 - 가상 머신 모니터 및 가상 머신 모니터의 스케줄링 방법 - Google Patents

가상 머신 모니터 및 가상 머신 모니터의 스케줄링 방법 Download PDF

Info

Publication number
KR101658035B1
KR101658035B1 KR1020100022495A KR20100022495A KR101658035B1 KR 101658035 B1 KR101658035 B1 KR 101658035B1 KR 1020100022495 A KR1020100022495 A KR 1020100022495A KR 20100022495 A KR20100022495 A KR 20100022495A KR 101658035 B1 KR101658035 B1 KR 101658035B1
Authority
KR
South Korea
Prior art keywords
task
scheduler
virtual machine
machine monitor
event
Prior art date
Application number
KR1020100022495A
Other languages
English (en)
Other versions
KR20110103257A (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 삼성전자주식회사
Priority to KR1020100022495A priority Critical patent/KR101658035B1/ko
Priority to CN201110058516.8A priority patent/CN102193853B/zh
Priority to US13/045,698 priority patent/US9417912B2/en
Priority to JP2011054346A priority patent/JP6383518B2/ja
Priority to EP11158011.4A priority patent/EP2372548B1/en
Publication of KR20110103257A publication Critical patent/KR20110103257A/ko
Application granted granted Critical
Publication of KR101658035B1 publication Critical patent/KR101658035B1/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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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
    • G06F9/45541Bare-metal, i.e. hypervisor runs directly on hardware
    • 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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Abstract

가상 머신 모니터 및 스케줄링 방법이 제공된다. 가상 머신 모니터는 적어도 두 개의 도메인을 구동한다. 그리고 가상 머신 모니터는 적어도 한 개의 실행 큐와 서로 다른 스케줄 특성을 갖는 다수의 스케줄러를 포함한다. 가상 머신 모니터는 도메인으로부터 수신된 태스크를 실행 큐에 삽입하고, 이벤트의 유형에 따라 실행 큐에 삽입된 태스크를 스케줄링할 스케줄러를 적절하게 선택한다.

Description

가상 머신 모니터 및 가상 머신 모니터의 스케줄링 방법{Virtual machine monitor and scheduling method of virtual machine monitor}
다수의 운영 체제를 동시에 구동하기 위한 가상화 기술 및 실시간 보장을 위한 스케줄링 기술과 관련된다.
가상화(virtualization)란 자기 자신만의 운영체제를 갖고 있는 다수의 가상 머신(virtual machine)이 한 호스트 컴퓨터 상에서 동작할 수 있도록 해주는 기술을 말한다.
이러한 가상화에 따라 호스트 컴퓨터는 가상 머신 모니터(virtual machine monitor)를 실행하고, 실행된 가상 머신 모니터는 여러 개의 가상 머신을 생성한다. 생성된 가상 머신은 동시에 실행되는 것이 가능하며, 각각의 가상 머신은 가상화된 하드웨어 자원을 가진다. 예를 들면, 각각의 가상 머신은 물리 CPU를 가상화한 1개 이상의 virtual CPU(VCPU)를 가질 수 있고 메모리 영역의 일부를 점유할 수 있다.
가상화 환경에서 스케줄링은 VCPU 단위로 이루어지기 때문에 스케쥴링시 오직 VCPU에 할당된 Time Quantum 만을 고려하여 스케줄링을 한다. 따라서 실시간 응용을 지원하기에 적합하지 아니하다.
실시간성을 만족시키고 상황에 적합한 스케줄링이 실행될 수 있도록 하는 가상 머신 모니터 및 가상 머신 모니터의 스케줄링 방법이 제공된다.
본 발명의 일 양상에 따른 가상 머신 모니터는, 적어도 두 개의 도메인을 구동하는 가상 머신 모니터에 있어서, 적어도 한 개의 실행 큐, 서로 다른 스케줄 특성을 갖는 다수의 스케줄러, 및 도메인으로부터 수신된 태스크를 실행 큐에 삽입하고, 이벤트의 유형에 따라 실행 큐에 삽입된 태스크를 스케줄링할 스케줄러를 다수의 스케줄러 중에서 선택하는 제어부를 포함한다.
또한, 가상 머신 모니터는 이벤트의 유형에 따른 태스크의 우선 순위 가중치가 기록된 가중치 테이블, 태스크의 실행 제한 시간이 기록된 타임 테이블, 및 이벤트 유형에 따라 선택될 스케줄러가 기록된 스케줄러 리스트 중 적어도 하나 이상을 저장하는 테이블 저장부를 더 포함할 수 있다.
또한, 제어부는 수신된 태스크를 실행 큐에 삽입하고, 태스크의 속성 및 가중치 테이블을 이용하여 태스크의 우선 순위를 결정하는 것이 가능하다.
또한, 제어부는 수신된 태스크를 상기 실행 큐에 삽입하고, 타임 테이블을 생성 또는 갱신하는 것이 가능하다.
또한, 제어부는 선택된 스케줄러를 호출하고, 실행 큐에 삽입된 태스크는 호출된 스케줄러의 스케줄 특성에 따라 스케줄링될 수 있다.
한편, 본 발명의 일 양상에 따른 가상 머신 모니터의 스케줄링 방법은, 적어도 두 개의 도메인을 구동하는 가상 머신 모니터의 스케줄링 방법에 있어서, 도메인으로부터 수신된 태스크를 적어도 하나의 실행 큐에 삽입하는 단계, 및 이벤트의 유형에 따라 실행 큐에 삽입된 태스크를 스케줄링할 스케줄러를 다수의 스케줄러 중에서 선택하는 단계를 포함한다.
개시된 내용에 의하면, 현재 상황 또는 태스크 속성에 따라 적합한 스케줄러가 활성화되기 때문에 태스크 스케줄링에 실시간성을 보장할 수 있다.
도 1은 본 발명의 일 실시예에 따른 가상 머신 모니터를 도시한다.
도 2는 본 발명의 일 실시예에 따른 스케줄러 리스트를 도시한다.
도 3은 본 발명의 일 실시예에 따른 가중치 테이블을 도시한다.
도 4는 본 발명의 일 실시예에 따른 타임 테이블을 도시한다.
도 5a는 본 발명의 일 실시예에 따른 가상 머신 모니터의 동작을 도시한다.
도 5b는 본 발명의 다른 실시예에 따른 가상 머신 모니터의 동작을 도시한다.
도 6a는 본 발명의 다른 실시예에 따른 가상 머신 모니터를 도시한다.
도 6b는 본 발명의 또 다른 실시예에 따른 가상 머신 모니터를 도시한다.
도 7은 본 발명의 일 실시예에 따른 가상 머신 모니터의 스케줄링 방법을 도시한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시를 위한 구체적인 예를 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 가상 머신 모니터(virtual machine monitor, VMM)를 도시한다.
도 1을 참조하면, 가상 머신 모니터(100)는 다수의 도메인(101)(102)과 하드웨어 플랫폼(103) 사이에 존재한다. 각각의 도메인(101)(102)은 운영 체제(operation system) 또는 응용 프로그램(application program)이 될 수 있다. 하드웨어 플랫폼(103)은 중앙 처리 장치(central processing unit, CPU), 메모리(memory), 입출력 포트(I/O port) 등과 같은 물리적 장치가 될 수 있다.
가상 머신 모니터(100)는 하드웨어 플랫폼(103)을 가상화(virtualization)시켜서 다수의 도메인(101)(102)이 동시에 동작할 수 있도록 해준다. 즉, 각각의 도메인(101)(102)은 가상 머신 모니터(100)의 가상화를 통해 하나의 물리적 시스템 리소스를 여러 개의 가상화 시스템 리소스로 사용하는 것이 가능하다.
도메인(101)(102)은 하드웨어 플랫폼(103)에 직접 엑세스할 수 있는 호스트 도메인(101)과 호스트 도메인(101)의 도움을 받아 간접적으로 하드웨어 플랫폼(103)을 이용하는 게스트 도메인(102)으로 구분할 수 있다. 각각의 도메인(101)(102)은 다양한 종류의 태스크(104)(105)를 포함할 수 있다.
가상 머신 모니터(100)는 적어도 하나의 실행 큐(110), 다수의 스케줄러(121)(122)(123), 제어부(130), 및 테이블 저장부(140)를 포함한다.
실행 큐(110)는 도메인(101)(102)으로부터 수신된 태스크(104)(105)를 저장한다. 실행 큐(110)에 저장된 태스크들(T1~T3)은 스케줄러들(121)(122)(123)의 스케줄 대상이 된다. 본 발명의 일 실시예에 따라, 실행 큐(110)는 하나만 형성될 수도 있고 여러 개가 형성될 수가 있다. 여러 개의 실행 큐(110)가 형성되는 경우, 각각의 실행 큐(110)는 하드웨어 플랫폼의 각 CPU 코어 또는 각 스케줄러(121)(122)(123)와 바인딩(binding)될 수 있다.
스케줄러(121)(122)(123)는 실행 큐(110)에 있는 태스크들(T1~T3)의 실행 순서를 결정한다. 스케줄러(121)(122)(123)는 서로 상이한 스케줄 특성을 갖는다. 예를 들어, 제 1 스케줄러(121)는 데드라인 퍼스트 스케줄러(deadline first scheduler)이고, 제 2 스케줄러(122)는 라운드 로빈 스케줄러(round-robin scheduler)이고, 제 3 스케줄러(123)는 이벤트 퍼스트 스케줄러(event first scheduler)가 될 수 있다. 그러나 스케줄러의 종류가 여기에 한정되는 것은 아니다. 실행 큐(110)에 있는 태스크들(T1~T3)은 임의의 시점에 다수의 스케줄러(121)(122)(123) 중에서 현재 상황 또는 태스크 속성에 가장 적합한 스케줄러(예컨대, 121)에 의해 스케줄링되는 것이 가능하다.
제어부(130)는 각각의 도메인(101)(102)으로부터 태스크(104)(105)를 수신하고, 수신된 태스크를 스케줄 엔티티(schedule entity)와 결합하여 실행 큐(110)에 삽입한다. 예컨대, 제어부(130)는 도메인(101)(102)에서 생성된 태스크(104)(105)의 승인을 제어하고, 각 태스크(104)(105)를 가상 머신 모니터(100)의 스케줄 대상(즉, T1~T3)에 포함시킬 수 있다.
또한 제어부(130)는 태스크(104)(105)를 실행 큐(110)에 삽입하고, 태스크의 속성 및 테이블 저장부(140)의 가중치 테이블(141)을 이용하여 태스크들(T1~T3)의 우선 순위를 결정할 수 있다. 이 때, 태스크의 속성은 태스크를 트리거(trigger)하기 위한 이벤트 소스(event source) 및/또는 트리거 조건(trigger requirement)을 포함할 수 있다. 태스크 속성은 도메인(101)(102)에 대응되는 운영 체제(OS)가 알려줄 수 있다. 예를 들어, 제어부(130)는 운영 체제가 알려준 정보에 기초하여 어떤 태스크가 어떤 이벤트 유형에 따라 트리거되는지 여부를 파악하는 것이 가능하다. 가중치 테이블(141)에는 이러한 이벤트 유형에 따른 우선 순위 가중치가 스케줄러(121)(122)(123) 별로 저장된다. 예컨대, 이벤트 유형 A에 의해 트리거되는 태스크 1(T1)과 이벤트 유형 B에 의해 트리거되는 태스크 2(T2)의 경우, 제어부(130)는 가중치 테이블(141)의 트리거 조건과 관련된 태스크 속성을 참조하여 태스크 1(T1)과 태스크 2(T2)의 스케줄링 우선 순위를 결정할 수 있다.
또한 제어부(130)는 태스크(104)(105)를 실행 큐(110)에 삽입하고, 테이블 저장부(140)의 타임 테이블(142)을 생성 또는 갱신할 수 있다. 타임 테이블(142)에는 시간과 관련된 태스크의 제약 사항, 예컨대, 실행 제한 시간이 태스크 별로 저장될 수 있다. 예를 들어, 제어부(130)가 시간 제약을 태스크의 속성으로 갖는 태스크 3(T3)을 수신한 경우, 제어부(130)는 태스크 3(T3)을 실행 큐(110)에 넣고 타임 테이블(142)에 태스크 3(T3)의 실행 제한 시간을 기록하는 것이 가능하다.
또한 제어부(130)는 발생된 이벤트의 유형에 따라 실행 큐(110)에 삽입된 태스크들(T1~T3)을 스케줄링할 스케줄러를 다수의 스케줄러(121)(122)(123) 중에서 선택한다. 본 실시예에 따라, 이벤트란 가상 머신 모니터가 탑재된 기기의 동작에 따라 발생하는 각종 시스템 관련 이벤트가 될 수 있다. 예를 들어, 가상 머신 모니터(100) 기반의 데이터 처리 장치가 휴대폰에 탑재된 경우, 이벤트의 유형은 휴대폰의 전화 송신, 전화 수신, 카메라 ON/OFF, 설정된 타이머 동작, 설정된 시간의 도래 등이 될 수 있다. 이벤트 유형에 따라 선택되는 스케줄러는 테이블 저장부(140)의 스케줄러 리스트(143)에 기초하여 선택될 수 있다. 예를 들어, 실시간성이 보장되어야만 의미가 있는 이벤트가 발생하는 경우, 제어부(130)는 다수의 스케줄러(121)(122)(123) 중에서 데드라인 퍼스트 스케줄러(예컨대, 121)를 선택하는 것이 가능하다.
또한 제어부(130)는 선택된 스케줄러(121)를 호출한다. 호출된 스케줄러(121)는 자신의 스케줄 정책에 따라 실행 큐(110)에 있는 태스크들(T1~T3)을 스케줄링한다.
이와 같이 가상 머신 모니터(100)는 스케줄 특성이 상이한 다수의 스케줄러(121)(122)(123)를 이용하여 특정한 상황 또는 태스크 속성에 적합한 스케줄러에 의해 실행 큐(110)의 태스크들(T1~T3)이 스케줄링되도록 할 수 있다.
도 2는 본 발명의 일 실시예에 따른 스케줄러 리스트(143)를 도시한다.
도 1 및 도 2를 참조하면, 스케줄러 리스트(143)는 이벤트(201) 및 각 이벤트(201)에 따라 호출될 스케줄러(202)를 포함한다. 제어부(130)는 스케줄러 리스트(143)를 참조하여 이벤트 유형 별로 적합한 스케줄러가 호출되도록 할 수 있다. 예를 들어, 이벤트 A와 이벤트 B가 발생한 경우, 스케줄러 S1이 호출될 수 있고, 이벤트 C가 발생한 경우, 스케줄러 S2가 호출될 수 있다. 여기서 각각의 이벤트(201)는 가상 머신 모니터(100) 기반 시스템의 각종 시스템 이벤트가 될 수 있다. 또한, 스케줄러 S1과 스케줄러 S2는 서로 다른 스케줄 특성 또는 서로 다른 스케줄 정책을 갖는 스케줄러를 나타낸다.
도 3은 본 발명의 일 실시예에 따른 가중치 테이블(141)을 도시한다.
도 1 및 도 3을 참조하면, 가중치 테이블(141)은 각각의 태스크 속성(301)에 따른 가중치(302)를 스케줄러(S1, S2) 별로 가질 수 있다. 태스크 속성(301)은 운영 체제로부터 전달받은 태스크의 dead-line, period, event source 등과 같은 정보가 될 수 있다. 예컨대, 태스크 속성(301)은 태스크를 트리거시키는 인터럽트 또는 이벤트 소스를 나타낼 수 있다.
제어부(130)는 가중치 테이블(141)을 참조하여 실행 큐(110)에 삽입되는 태스크들(T1~T3)의 우선 순위를 결정할 수 있다. 예를 들어, 이벤트 A에 의해 트리거되는 태스크 1과 이벤트 B에 의해 트리거되는 태스크 2가 수신된 경우, 제어부(130)는 가중치 테이블(141)을 참조하여 태스크 1의 우선 순위를 태스크 2보다 높게 설정하는 것이 가능하다. 이 때, 각각의 가중치는 스케줄러(S1, S2) 별로 다르게 주어질 수 있다. 예컨대, 이벤트 A 및 이벤트 B가 스케줄러 S2의 스케줄 특성에 별다른 영향을 끼치지 않는 경우 스케줄러 S2에서는 가중치가 동일하게 주어질 수 있다.
도 4는 본 발명의 일 실시예에 따른 타임 테이블(142)을 도시한다.
도 1 및 도 4를 참조하면, 타임 테이블(142)은 태스크 별로 시간 제약 사항, 예컨대, 실행 제한 시간이 저장될 수 있다. 예를 들어, 제어부(130)는 태스크를 실행 큐(110)에 삽입하고 타임 테이블(142)을 주기적으로 갱신하는 것이 가능하다.
도 5a 및 도 5b는 본 발명의 일 실시예에 따른 가상 머신 모니터의 선택적 스케줄링동작을 도시한다.
도 1, 도 5a 및 도 5b에서, 3개의 태스크(T1, T2, T3)가 수신되었고, 태스크 T1은 이벤트 A에 의해 트리거되고, 태스크 T2는 이벤트 B에 의해 트리거되고, 태스크 T3은 이벤트 C에 의해 트리거된다고 가정한다. 그리고 이벤트 C는 타임 인터럽트이고, 스케줄러는 스케줄러 S1과 스케줄러 S2 두 개가 존재한다고 가정한다.
제어부(130)는 태스크 T1, T2, T3의 우선 순위를 결정해서 실행 큐(130)에 삽입한다. 예를 들어, 제어부(130)는 태스크의 속성을 고려한 가중치 테이블(141)을 이용해서 태스크들(T1~T3)의 우선 순위를 조절할 수 있다. 우선 순위는 스케줄러에 따라 다르게 조절될 수 있다. 예컨대, 스케줄러 S1의 스케줄 특성에 있어서, 이벤트 A에 의해 트리거되는 태스크 T1의 우선 순위가 가장 높게 결정될 수 있다. 또한 스케줄러 S2의 스케줄 특성에 있어서, 이벤트 C에 의해 트리거되는 태스크 T3의 우선 순위가 가장 높게 결정될 수 있다.
태스크 T1, T2, T3가 실행 큐(130)에 삽입되고 이벤트가 발생하면, 제어부(130)는 이벤트 유형에 따라 적절한 스케줄러(S1, S2)를 선택한다.
예를 들어 도 2 및 도 5a에서, 이벤트 A가 발생한 경우, 제어부(130)는 스케줄러 리스트(143)을 참조하여 스케줄러 S1을 호출할 수 있다. 스케줄러 S1의 스케줄 특성에 따르면 태스크 T1의 우선 순위가 가장 높기 때문에 T1, T2, T3 순서로 스케줄링이 되는 것이 가능하다.
예를 들어 도 2 및 도 5b에서, 이벤트 C가 발생한 경우, 제어부(130)는 스케줄러 리스트(143)을 참조하여 스케줄러 S2을 호출할 수 있다. 스케줄러 S2의 스케줄 특성에 따르면 태스크 T3의 우선 순위가 가장 높기 때문에 T3, T1, T2 순서로 스케줄링이 되는 것이 가능하다.
이벤트 C가 타임 인터럽트이고 스케줄러 S2가 데드라인 스케줄러인 경우를 살펴보면, 제어부(130)는 시간 제약을 갖는 태스크를 실행 큐(130)에 삽입하면서 타임 테이블(142)을 갱신하고, 타임 인터럽트가 발생하면 데드라인 스케줄러를 활성화시켜서 시간 제약을 갖는 태스크가 먼저 스케줄링되도록 할 수 있다. 또한, 타임 인터럽트가 없는 동안에는 다른 적절한 스케줄러를 활성화시켜서 태스크들을 그 우선 순위에 따라 스케줄링 할 수 있다.
도 6a는 본 발명의 다른 실시예에 따른 가상 머신 모니터를 도시한다.
도 6a를 참조하면, 가상 머신 모니터(100)는 다수의 실행 큐(110-1)(110-2)(110-3)를 포함한다. 도 6a에서, 각각의 실행 큐(110-1)(110-2)(110-3)는 하드웨어 플랫폼(103)의 CPU 코어(CPU#0~CPU#2)에 각각 매핑될 수 있다. 제어부(130)는 태스크(104)(105)가 수신되면 운영 체제로부터 전달 받은 태스크 속성을 이용하여 수신된 태스크(104)(105)가 삽입될 적합한 실행 큐를 결정하는 것이 가능하다.
도 6b는 본 발명의 또 다른 실시예에 따른 가상 머신 모니터를 도시한다.
도 6b를 참조하면, 가상 머신 모니터(100)는 다수의 실행 큐(110-1)(110-2)(110-3)를 포함한다. 도 6b에서, 각각의 실행 큐(110-1)(110-2)(110-3)는 각각의 스케줄러(121)(122)(123)에 매핑될 수 있다. 제어부(130)는 태스크(104)(105)가 수신되면 운영 체제로부터 전달 받은 태스크 속성을 이용하여 수신된 태스크(104)(105)가 삽입될 적합한 실행 큐를 결정하는 것이 가능하다.
도 7은 본 발명의 일 실시예에 따른 가상 머신 모니터의 스케줄링 방법을 도시한다. 이것은 도 1에서 도시된 시스템에 적용될 수 있다.
도 1 및 도 7을 참조하면, 가상 머신 모니터(100)는 도메인(101)(102)으로부터 수신된 태스크를 적어도 하나의 실행 큐(110)에 삽입한다(701). 예를 들어, 수신된 태스크는 가중치 테이블(141)에 기초하여 우선 순위가 조절된 후 실행 큐(110)에 삽입될 수 있다. 또한, 태스크가 실행 큐(110)에 삽입되면서 태스크의 실행 제한 시간이 기록된 타임 테이블(142)이 생성 또는 갱신될 수 있다.
그리고 가상 머신 모니터(100)는 이벤트의 유형에 따라 실행 큐(110)에 삽입된 태스크(T1~T3)를 스케줄링할 스케줄러를 다수의 스케줄러(121)(122)(123) 중에서 선택한다(702). 예를 들어, 제어부(130)가 테이블 저장부(140)에 저장된 스케줄러 리스트(143)를 참조하여 현재 상황 또는 태스크 속성에 가장 적합한 스케줄러를 선택하는 것이 가능하다.
그리고 가상 머신 모니터(100)는 선택된 스케줄러를 호출한다(703). 예를 들어, 제어부(130)가 선택된 스케줄러를 호출하고, 호출된 스케줄러에 의해 실행 큐(110)에 있는 태스크들(T1~T3)이 호출된 스케줄러의 스케줄 특성 또는 스케줄 정책에 따라 스케줄링되도록 하는 것이 가능하다.
또한, 본 발명의 일 실시예에 따라, 실행 큐(110)가 여러 개 형성되는 경우, 가상 머신 모니터(100)는 운영 체제로부터 전달 받은 태스크의 속성을 이용하여 태스크 속성에 맞는 실행 큐를 선택하고 선택된 실행 큐에 태스크를 삽입하는 것도 가능하다.
이상에서 살펴본 바와 같이, 가상 머신 모니터(100)는 스케줄 특성이 다른 다수의 스케줄러(121)(122)(123)를 운용하면서 이벤트 상황에 맞는 또는 태스크 속성에 맞는 스케줄러로 태스크를 스케줄링하는 것을 알 수 있다. 따라서 실시간 태스크와 같이 사용자 요구에 민감하게 반응하는 태스크를 적절하게 스케줄링하는 것이 가능하다.
한편, 본 발명의 실시 예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이상에서 본 발명의 실시를 위한 구체적인 예를 살펴보았다. 전술한 실시 예들은 본 발명을 예시적으로 설명하기 위한 것으로 본 발명의 권리범위가 특정 실시 예에 한정되지 아니할 것이다.

Claims (17)

  1. 적어도 두 개의 도메인을 구동하는 가상 머신 모니터에 있어서,
    적어도 한 개의 실행 큐;
    서로 다른 스케줄 특성을 갖는 다수의 스케줄러;
    테이블 저장부; 및
    상기 도메인으로부터 수신된 태스크를 상기 실행 큐에 삽입하고, 이벤트의 유형에 따라 상기 실행 큐에 삽입된 태스크를 스케줄링할 스케줄러를 상기 다수의 스케줄러 중에서 선택하며, 태스크의 속성 및 가중치 테이블에 기초하여 실행 큐의 태스크의 우선 순위를 조절하는 제어부; 를 포함하고,
    상기 테이블 저장부는,
    상기 이벤트의 유형에 따른 상기 태스크의 우선 순위 가중치가 기록된 가중치 테이블;
    상기 태스크의 실행 제한 시간이 기록된 타임 테이블; 및
    상기 이벤트의 유형에 따라 선택될 스케줄러가 기록된 스케줄러 리스트; 를 포함하는 가상 머신 모니터.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서, 상기 태스크의 속성은
    상기 태스크를 트리거(trigger)하기 위한 이벤트 소스를 포함하는 가상 머신 모니터.
  5. 제 1 항에 있어서, 상기 우선 순위 가중치는
    상기 스케줄러의 종류 별로 독립적인 값을 갖는 가상 머신 모니터.
  6. 제 1 항에 있어서, 상기 제어부는
    상기 수신된 태스크를 상기 실행 큐에 삽입하고, 상기 타임 테이블을 생성 또는 갱신하는 가상 머신 모니터.
  7. 제 1 항에 있어서,
    상기 제어부는 선택된 스케줄러를 호출하고,
    상기 실행 큐에 삽입된 태스크는 호출된 스케줄러의 스케줄 특성에 따라 스케줄링되는 가상 머신 모니터.
  8. 제 1 항에 있어서, 상기 실행 큐는
    다수 개가 형성되는 가상 머신 모니터.
  9. 제 8 항에 있어서, 각각의 실행 큐는
    상기 가상 머신 모니터에 의해 관리되는 다수의 물리 자원에 각각 매핑되는 가상 머신 모니터.
  10. 제 8 항에 있어서, 각각의 실행 큐는
    상기 다수의 스케줄러에 각각 매핑되는 가상 머신 모니터.
  11. 제 8 항에 있어서, 상기 제어부는
    상기 수신된 태스크의 속성에 따라 상기 태스크가 삽입될 실행 큐를 결정하는 가상 머신 모니터.
  12. 제 1 항에 있어서,
    상기 스케줄러는 데드라인 스케줄러를 포함하며,
    상기 제어부는 상기 이벤트의 유형으로 타임 인터럽트가 발생한 경우, 상기 데드라인 스케줄러를 호출하는 가상 머신 모니터.
  13. 적어도 두 개의 도메인을 구동하는 가상 머신 모니터의 스케줄링 방법에 있어서,
    도메인으로부터 수신된 태스크를 적어도 하나의 실행 큐에 삽입하는 단계;
    이벤트의 유형에 따라 상기 실행 큐에 삽입된 태스크를 스케줄링할 스케줄러를 다수의 스케줄러 중에서 선택하는 단계; 및
    상기 태스크의 속성 및 상기 이벤트의 유형에 따른 상기 태스크의 우선 순위 가중치가 기록된 가중치 테이블을 이용하여 상기 태스크의 우선 순위를 결정하는 단계;를 포함하고,
    상기 태스크를 삽입하는 단계는
    상기 태스크의 실행 제한 시간이 기록된 타임 테이블을 생성 또는 갱신하는 과정을 포함하는 가상 머신 모니터의 스케줄링 방법.
  14. 삭제
  15. 삭제
  16. 제 13 항에 있어서, 상기 태스크를 삽입하는 단계는
    상기 수신된 태스크의 속성에 따라 상기 태스크가 삽입될 실행 큐를 결정하는 과정을 포함하는 가상 머신 모니터의 스케줄링 방법.
  17. 제 13 항에 있어서,
    상기 선택된 스케줄러를 호출하는 단계; 를 더 포함하며,
    상기 실행 큐에 삽입된 태스크는 호출된 스케줄러의 스케줄 특성에 따라 스케줄링되는 가상 머신 모니터의 스케줄링 방법.
KR1020100022495A 2010-03-12 2010-03-12 가상 머신 모니터 및 가상 머신 모니터의 스케줄링 방법 KR101658035B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020100022495A KR101658035B1 (ko) 2010-03-12 2010-03-12 가상 머신 모니터 및 가상 머신 모니터의 스케줄링 방법
CN201110058516.8A CN102193853B (zh) 2010-03-12 2011-03-11 虚拟机监控器及其调度方法
US13/045,698 US9417912B2 (en) 2010-03-12 2011-03-11 Ordering tasks scheduled for execution based on priority and event type triggering the task, selecting schedulers for tasks using a weight table and scheduler priority
JP2011054346A JP6383518B2 (ja) 2010-03-12 2011-03-11 仮想マシンモニター及び仮想マシンモニターのスケジューリング方法
EP11158011.4A EP2372548B1 (en) 2010-03-12 2011-03-14 Virtual machine monitor and scheduling method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100022495A KR101658035B1 (ko) 2010-03-12 2010-03-12 가상 머신 모니터 및 가상 머신 모니터의 스케줄링 방법

Publications (2)

Publication Number Publication Date
KR20110103257A KR20110103257A (ko) 2011-09-20
KR101658035B1 true KR101658035B1 (ko) 2016-10-04

Family

ID=44343244

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100022495A KR101658035B1 (ko) 2010-03-12 2010-03-12 가상 머신 모니터 및 가상 머신 모니터의 스케줄링 방법

Country Status (5)

Country Link
US (1) US9417912B2 (ko)
EP (1) EP2372548B1 (ko)
JP (1) JP6383518B2 (ko)
KR (1) KR101658035B1 (ko)
CN (1) CN102193853B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11243806B2 (en) 2018-11-09 2022-02-08 Samsung Electronics Co., Ltd. System on chip including a multi-core processor and task scheduling method thereof

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8826271B2 (en) 2010-04-28 2014-09-02 Cavium, Inc. Method and apparatus for a virtual system on chip
JP5987315B2 (ja) * 2011-03-18 2016-09-07 株式会社リコー 表示制御装置およびプログラム
TWM432075U (en) * 2011-10-25 2012-06-21 Chunghwa Telecom Co Ltd Monitoring device and monitoring system applicable to cloud algorithm
CN103136045A (zh) * 2011-11-24 2013-06-05 中兴通讯股份有限公司 虚拟化操作系统中的调度方法和装置
CN102541651B (zh) * 2011-12-12 2013-07-31 华中科技大学 一种嵌入式虚拟机的实时调度系统
CN103186450A (zh) * 2011-12-28 2013-07-03 英业达集团(天津)电子技术有限公司 虚拟资源的使用消耗的监测方法及系统
US9298504B1 (en) * 2012-06-11 2016-03-29 Amazon Technologies, Inc. Systems, devices, and techniques for preempting and reassigning tasks within a multiprocessor system
CN103577265A (zh) * 2012-07-25 2014-02-12 田文洪 一种云计算数据中心离线节能调度的方法与装置
US9110695B1 (en) * 2012-12-28 2015-08-18 Emc Corporation Request queues for interactive clients in a shared file system of a parallel computing system
CN104035818A (zh) * 2013-03-04 2014-09-10 腾讯科技(深圳)有限公司 多任务调度的方法及装置
KR102052964B1 (ko) * 2013-03-12 2019-12-06 삼성전자 주식회사 컴퓨팅 스케줄링 방법 및 시스템
US9268495B2 (en) * 2013-03-15 2016-02-23 Apple Inc. Managing I/O priorities
CN103677990B (zh) * 2013-12-13 2018-01-16 清华大学 虚拟机实时任务的调度方法、装置和虚拟机
CN104010028B (zh) * 2014-05-04 2017-11-07 华南理工大学 一种云平台下性能加权的虚拟资源动态管理策略方法
US9921879B2 (en) * 2014-05-13 2018-03-20 International Business Machines Corporation Using queues corresponding to attribute values associated with units of work to select the units of work to process
US9563366B2 (en) 2014-05-13 2017-02-07 International Business Machines Corporation Using queues corresponding to attribute values associated with units of work and sub-units of the unit of work to select the units of work and their sub-units to process
US9575800B2 (en) * 2014-05-13 2017-02-21 International Business Machines Corporation Using queues corresponding to attribute values and priorities associated with units of work and sub-units of the unit of work to select the units of work and their sub-units to process
US9772959B2 (en) 2014-05-30 2017-09-26 Apple Inc. I/O scheduling
CN104252401B (zh) * 2014-08-29 2017-02-15 北京阅联信息技术有限公司 一种基于权重的设备状态判断方法及其系统
US9092376B1 (en) 2014-08-29 2015-07-28 Nimble Storage, Inc. Methods and systems for ordering virtual machine snapshots
US10268958B1 (en) * 2014-09-10 2019-04-23 Amazon Technologies, Inc. Recommended launch configuration
US9778990B2 (en) * 2014-10-08 2017-10-03 Hewlett Packard Enterprise Development Lp Methods and systems for concurrently taking snapshots of a plurality of virtual machines
US9727252B2 (en) 2014-11-13 2017-08-08 Hewlett Packard Enterprise Development Lp Methods and systems for optimal snapshot distribution within a protection schedule
US9552229B2 (en) * 2015-05-14 2017-01-24 Atlassian Pty Ltd Systems and methods for task scheduling
CN104915256B (zh) * 2015-06-05 2019-03-26 惠州Tcl移动通信有限公司 一种任务的实时调度实现方法及其系统
JP6501632B2 (ja) * 2015-06-05 2019-04-17 キヤノン株式会社 情報処理システム、およびその制御方法
KR102371916B1 (ko) 2015-07-22 2022-03-07 삼성전자주식회사 가상 머신을 지원하는 스토리지 장치, 그것을 포함하는 스토리지 시스템 및 그것의 동작 방법
US9870266B2 (en) 2015-07-30 2018-01-16 Nasdaq, Inc. Background job processing framework
CN105467873B (zh) * 2015-11-27 2018-04-17 北京友信宏科电子科技有限公司 一种车辆交流电机控制器的任务调度方法及装置
US20170177395A1 (en) * 2015-12-21 2017-06-22 Mingqiu Sun Embedded architecture based on process virtual machine
KR101707601B1 (ko) 2015-12-31 2017-02-16 숭실대학교산학협력단 가상 머신 모니터 및 가상 머신 모니터의 스케줄링 방법
CN107085375B (zh) * 2016-02-16 2024-03-08 周锡卫 一种基于智能控制器的分布式智能家居系统
US10235211B2 (en) * 2016-04-22 2019-03-19 Cavium, Llc Method and apparatus for dynamic virtual system on chip
US10353590B2 (en) 2016-05-19 2019-07-16 Hewlett Packard Enterprise Development Lp Methods and systems for pre-processing sensor measurements
CN106095545B (zh) * 2016-06-01 2019-06-25 东软集团股份有限公司 任务调度方法及装置
CN111831234A (zh) 2016-06-21 2020-10-27 伊姆西Ip控股有限责任公司 用于虚拟机的方法和装置
KR101872621B1 (ko) * 2016-12-16 2018-06-28 주식회사 한화 다기능 레이더를 탑재한 비행체의 가용 자원 관리 장치 및 그 방법
EP3343366B1 (en) * 2016-12-27 2020-12-30 OpenSynergy GmbH System and method for scheduling a plurality of guest systems and/or threads
US20180232707A1 (en) * 2017-02-10 2018-08-16 Aerostrat Corporation Vehicle maintenance scheduling systems and methods
KR101852608B1 (ko) 2017-02-10 2018-06-07 숭실대학교산학협력단 가상 머신 모니터, 가상 머신 모니터의 스케줄링 방법 및 이를 제공하기 위한 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체
EP3399412A1 (en) * 2017-05-04 2018-11-07 Robert Bosch GmbH Method and apparatus for scheduling tasks to a cyclic schedule
CN109426562B (zh) * 2017-08-30 2023-10-13 北京忆恒创源科技股份有限公司 优先级加权轮转调度器
US10318301B2 (en) * 2017-08-31 2019-06-11 Micron Technology, Inc. Managed multiple die memory QoS
CN107977268B (zh) * 2017-10-13 2021-07-20 北京百度网讯科技有限公司 人工智能的异构硬件的任务调度方法、装置及可读介质
WO2019202365A1 (en) * 2018-04-18 2019-10-24 Pratik Sharma Event based task scheduler for cloud
CN108595249A (zh) * 2018-05-02 2018-09-28 联想(北京)有限公司 一种虚拟机任务调度方法及电子设备
US10666575B2 (en) 2018-06-15 2020-05-26 Microsoft Technology Licensing, Llc Asymmetric co-operative queue management for messages
CN109445847B (zh) * 2018-07-09 2021-09-17 北京东土科技股份有限公司 工业服务器微内核架构实现方法
CN108984267B (zh) * 2018-07-09 2020-11-13 北京东土科技股份有限公司 工业服务器的微内核架构控制系统及工业服务器
CN111338882A (zh) * 2018-12-18 2020-06-26 北京京东尚科信息技术有限公司 数据监控方法、装置、介质及电子设备
KR20200101682A (ko) * 2019-02-20 2020-08-28 삼성전자주식회사 전자 장치 및 그 제어 방법
CN110096353B (zh) * 2019-05-14 2021-11-30 厦门美图之家科技有限公司 任务调度方法及装置
CN110209488B (zh) * 2019-06-10 2021-12-07 北京达佳互联信息技术有限公司 任务执行方法、装置、设备、系统及存储介质
US11294715B2 (en) * 2019-08-28 2022-04-05 Marvell Asia Pte, Ltd. System and method for queuing work within a virtualized scheduler based on in-unit accounting of in-unit entries
CN110737521B (zh) * 2019-10-14 2021-03-05 中国人民解放军32039部队 基于任务调度中心的容灾方法和装置
US11620053B2 (en) * 2019-10-24 2023-04-04 Micron Technology, Inc. Quality of service for the multiple functions in memory devices
US11687244B2 (en) 2019-10-24 2023-06-27 Micron Technology, Inc. Quality of service for memory devices using weighted memory access operation types
US11487874B1 (en) 2019-12-05 2022-11-01 Marvell Asia Pte, Ltd. Prime and probe attack mitigation
KR20210082705A (ko) * 2019-12-26 2021-07-06 삼성전자주식회사 미리 정의된 시간을 사용한 스토리지 장치의 작업 스케쥴링 방법 및 이를 이용한 스토리지 시스템의 구동 방법
US11570176B2 (en) 2021-01-28 2023-01-31 Bank Of America Corporation System and method for prioritization of text requests in a queue based on contextual and temporal vector analysis
CN113254164B (zh) * 2021-07-07 2021-10-08 北京航天驭星科技有限公司 卫星测控过程执行任务状态的监控方法及系统、测控系统
CN116501447B (zh) * 2023-06-20 2023-09-26 麒麟软件有限公司 基于Xen的硬实时实现系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000347883A (ja) * 1999-06-03 2000-12-15 Matsushita Electric Ind Co Ltd 仮想計算機装置
US20080244584A1 (en) * 2007-03-26 2008-10-02 Smith Gary S Task scheduling method
US20090037926A1 (en) * 2007-08-01 2009-02-05 Peter Dinda Methods and systems for time-sharing parallel applications with performance isolation and control through performance-targeted feedback-controlled real-time scheduling

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2636722B2 (ja) * 1993-12-25 1997-07-30 日本電気株式会社 マルチタスク実行管理方式
US5826081A (en) * 1996-05-06 1998-10-20 Sun Microsystems, Inc. Real time thread dispatcher for multiprocessor applications
DE69724736T2 (de) 1996-10-25 2004-07-08 Fujitsu Services Ltd. Prozessablaufsteuerung
JP2000137621A (ja) * 1998-10-30 2000-05-16 Toshiba Corp イベント管理装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2001117786A (ja) 1999-10-19 2001-04-27 Nec Corp プロセススケジューリング装置およびプロセススケジューリング方法
US7356817B1 (en) * 2000-03-31 2008-04-08 Intel Corporation Real-time scheduling of virtual machines
US7296271B1 (en) * 2000-06-28 2007-11-13 Emc Corporation Replaceable scheduling algorithm in multitasking kernel
KR100349658B1 (ko) 2000-12-04 2002-08-24 한국전자통신연구원 분산 가상환경을 위한 실시간 상태관리 서버와 그의공유공간 상태정보 관리방법
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
US7093250B1 (en) * 2001-10-11 2006-08-15 Ncr Corporation Priority scheduler for database access
JP4028444B2 (ja) 2003-06-27 2007-12-26 株式会社東芝 スケジューリング方法およびリアルタイム処理システム
US7424709B2 (en) * 2003-09-15 2008-09-09 Intel Corporation Use of multiple virtual machine monitors to handle privileged events
WO2005064463A1 (en) * 2003-12-26 2005-07-14 Matsushita Electric Industrial Co., Ltd. Task scheduling apparatus, method, program, storage medium and transmission medium for prioritized signal handler scheduling
EP1725947A4 (en) * 2004-03-13 2008-08-06 Cluster Resources Inc SYSTEM AND METHOD FOR ADVANCED RESERVATIONS IN A CALCULATION ENVIRONMENT
GB0519981D0 (en) * 2005-09-30 2005-11-09 Ignios Ltd Scheduling in a multicore architecture
KR100809294B1 (ko) 2006-03-10 2008-03-07 삼성전자주식회사 가상 머신에서 스레드 스케줄링을 수행하는 장치 및 그방법
ATE468556T1 (de) * 2006-04-13 2010-06-15 Microsoft Corp Virtuelles ausführungssystem für ressourcen- beschränkte geräte
US8051423B2 (en) * 2007-02-06 2011-11-01 Mba Sciences, Inc. System and method for tracking resources during parallel processing
US20080320274A1 (en) * 2007-06-19 2008-12-25 Raza Microelectronics, Inc. Age matrix for queue dispatch order
JP2009223842A (ja) * 2008-03-19 2009-10-01 Fujitsu Ltd 仮想計算機制御プログラム及び仮想計算機システム
US8650570B2 (en) * 2008-06-02 2014-02-11 Microsoft Corporation Method of assigning instructions in a process to a plurality of scheduler instances based on the instruction, in which each scheduler instance is allocated a set of negoitaited processor resources
US9367350B2 (en) * 2008-10-03 2016-06-14 Microsoft Technology Licensing, Llc Meta-scheduler with meta-contexts

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000347883A (ja) * 1999-06-03 2000-12-15 Matsushita Electric Ind Co Ltd 仮想計算機装置
US20080244584A1 (en) * 2007-03-26 2008-10-02 Smith Gary S Task scheduling method
US20090037926A1 (en) * 2007-08-01 2009-02-05 Peter Dinda Methods and systems for time-sharing parallel applications with performance isolation and control through performance-targeted feedback-controlled real-time scheduling

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11243806B2 (en) 2018-11-09 2022-02-08 Samsung Electronics Co., Ltd. System on chip including a multi-core processor and task scheduling method thereof

Also Published As

Publication number Publication date
US9417912B2 (en) 2016-08-16
JP6383518B2 (ja) 2018-08-29
KR20110103257A (ko) 2011-09-20
EP2372548A1 (en) 2011-10-05
JP2011192281A (ja) 2011-09-29
CN102193853B (zh) 2017-04-05
EP2372548B1 (en) 2020-05-06
US20110225583A1 (en) 2011-09-15
CN102193853A (zh) 2011-09-21

Similar Documents

Publication Publication Date Title
KR101658035B1 (ko) 가상 머신 모니터 및 가상 머신 모니터의 스케줄링 방법
US11797327B2 (en) Dynamic virtual machine sizing
US9141422B2 (en) Plug-in task scheduler
US8161453B2 (en) Method and apparatus for implementing task management of computer operations
KR101668399B1 (ko) 프로세서 코어들의 하이퍼바이저 격리
EP2585917B1 (en) Stack overflow prevention in parallel execution runtime
CN109564525B (zh) 按需网络代码执行环境中的异步任务管理
JP5458998B2 (ja) 仮想マシンシステムおよび仮想マシン管理方法
US10983846B2 (en) User space pre-emptive real-time scheduler
CN107783836B (zh) 基于 Linux 容器控制Web 应用资源的方法和装置
US8806180B2 (en) Task execution and context switching in a scheduler
CN115098230A (zh) 管理线程的方法及装置
Hamayun et al. Towards hard real-time control and infotainment applications in automotive platforms
US20230229473A1 (en) Adaptive idling of virtual central processing unit
US20230015852A1 (en) Opportunistic exclusive affinity for threads in a virtualized computing system
Woo et al. Cross-layer real-time support for JVM-based smartphone systems
Swift et al. Individual Programming Assignment User Mode Scheduling in MINIX 3
Woo et al. Multi-Layer Real-Time Support for JVM-based Smart Phone Systems

Legal Events

Date Code Title Description
A201 Request for examination
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: 20190829

Year of fee payment: 4