KR101816718B1 - Cpu 네트워크 통합 스케줄링 시스템 및 그 제어방법 - Google Patents

Cpu 네트워크 통합 스케줄링 시스템 및 그 제어방법 Download PDF

Info

Publication number
KR101816718B1
KR101816718B1 KR1020160121329A KR20160121329A KR101816718B1 KR 101816718 B1 KR101816718 B1 KR 101816718B1 KR 1020160121329 A KR1020160121329 A KR 1020160121329A KR 20160121329 A KR20160121329 A KR 20160121329A KR 101816718 B1 KR101816718 B1 KR 101816718B1
Authority
KR
South Korea
Prior art keywords
cpu
virtual machine
information
output
input
Prior art date
Application number
KR1020160121329A
Other languages
English (en)
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 KR1020160121329A priority Critical patent/KR101816718B1/ko
Application granted granted Critical
Publication of KR101816718B1 publication Critical patent/KR101816718B1/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
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

CPU 네트워크의 통합 스케줄링 시스템이 개시된다. 상기 CPU 네트워크의 통합 스케줄링 시스템은 가상 네트워크 인터페이스로부터 가상 머신의 입출력(I/O) 성능정보를 수집하는 데이터 수집기 및 상기 가상 머신의 입출력(I/O) 성능정보와 기설정된 기준정보를 비교하여, 상기 가상 머신의 입출력(I/O) 성능정보가 상기 기준정보에 도달하도록, 상기 가상 머신에 할당되는 CPU 자원량을 제어하는 피드백 컨트롤러를 포함한다.

Description

CPU 네트워크 통합 스케줄링 시스템 및 그 제어방법{The system for CPU Network integrated scheduling and the controlling method thereof}
본 발명은 CPU 네트워크의 통합 스케줄링 시스템 및 그 제어방법에 관한 것이다.
가상화(Virtualization) 기술은 한정된 물리 자원을 추상화하여, 여러 사용자에게 가상 자원의 형태로 제공되는 기술로서, 자원 관리가 효율적이며, 서비스 제공이 유동적이라는 장점이 있다. 가상화 기술에서 물리 자원을 추상화하는 하이퍼바이저(hypervisor)가 여러 가상 머신(virtual machine)에게 자원을 할당함으로써 효율적인 자원 관리에 중요한 역할을 담당하였다.
하지만, 가상화 기술의 특성상 물리 자원을 다수의 가상 머신이 공유하기 때문에 자원 경쟁이 발생하고, 자원 경쟁이 심화되는 경우 가상 머신들의 서로의 성능에 영향을 미치는 성능간섭현상이 발생한다.
이러한 성능간섭을 해결하기 위해서는 하이퍼바이저에서 효율적인 자원할당이 이루어져야 하지만, 다양한 특성을 가지는 작업이 가상 머신에서 수행되는 경우 하이퍼바이저는 가상 머신에서 동작하는 작업들의 특성을 알 수 없기 때문에 효율적인 자원 할당이 어려운 문제가 있다.
대한민국 공개특허 제2013-0081213호
본 발명은 가상화 플랫폼인 KVM(Kernel-based Virtual Machine)기반 가상화 환경에서 구성되는 복합적인 작업에 대하여, CPU 스케줄링을 통해, 가상 머신의 입출력(I/O)성능 간섭현상을 최소화할 수 있는 CPU 네트워크의 통합 스케줄링 시스템을 제공한다.
본 발명에 따른 CPU 네트워크의 통합 스케줄링 시스템은 가상 네트워크 인터페이스로부터 가상 머신의 입출력(I/O) 성능정보를 수집하는 데이터 수집기 및 상기 가상 머신의 입출력(I/O) 성능정보와 기설정된 기준정보를 비교하여, 상기 가상 머신의 입출력(I/O) 성능정보가 상기 기준정보에 도달하도록, 상기 가상 머신에 할당되는 CPU 자원량을 제어하는 피드백 컨트롤러를 포함한다.
또한, 상기 피드백 컨트롤러는 상기 가상 머신의 입출력(I/O) 성능정보가 상기 기준정보 미만인 경우, 상기 가상 머신에 대한 부스팅 그룹을 생성하며, 상기 부스팅 그룹에 상기 가상 머신의 입출력(I/O) 요청을 처리하는 가상 CPU(VCPU)와 가상 호스트(VHOST)를 배치하고, 상기 가상 머신의 입출력(I/O) 성능정보가 상기 기준정보에 도달하도록, 상기 부스팅 그룹에 할당되는 상기 CPU 자원량 정보를 생성할 수 있다.
또한, 상기 피드백 컨트롤러로부터 전송된 상기 CPU 자원량 정보에 기초하여, 상기 가상 머신의 부스팅 그룹에 할당될 상기 CPU 자원량에 대한 CPU 자원할당정보를 생성하는 CPU 스케줄러 및 상기 CPU 스케줄러로부터 전송된 상기 CPU 자원할당정보에 기초하여, 상기 부스팅 그룹에 CPU 자원을 할당하는 CPU 자원할당모듈를 더 포함할 수 있다.
또한, 상기 피드백 컨트롤러는 PI(Proportional Integral Controller) 제어기로 구현될 수 있다.
본 발명에 따른 CPU 네트워크의 통합 스케줄링 시스템의 제어방법은 데이터 수집기가 가상 네트워크 인터페이스로부터 가상 머신의 입출력(I/O) 성능정보를 수집하는 제1 단계 및 피드백 컨트롤러가 상기 가상 머신의 입출력(I/O)) 성능정보와 기설정된 기준정보를 비교하여, 상기 가상 머신의 입출력(I/O) 성능정보가 상기 기준정보에 도달하도록, 상기 가상 머신에 할당되는 CPU 자원량을 제어하는 제2 단계를 포함한다.
또한, 상기 제2 단계는 상기 가상 머신의 입출력(I/O) 성능정보와 상기 기준정보를 비교하는 단계, 상기 가상 머신의 입출력(I/O) 성능정보가 상기 기준정보 미만인 경우, 상기 가상 머신에 대한 부스팅 그룹을 생성하는 단계, 상기 부스팅 그룹에 상기 가상 머신의 입출력(I/O) 요청을 처리하는 가상 CPU(VCPU) 와 가상 호스트(VHOST)를 배치하는 단계, 상기 가상 머신의 입출력(I/O) 성능정보가 상기 기준정보에 도달하도록, 상기 부스팅 그룹에 할당되는 상기 CPU 자원량을 산출하는 단계, 및 상기 산출된 CPU 자원량에 기초하여, 상기 부스팅 그룹에 대한 CPU 자원량정보를 생성하는 단계를 포함할 수 있다.
또한, CPU 스케줄러로부터, 상기 피드백 컨트롤러로부터 전송된 상기 CPU 자원량 정보에 기초하여, 상기 가상 머신의 부스팅 그룹에 할당될 상기 CPU 자원량에 대한 CPU 자원할당정보를 생성하는 단계 및 CPU 자원할당모듈로부터, 상기 CPU 스케줄러로부터 전송된 상기 CPU 자원할당정보에 기초하여, 상기 부스팅 그룹에 CPU 자원을 할당하는 단계를 더 포함할 수 있다.
본 발명에 따른 CPU 네트워크의 통합 스케줄링 시스템은 하이퍼바이저가 가상 머신의 입출력(I/O) 요구 성능을 이해하고, 해당성능에 도달할 수 있도록 CPU 자원을 피드백 방식으로 할당하여, 가상 머신의 입출력(I/O)성능 간섭현상을 완화할 수 있다.
또한, 본 발명에 따른 CPU 네트워크의 통합 스케줄링 시스템은 피드백 컨트롤러가 가상 머신의 입출력(I/O)성능에 따라, 가상 머신의 부스팅 그룹의 CPU 자원량(CPU share)을 조절함으로써, 기존 연구와 달리, 동적으로 실행 프로세스가 변하는 클라우드 환경에 적용할 수 있다.
도 1은 본 발명의 일실시예에 따른 CPU 네트워크의 통합 스케줄링 시스템의 기능을 나타낸 블록도이다.
도 2는 본 발명의 일실시예에 따른 CPU 네트워크의 통합 스케줄링 시스템의 제어방법을 나타낸 흐름도이다.
도 3a 와 3b는 본 발명에 따른 가상머신의 입출력성능변화를 나타낸 도면이다.
본 발명의 목적, 특정한 장점들 및 신규한 특징들은 첨부된 도면들과 연관되어지는 이하의 상세한 설명과 바람직한 실시예들로부터 더욱 명백해질 것이다. 본 명세서에서 각 도면의 구성요소들에 참조번호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다. 또한, "일면", "타면", "제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 상기 용어들에 의해 제한되는 것은 아니다. 이하, 본 발명을 설명함에 있어서, 본 발명의 요지를 불필요하게 흐릴 수 있는 관련된 공지 기술에 대한 상세한 설명은 생략한다.
이하, 첨부된 도면을 참조하여, 본 발명인 CPU 네트워크의 통합 스케줄링 시스템에 대한 일실시예를 상세히 설명하기로 한다.
가상화 환경은 리눅스를 호스트 운영체제로 사용하는 가상화 플랫폼인 KVM(Kernel-based Virtual Machine)으로 구성될 수 있으며, 가상 머신(Virtual Machine)은 호스트 OS(Operating System)에 의해 하나의 프로세스로 관리될 수 있다. 하기의 CPU는 중앙연산처리장치(Central Processing Unit)을 의미한다. 또한, 본 발명의 권리범위가 가상화 플랫폼의 종류에 제한되는 것은 아니며, 실시 예에 따라 가상화 환경은 젠(Xen)으로 구성될 수도 있다.
도 1은 본 발명의 일실시예에 따른 CPU 네트워크의 통합 스케줄링 시스템의 기능을 나타낸 블록도이며, 도 2는 본 발명의 일실시예에 따른 CPU 네트워크의 통합 스케줄링 시스템의 제어방법을 나타낸 흐름도이고, 도 3a와 3b는 본 발명에 따른 가상 머신의 입출력성능변화를 나타낸 도면이다.
본 발명의 일실시예에 따른 CPU 네트워크의 통합 스케줄링 장치 또는 CPU 네트워크의 통합 스케줄링 시스템(10)은 가상 머신(150)의 입출력(I/O) 성능정보를 수집하는 데이터 수집기(130), 상기 가상 머신(150)의 입출력(I/O) 성능정보를 기초로 하여, 가상 머신(150)에 할당되는 CPU 자원량을 산출하는 피드백 컨트롤러(120), 상기 CPU 자원량을 기초로 하여, CPU 자원할당정보를 생성하는 CPU 스케줄러(100) 및 상기 CPU 자원할당정보를 기초로 하여, 가상 머신(150) 등에 CPU 자원을 할당하는 CPU 자원할당모듈(110)로 구성될 수 있다.
데이터 수집기(130)는 가상 네트워크 인터페이스(Vintual Network Interface, 140)로부터 가상 머신(150)의 입출력(I/O) 성능정보를 수집하며, 상기 입출력(I/O) 성능정보를 피드백 컨트롤러(120)로 전송할 수 있다.
여기서, 가상 네트워크 인터페이스(140)는 데이터 수집기(130)와 가상 머신(150)의 통신을 위한 가상 인터페이스이며, 상기 입출력(I/O) 성능정보는 네트워크 대역폭과 같은 입출력(I/O)자원의 사용정보 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
피드백 컨트롤러(120)는 가상 머신(150)의 입출력(I/O) 성능정보와 기설정된 기준정보를 비교하여, 가상 머신(150)의 입출력(I/O) 성능정보가 상기 기준정보에 도달하도록, 가상 머신(150)에 할당되는 CPU 자원량을 산출할 수 있다.
여기서, 가상 머신(150)에 할당되는 CPU 자원량은 CPU share로 표현될 수 있으며, 컨트롤 그룹에 속한 태스크들이 사용할 수 있는 CPU 할당량의 상대적인 비율이다.
예를 들면, 제1 가상 머신(미도시)의 모든 가상 CPU(VCPU)들이 속한 그룹과 제2 가상 머신(미도시)의 모든 가상 CPU(VCPU)들이 속한 그룹이 '1024'라는 동일한 CPU share를 가지고 있다면, 일정한 양의 CPU 자원에 대해 두 그룹은 1:1의 비율로 CPU 자원을 나눠 사용하는 것이다.
피드백 컨트롤러(120)는 제어하고자 하는 대상의 출력값을 측정하여, 이를 원하고자 하는 참조값 혹은 설정값과 비교하여 오차를 계산하고, 이 오차값을 이용하여, 제어에 필요한 제어값을 계산하는 PI(Proportional Integral Controller) 제어기일 수 있으나, 이에 한정되는 것은 아니다.
피드백 컨트롤러(120)는 우선적으로 스케줄링해야 할 부스팅 그룹에게 충분한 양의 CPU 자원을 할당해야 원하는 가상 머신(150)의 입출력(I/O) 성능을 얻을 수 있으며, 이를 위해서는 충분한 양의 CPU 자원이 얼마만큼 인지 구체적인 수치로 계산되어야 하고, 현재 클라우드와 같이 동적으로 실행 프로세스가 변하는 환경에서 가상 머신(150)의 입출력(I/O)성능을 달성하기 위한 최적의 CPU 자원량도 동적으로 변하는 바, 동적으로 변하는 CPU 자원량을 계산하기 위해, PI(Proportional Integral Controller) 제어기로 구현될 수 있다.
즉, 피드백 컨트롤러(120)는 가상 머신(150)의 입출력(I/O) 성능정보가 상기 기준정보 미만인 경우, 가상 머신(150)에 대한 부스팅 그룹을 생성하며, 상기 부스팅 그룹에 가상 머신(150)의 입출력(I/O) 요청을 처리하는 가상 CPU(VCPU)와 가상 호스트(VHOST)를 배치하고, 가상 머신(150)의 입출력(I/O) 성능정보가 상기 기준정보에 도달하도록, 상기 부스팅 그룹에 할당되는 상기 CPU 자원량을 산출한다.
여기에서, 가상 CPU는 가상화 환경에서 가상 머신(150)에게 할당되는 CPU 자원을 의미하며, 가상 호스트(VHOST)는 가상 머신(150)의 입출력(I/O) 요청을 처리해주는 호스트 운영체제의 프로세스이다.
나아가, 피드백 컨트롤러(120)는 가상 머신(150)의 입출력(I/O) 성능정보가 상기 기준정보에 도달하도록 하기 위해, 산출된 상기 CPU 자원량을 기초로 하여, 상기 부스팅 그룹에 우선적으로 할당되어야 하는 상기 CPU 자원량 정보를 생성하여, 상기 CPU 자원량 정보를 CPU 스케줄러(100)에 전송할 수 있다.
CPU 스케줄러(100)는 피드백 컨트롤러(120)로부터 전송된 상기 CPU 자원량 정보에 기초하여, 가상 머신(150)의 상기 부스팅 그룹에 할당될 상기 CPU 자원량에 대한 CPU 자원할당정보를 생성하며, CPU 자원할당모듈(Run queue, 110)은 CPU 스케줄러(100)로부터 전송된 상기 CPU 자원할당정보에 기초하여, 상기 부스팅 그룹에 CPU 자원을 할당한다.
여기서, CPU 스케줄러(100)는 nice 값을 사용하여, 우선순위 스케줄링을 하는 시분할 스케줄러인 CFS(Complete Fair Scheduler)일 수 있다. CFS는 vruntime을 키 값으로 갖는 레드-블랙 트리를 생성한 후, vruntime이 가장 작은 프로세스에게 CPU를 할당한다. vruntime은 가상의 실행시간으로, 기준 가중치인 1024에 nice 값에 대응되는 가중치가 나눠진 값과 CPU 실행시간을 곱함으로써 얻을 수 있다.
nice 값은 프로세스 스케줄링 우선순위의 지표로 사용되는 자료이며, -20에서 +19까지의 범위를 갖는다. nice값이 낮은 프로세스는 vruntime이 증가하는 속도가 느리기 때문에 높은 우선순위를 갖는다.
상기에서 검토한 바와 같이, 클라우드 환경에서 동적으로 자원할당을 조절하는 기존 연구들의 경우, 자원할당의 양만을 조절하는 바, 이는 할당 받는 자원의 양이 소량이더라도 우선적으로 스케줄링 되어야 할 프로세스를 구별하지 못하며, 하나의 가상 머신에서 하나의 특성만을 갖는 프로세스가 실행되는 환경에선 입출력(I/O) 성능이 보장되더라도, 하나의 가상 머신에서 다양한 특성을 갖는 프로세스들이 실행되는 환경에서 적용되기 어렵다.
하지만, 본 발명에 따른 CPU 네트워크의 통합 스케줄링 시스템은 가상 머신(150)의 입출력(I/O) 성능정보가 상기 기준정보 미만인 경우, 피드백 컨트롤러(120)는 가상 머신(150)의 상기 부스팅 그룹에 대한 CPU 자원량을 증가시킴으로써, 상기 부스팅 그룹이 다른 그룹에 비해 많은 양의 CPU 자원을 할당받게 되고, 이에 따라, 가상 머신(150)의 입출력(I/O) 요청을 처리하는 가상 CPU(VCPU)와 가상호스트(VHOST)가 우선적으로 스케줄링 되기 때문에, 가상 머신(150)의 입출력(I/O) 성능이 향상될 수 있다.
이하, 도 2를 참조하여, 본 발명에 따른 CPU 네트워크의 통합 스케줄링 시스템의 제어방법에 대해 보다 상세히 설명할 것이다.
본 발명의 일실시예에 따른 CPU 네트워크의 통합 스케줄링 시스템의 제어방법은, 데이터 수집기(130)가 가상 네트워크 인터페이스(140)로부터 가상 머신(150)의 입출력(I/O) 성능정보를 수집하는 제1 단계 및 피드백 컨트롤러(120)가 상기 가상 머신의 입출력(I/O) 성능정보와 기설정된 기준정보를 비교하여, 상기 가상 머신의 입출력(I/O) 성능정보가 상기 기준정보에 도달하도록, 상기 가상 머신에 할당되는 CPU 자원량을 제어하는 제2 단계를 포함한다.
먼저, 데이터 수집기(130)는 가상 네트워크 인터페이스(140)로부터 가상 머신(150)의 입출력(I/O) 성능정보를 수집한다(S100). 여기서, 상기 입출력(I/O) 성능정보는 네트워크 대역폭과 같은 입출력(I/O) 자원의 사용정보 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 수집된 입출력(I/O) 성능정보는 피드백 컨트롤러(120)로 전송될 수 있다.
그리고, 피드백 컨트롤러(120)는 가상 머신(150)의 입출력(I/O) 성능정보와 상기 기준정보를 비교하며(S110), 가상 머신(150)의 입출력(I/O) 성능정보가 상기 기준정보 미만인 경우 가상 머신(150)에 대한 부스팅 그룹을 생성하고(S120), 상기 부스팅 그룹에 상기 가상 머신(150)의 입출력(I/O) 요청을 처리하는 가상 CPU(VCPU)와 가상 호스트(VHOST)를 배치한다(S130).
나아가, 피드백 컨트롤러(120)는 가상 머신(150)의 입출력(I/O) 성능정보가 상기 기준정보에 도달하도록, 상기 부스팅 그룹에 할당되는 상기 CPU 자원량을 산출하며, 상기 산출된 CPU 자원량에 기초하여, 상기 부스팅 그룹에 대한 CPU 자원량정보를 생성한다(S140).
그리고, CPU 스케줄러(100)는 피드백 컨트롤러(120)로부터 전송된 상기 CPU 자원량 정보에 기초하여, 가상머신(150)의 상기 부스팅 그룹에 할당될 상기 CPU 자원량에 대한 CPU 자원할당정보를 생성하며, CPU 자원할당모듈(110)은 CPU 스케줄러(100)로부터 전송된 상기 CPU 자원할당정보에 기초하여, 상기 부스팅 그룹에 CPU 자원을 할당한다(S160).
상기 부스팅 그룹은 다른 그룹에 비해 많은 양의 CPU 자원을 할당받게 되고, 가상 머신(150)의 I/O 요청을 처리하는 가상 CPU(VCPU)와 가상 호스트(VHOST)가 우선적으로 스케줄링 되어, 가상 머신(150)의 입출력(I/O) 요청을 처리한다(S170). 그리고, 데이터 수집기(130)를 통해, 가상 머신(150)의 입출력(I/O) 성능정보를 수집하여, 기준정보에 도달했는지 여부를 판단하는 프로세스가 반복적으로 수행될 수 있다.
도 3a에 도시된 바와 같이, 가상 머신(150)의 기준출력값이 700(Mbps)이고, CPU 자원할당 변화량의 상한선을 128(Mbps)로 고정했을 때, 60초 이후에는 기준출력값 근처로 가상 머신(150)의 입출력(I/O)값이 수렴하며, 60초 이후의 평균 입출력(I/O)의 대역폭은 약 660 (Mbps)로 측정되는 바, 이는 성능간섭으로 인해 267(Mbps)까지 떨어졌던 가상 머신(150)의 입출력(I/O) 성능을 현저히 향상시켰음을 보여준다.
도 3b에 도시된 바와 같이, 가상 머신(150)의 기준출력값이 800(Mbps)이고, CPU 자원할당 변화량의 상한선을 312(Mbps)로 고정했을 때, 60초 이후에는 기준출력값 근처로 가상 머신(150)의 입출력(I/O)값이 수렴하며, 60초 이후의 평균 입출력(I/O)의 대역폭은 약 664 (Mbps)로 측정되는 바, 이는 성능간섭으로 인해 267(Mbps)까지 떨어졌던 가상 머신(150)의 입출력(I/O)성능을 현저히 향상시켰음을 보여준다.
이상 본 발명을 구체적인 실시예를 통하여 상세히 설명하였으나, 이는 본 발명을 구체적으로 설명하기 위한 것으로, 본 발명인 CPU 네트워크의 통합 스케줄링 시스템 및 그 제어방법은 이에 한정되지 않으며, 본 발명의 기술적 사상 내에서 당해 분야의 통상의 지식을 가진 자에 의해 그 변형이나 개량이 가능함은 명백하다고 할 것이다.
본 발명의 단순한 변형 내지 변경은 모두 본 발명의 영역에 속하는 것으로 본 발명의 구체적인 보호범위는 첨부된 특허청구범위에 의하여 명확해질 것이다.
10 : CPU 네트워크의 통합 스케줄링 시스템
100 : CPU 스케줄러
110 : CPU 자원할당모듈
120: 피드백 컨트롤러
130 : 데이터 수집기
140 : 가상 네트워트 인터페이스
150 : 가상 머신

Claims (7)

  1. 가상 네트워크 인터페이스로부터 가상 머신의 입출력(I/O) 성능정보를 수집하는 데이터 수집기; 및
    상기 가상 머신의 입출력(I/O) 성능정보와 기설정된 기준정보를 비교하여, 상기 가상 머신의 입출력(I/O) 성능정보가 상기 기준정보에 도달하도록, 상기 가상 머신에 할당되는 CPU 자원량을 제어하는 피드백 컨트롤러를 포함하고,
    상기 피드백 컨트롤러는
    상기 가상 머신의 입출력(I/O) 성능정보가 상기 기준정보 미만인 경우, 상기 가상 머신에 대한 부스팅 그룹을 생성하며, 상기 부스팅 그룹에 상기 가상 머신의 입출력(I/O) 요청을 처리하는 가상 CPU(VCPU)와 가상 호스트(VHOST)를 우선적으로 배치하고,
    상기 가상 머신의 입출력(I/O) 성능정보가 상기 기준정보에 도달하도록, 상기 부스팅 그룹에 할당되는 CPU 자원량 정보를 생성하는,
    CPU 네트워크의 통합 스케줄링 시스템.
  2. 삭제
  3. 제1항에 있어서,
    상기 피드백 컨트롤러로부터 전송된 상기 CPU 자원량 정보에 기초하여, 상기 가상 머신의 부스팅 그룹에 할당될 상기 CPU 자원량에 대한 CPU 자원할당정보를 생성하는 CPU 스케줄러; 및
    상기 CPU 스케줄러로부터 전송된 상기 CPU 자원할당정보에 기초하여, 상기 부스팅 그룹에 CPU 자원을 할당하는 CPU 자원할당모듈를 더 포함하는,
    CPU 네트워크의 통합 스케줄링 시스템.
  4. 제3항에 있어서,
    상기 피드백 컨트롤러는 PI(Proportional Integral Controller) 제어기인,
    CPU 네트워크의 통합 스케줄링 시스템.
  5. 데이터 수집기가 가상 네트워크 인터페이스로부터 가상 머신의 입출력(I/O) 성능정보를 수집하는 제1 단계; 및
    피드백 컨트롤러가 상기 가상 머신의 입출력(I/O) 성능정보와 기설정된 기준정보를 비교하여, 상기 가상 머신의 입출력(I/O) 성능정보가 상기 기준정보에 도달하도록, 상기 가상 머신에 할당되는 CPU 자원량을 제어하는 제2 단계를 포함하며,
    상기 제2 단계는,
    상기 가상 머신의 입출력(I/O) 성능정보와 상기 기준정보를 비교하는 단계;
    상기 가상 머신의 입출력(I/O) 성능정보가 상기 기준정보 미만인 경우, 상기 가상 머신에 대한 부스팅 그룹을 생성하는 단계;
    상기 부스팅 그룹에 상기 가상 머신의 입출력(I/O) 요청을 처리하는 가상 CPU(VCPU)와 가상 호스트(VHOST)를 우선적으로 배치하는 단계;
    상기 가상 머신의 입출력(I/O) 성능정보가 상기 기준정보에 도달하도록, 상기 부스팅 그룹에 할당되는 상기 CPU 자원량을 산출하는 단계; 및
    산출된 CPU 자원량에 기초하여, 상기 부스팅 그룹에 대한 CPU 자원량 정보를 생성하는 단계를 포함하는,
    CPU 네트워크의 통합 스케줄링 시스템의 제어방법.
  6. 삭제
  7. 제5항에 있어서,
    CPU 스케줄러가 상기 피드백 컨트롤러로부터 전송된 상기 CPU 자원량 정보에 기초하여, 상기 가상 머신의 부스팅 그룹에 할당될 상기 CPU 자원량에 대한 CPU 자원할당정보를 생성하는 단계; 및
    CPU 자원할당모듈이 상기 CPU 스케줄러로부터 전송된 상기 CPU 자원할당정보에 기초하여, 상기 부스팅 그룹에 CPU 자원을 할당하는 단계를 더 포함하는,
    CPU 네트워크의 통합 스케줄링 시스템의 제어방법.
KR1020160121329A 2016-09-22 2016-09-22 Cpu 네트워크 통합 스케줄링 시스템 및 그 제어방법 KR101816718B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160121329A KR101816718B1 (ko) 2016-09-22 2016-09-22 Cpu 네트워크 통합 스케줄링 시스템 및 그 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160121329A KR101816718B1 (ko) 2016-09-22 2016-09-22 Cpu 네트워크 통합 스케줄링 시스템 및 그 제어방법

Publications (1)

Publication Number Publication Date
KR101816718B1 true KR101816718B1 (ko) 2018-02-22

Family

ID=61386962

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160121329A KR101816718B1 (ko) 2016-09-22 2016-09-22 Cpu 네트워크 통합 스케줄링 시스템 및 그 제어방법

Country Status (1)

Country Link
KR (1) KR101816718B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200129397A (ko) * 2019-05-08 2020-11-18 고려대학교 산학협력단 가상화 환경에서의 성능 제어 방법 및 이를 위한 정보 처리 장치
WO2021020746A1 (ko) * 2019-07-31 2021-02-04 고려대학교 산학협력단 가상 머신 관리 장치 및 방법
KR20210015590A (ko) * 2019-07-31 2021-02-10 고려대학교 산학협력단 가상 머신 관리 장치 및 방법
KR20230102181A (ko) * 2021-12-30 2023-07-07 (주)페르세우스 하이퍼바이저 시스템의 운영체제 성능 간섭 방지 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010108409A (ja) 2008-10-31 2010-05-13 Hitachi Ltd ストレージ管理方法及び管理サーバ
WO2015146104A1 (ja) * 2014-03-27 2015-10-01 日本電気株式会社 仮想マシンシステムおよびその制御方法およびその制御プログラム記録媒体
JP2016512416A (ja) 2013-03-15 2016-04-25 アマゾン・テクノロジーズ・インコーポレーテッド ネットワークトラフィックマッピング及び性能分析

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010108409A (ja) 2008-10-31 2010-05-13 Hitachi Ltd ストレージ管理方法及び管理サーバ
JP2016512416A (ja) 2013-03-15 2016-04-25 アマゾン・テクノロジーズ・インコーポレーテッド ネットワークトラフィックマッピング及び性能分析
WO2015146104A1 (ja) * 2014-03-27 2015-10-01 日本電気株式会社 仮想マシンシステムおよびその制御方法およびその制御プログラム記録媒体

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Xing Pu 외 6명. 'Who Is Your Neighbor: Net I/O Performance Interference in Virtualized Clouds'. IEEE Transactions on Services Computing, Vol. 6, Issue 3, Jan. 2012, pp.314-329.
강동화 외 3명. 'KVM 기반 가상화 환경에서의 성능 간섭 현상 분석'. 한국정보과학회 2015 한국컴퓨터종합학술대회 논문집 , 2015.06, pp.1562-1564.
김현지 외 5명. 'KVM 기반 가상화 환경에서의 가상 머신과 리얼 머신의 입출력 패턴 분석 및 성능 측정'. 전자공학회논문지 제53권 제1호, 2016.1, pp.86-96.

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200129397A (ko) * 2019-05-08 2020-11-18 고려대학교 산학협력단 가상화 환경에서의 성능 제어 방법 및 이를 위한 정보 처리 장치
KR102203204B1 (ko) * 2019-05-08 2021-01-13 고려대학교 산학협력단 가상화 환경에서의 성능 제어 방법 및 이를 위한 정보 처리 장치
US11429420B2 (en) 2019-05-08 2022-08-30 Korea University Research And Business Foundation Method for controlling performance in virtualized environment and information processing device for the same
WO2021020746A1 (ko) * 2019-07-31 2021-02-04 고려대학교 산학협력단 가상 머신 관리 장치 및 방법
KR20210015590A (ko) * 2019-07-31 2021-02-10 고려대학교 산학협력단 가상 머신 관리 장치 및 방법
KR102299040B1 (ko) * 2019-07-31 2021-09-08 고려대학교 산학협력단 가상 머신 관리 장치 및 방법
KR20230102181A (ko) * 2021-12-30 2023-07-07 (주)페르세우스 하이퍼바이저 시스템의 운영체제 성능 간섭 방지 장치
KR102622448B1 (ko) 2021-12-30 2024-01-09 (주)페르세우스 하이퍼바이저 시스템의 운영체제 성능 간섭 방지 장치

Similar Documents

Publication Publication Date Title
US10789106B2 (en) Server consolidation using virtual machine resource tradeoffs
KR101816718B1 (ko) Cpu 네트워크 통합 스케줄링 시스템 및 그 제어방법
US9378032B2 (en) Information processing method, information processing apparatus, recording medium, and system
US8997107B2 (en) Elastic scaling for cloud-hosted batch applications
Netto et al. Evaluating auto-scaling strategies for cloud computing environments
CN107003887B (zh) Cpu超载设置和云计算工作负荷调度机构
JP5871233B2 (ja) 計算機及び帯域制御方法
US8990807B2 (en) Virtual instance reconfiguration
US9178763B2 (en) Weight-based collocation management
US10129101B2 (en) Application driven and adaptive unified resource management for data centers with Multi-Resource Schedulable Unit (MRSU)
EP3210112B1 (en) Coordinated scheduling between real-time processes
JPWO2008132924A1 (ja) 仮想計算機システムおよびその最適化方法
RU2687711C1 (ru) Способ аппаратного ускорения и связанное устройство
JP5458998B2 (ja) 仮想マシンシステムおよび仮想マシン管理方法
US10630600B2 (en) Adaptive network input-output control in virtual environments
Kherbache et al. Scheduling live migration of virtual machines
US20190171489A1 (en) Method of managing dedicated processing resources, server system and computer program product
Seth et al. Dynamic threshold-based dynamic resource allocation using multiple VM migration for cloud computing systems
Sfakianakis et al. Skynet: Performance-driven resource management for dynamic workloads
KR102640232B1 (ko) 가상화 환경에서의 자원 할당 방법 및 장치
KR101924467B1 (ko) 가상 머신의 cpu 및 블록 i/o 작업에 성능 보장을 위한 자원 할당 시스템 및 방법
US11886901B2 (en) VM performance guaranteeing system and VM performance guaranteeing method
US20140245300A1 (en) Dynamically Balanced Credit for Virtual Functions in Single Root Input/Output Virtualization
Hong et al. ANCS: Achieving QoS through dynamic allocation of network resources in virtualized clouds
Kesavan et al. Active coordination (act)-toward effectively managing virtualized multicore clouds

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant