KR20120129860A - 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법 및 그 장치 - Google Patents

클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법 및 그 장치 Download PDF

Info

Publication number
KR20120129860A
KR20120129860A KR1020120128158A KR20120128158A KR20120129860A KR 20120129860 A KR20120129860 A KR 20120129860A KR 1020120128158 A KR1020120128158 A KR 1020120128158A KR 20120128158 A KR20120128158 A KR 20120128158A KR 20120129860 A KR20120129860 A KR 20120129860A
Authority
KR
South Korea
Prior art keywords
computer
cores
resource allocation
parent
odd
Prior art date
Application number
KR1020120128158A
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 KR1020120128158A priority Critical patent/KR20120129860A/ko
Publication of KR20120129860A publication Critical patent/KR20120129860A/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/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • 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
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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

클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법 및 그 장치{Resource assignment method of virtual computer in cloud computing environment and apparatus thereof}
본 발명은 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법 및 그 장치에 관한 것이다.
클라우드 컴퓨팅(Cloud Computing)은 인터넷 기반의 컴퓨팅 기술을 의미하는 것으로서, 서로 다른 물리적인 위치에 존재하는 컴퓨터들의 자원(resource)을 가상화 기술로 통합해 제공하는 기술이다.
즉 클라우드 컴퓨팅은 개인용 컴퓨터나 기업의 서버에 개별적으로 저장해 두었던 프로그램이나 문서를 인터넷으로 접속할 수 있는 대형 컴퓨터에 저장하고, 개인용 컴퓨터, 모바일 등의 다양한 통신 단말기로 웹 브라우저와 같은 애플리케이션을 구동하여 원하는 작업을 수행할 수 있는 이용자 중심의 컴퓨터 환경이다. 사용자들은 전문적인 지식이나 제어 방식을 모르더라도 클라우드 컴퓨팅을 이용하여 인터넷을 통해 언제 어디서나 자신이 원하는 컴퓨팅 자원을 제공받을 수 있다. 컴퓨팅 자원은 통상적으로 대량의 데이터 센터와 같이 별도의 자원 제공자에 의해 관리되며, 그 대상은 CPU 능력, 메모리, 스토리지와 같은 하드웨어 자원이거나 개발 플랫폼, 응용 프로그램 등이 될 수 있다.
최근 들어 클라우드 컴퓨팅 기술을 이용한 서비스의 시도가 이루어지고 있으나 아직까지는 클라우드 컴퓨팅 개념이 정립되지 않은 초기 단계라고 할 수 있어 사용자들의 수요를 충족시키지 못하고 제한적으로 클라우드 컴퓨팅 서비스를 제공하고 있는 실정이다.
본 발명의 목적은 전술한 문제점을 해결할 수 있도록, 외부로부터 서비스 요청을 받은 제어 컴퓨터(Control PC)에서 모 컴퓨터(Mother PC)가 보유한 자원을 최대한 활용할 수 있도록 하는 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법 및 그 장치를 제공하는 데 있다.
본 발명의 다른 목적은, 제어 컴퓨터에서 모 컴퓨터를 짝수(even)용과 홀수(odd)용으로 나누고, 짝수 코어 또는 홀수 코어의 외부 서비스 요청에 따라 해당 영역으로 나누어진 모 컴퓨터 중 자원할당이 가능한 모 컴퓨터를 확인하고, 확인된 모 컴퓨터 중 가장 많은 코어를 사용하는 모 컴퓨터에 자원할당을 수행하도록 하는 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법 및 그 장치를 제공하는 데 있다.
본 발명의 또 다른 목적은, 외부로부터 서비스 요청을 받은 제어 컴퓨터에서 서비스 요청된 코어의 수와 기존에 모 컴퓨터에서 사용되고 있는 코어의 수를 합산하고, 합산된 코어의 수가 짝수(또는 홀수)가 되는 모 컴퓨터 중 자원할당이 가능한 모 컴퓨터를 확인하고, 확인된 모 컴퓨터 중 가장 많은 코어를 사용하는 모 컴퓨터에 자원할당을 수행하도록 하는 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법 및 그 장치를 제공하는 데 있다.
이러한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법은, (1) 외부의 서비스 요청에 따라 모 컴퓨터의 자원을 가상의 자 컴퓨터로 할당하는 제어 컴퓨터는, 자원할당에 사용할 각각의 모 컴퓨터를 짝수용과 홀수용으로 나누어 설정하는 단계와, (2) 제어 컴퓨터는, 외부로부터 입력되는 서비스 요청이 짝수 코어의 요청인지 홀수 코어의 요청인지를 판단하는 단계와, (3) (2) 단계의 판단결과 외부로부터 입력되는 서비스 요청이 짝수 코어의 요청이면, 제어 컴퓨터는 서비스 요청된 코어의 수와 (1) 단계에서 설정된 짝수용 모 컴퓨터에서 사용중인 코어의 수를 합산하는 단계와, (4) (2) 단계의 판단결과 외부로부터 입력되는 서비스 요청이 홀수 코어의 요청이면, 제어 컴퓨터는 서비스 요청된 코어의 수와 (1) 단계에서 설정된 홀수용 모 컴퓨터에서 사용중인 코어의 수를 합산하는 단계와, (5) 제어 컴퓨터는, (3) 단계 또는 (4) 단계에서 합산된 코어의 수와 짝수용 또는 홀수용으로 설정된 각각의 모 컴퓨터가 가지고 있는 코어의 수의 비교를 토대로 자원할당이 가능한 모 컴퓨터를 확인하는 단계, 그리고 (6) 제어 컴퓨터는, (5) 단계에서 확인된 자원할당이 가능한 모 컴퓨터 중 어느 하나의 모 컴퓨터에 (2) 단계를 통해 입력된 서비스 요청에 따른 자원할당을 수행하는 단계를 포함할 수 있다.
그리고 본 발명의 다른 실시예에 따른 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법은, (a) 모 컴퓨터의 자원을 가상의 자 컴퓨터로 할당하는 제어 컴퓨터는, 외부로부터 서비스 요청이 이루어지는지를 확인하는 단계와, (b) (a) 단계를 통해 외부로부터 서비스 요청이 이루어지면, 제어 컴퓨터는 서비스 요청된 코어의 수와 각각의 모 컴퓨터에서 사용중인 코어의 수를 합산하는 단계와, (c) 제어 컴퓨터는, (b) 단계에서 합산된 코어의 수와 각각의 모 컴퓨터가 가지고 있는 코어의 수의 비교를 토대로 자원할당이 가능한 모 컴퓨터를 확인하는 단계와, (d) 제어 컴퓨터는, (c) 단계에서 확인된 자원할당이 가능한 모 컴퓨터 중 (b) 단계에서 합산된 코어의 수가 짝수(또는 홀수)인 모 컴퓨터를 확인하는 단계, 그리고 (e) 제어 컴퓨터는, (d) 단계에서 확인된 모 컴퓨터 중 어느 하나의 모 컴퓨터에 우선적으로 (a) 단계를 통해 입력된 서비스 요청에 따른 자원할당을 수행하는 단계를 포함할 수 있다.
또한, 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당장치는, 외부의 짝수 코어에 대한 서비스 요청에 따라 자원을 할당하여 가상의 자 컴퓨터를 생성하는 짝수용 모 컴퓨터와, 외부의 홀수 코어에 대한 서비스 요청에 따라 자원을 할당하여 가상의 자 컴퓨터를 생성하는 홀수용 모 컴퓨터, 그리고 자원할당에 사용할 각각의 모 컴퓨터를 짝수용과 홀수용으로 나누어 설정하고, 외부로부터 입력되는 서비스 요청이 짝수 코어의 요청이면 서비스 요청된 코어의 수와 짝수용으로 설정된 각각의 모 컴퓨터에서 사용중인 코어의 수를 합산하고, 합산한 수가 짝수용으로 설정된 모 컴퓨터가 가지고 있는 코어의 수 이하인 모 컴퓨터를 자원할당이 가능한 후보군으로 등록하고, 자원할당이 가능한 후보군으로 등록된 모 컴퓨터 중 어느 하나의 모 컴퓨터에 짝수 코어의 서비스 요청에 따른 자원할당을 수행하고, 외부로부터 입력되는 서비스 요청이 홀수 코어의 요청이면 서비스 요청된 코어의 수와 홀수용으로 설정된 각각의 모 컴퓨터에서 사용중인 코어의 수를 합산하고, 합산한 수가 홀수용으로 설정된 모 컴퓨터가 가지고 있는 코어의 수 이하인 모 컴퓨터를 자원할당이 가능한 후보군으로 등록하며, 자원할당이 가능한 후보군으로 등록된 모 컴퓨터 중 어느 하나의 모 컴퓨터에 홀수 코어의 서비스 요청에 따른 자원할당을 수행하는 제어 컴퓨터를 포함할 수 있다.
그리고 본 발명의 다른 실시예에 따른 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당장치는, 외부의 서비스 요청된 코어와 현재 사용중인 코어를 합산한 코어의 수가 각각의 모 컴퓨터가 가지고 있는 코어의 수 이하이며, 서비스 요청된 코어와 사용중인 코어를 합산한 코어의 수가 짝수(또는 홀수)인 것에 우선적으로 자원을 할당하여 가상의 자 컴퓨터를 생성하는 모 컴퓨터, 그리고 외부로부터 서비스 요청이 이루어지면 서비스 요청된 코어의 수와 각각의 모 컴퓨터에서 사용중인 코어의 수를 합산하고, 합산된 코어의 수와 각각의 모 컴퓨터가 가지고 있는 코어의 수의 비교를 토대로 합산된 코어의 수가 모 컴퓨터가 가지고 있는 코어의 수 이하인 모 컴퓨터를 자원할당이 가능한 후보군으로 등록하고, 자원할당이 가능한 후보군으로 등록된 모 컴퓨터 중 서비스 요청된 코어와 모 컴퓨터에서 사용중인 코어를 합산한 코어의 수가 짝수(또는 홀수)인 모 컴퓨터를 확인하며, 서비스 요청된 코어와 모 컴퓨터에서 사용중인 코어를 합산한 코어의 수가 짝수(또는 홀수)인 모 컴퓨터 중 어느 하나의 모 컴퓨터에 우선적으로 외부의 서비스 요청에 따른 자원할당을 수행하는 제어 컴퓨터를 포함할 수 있다.
이상에서와 같이 본 발명의 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법 및 그 장치에 따르면, 제어 컴퓨터에서 외부로부터의 서비스 요청에 따라 가상 컴퓨터 생성을 수행할 경우 어떤 모 컴퓨터의 자원을 활용할지 적절하게 선택할 수 있기 때문에 보유하고 있는 모 컴퓨터의 자원을 최대한 활용하여 자원할당을 수행할 수 있으며, 이에 따라 많은 사용자들이 서비스를 원활하게 이용할 수 있는 효과가 있다.
도 1과 도 2는 일반적인 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당에 대한 기본적 개념을 설명하기 위한 도면,
도 3은 다이내믹 방법을 사용하여 외부의 서비스 요청에 의한 가상 컴퓨터 자원할당을 설명하기 위한 도면,
도 4는 본 발명의 제 1 실시예에 따른 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당장치의 개념을 설명하기 위한 도면,
도 5와 도 6은 본 발명의 제 1 실시예에 따른 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법의 동작과정을 상세하게 나타낸 순서도,
도 7은 본 발명의 제 2 실시예에 따른 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당장치의 개념을 설명하기 위한 도면,
도 8 내지 도 10은 본 발명의 제 2 실시예에 따른 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법의 동작과정을 상세하게 나타낸 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명의 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법 및 그 장치를 상세하게 설명한다.
본 발명의 각 실시예에 대한 설명을 수행하기 이전에 본 발명이 개발된 배경과 관련된 내용을 우선적으로 기술한다.
도 1과 도 2는 일반적인 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당에 대한 기본적 개념을 설명하기 위한 도면이다.
도 1은 하나의 자원이 많은 모 컴퓨터(Mother PC, 이하 MPC라 함)로부터 자원을 분배받아 가상의 자 컴퓨터(Virtual Child PC, 이하 VCPC라 함)가 생성되는 것을 설명하기 위한 도면이다.
예를 들어 32 코어(core)의 CPU와 128G의 메모리를 가지고 있는 성능이 우수하고 자원이 풍부한 PC를 MPC라 할 때, MPC로부터 4 코어와 6G 메모리를 할당받아 가상 컴퓨터를 생성시킨 것이 VCPC에 해당한다. 여기서 C1은 MPC의 인덱스(index)이고, Ncc1은 MPC C1이 가진 CPU 코어의 수이고, Nmc1은 MPC C1이 가진 메모리의 용량이다. 그리고 Cc1v1은 MPC C1로부터 생성된 VCPC의 인덱스이고, Ncc1v1은 VCPC Cc1v1이 할당받은 CPU 코어의 수이고, Nmc1v1은 VCPC Cc1v1이 할당받은 메모리 용량이다. 이에 따라 다음의 (1)과 (2)의 식이 성립된다.
(1) Ncc1 = Ncc1v1 + Ncc1v2 + … + Ncc1vn
(2) Nmc1 = Nmc1v1 + Nmc1v2 + … + Nmc1vn
상술한 (1), (2)의 식은, VCPC가 MPC로부터 할당받은 자원의 총합은 MPC의 전체를 넘기지 못한다는 것을 보여주고 있다. 본 발명은 이것을 토대로 가상 컴퓨터의 자원할당을 수행하기 위한 것이다.
도 2는 복수의 MPC로부터 자원을 분배받아 VCPC가 생성되는 것을 설명하기 위한 도면으로서, 도 1의 경우와 유사하다.
Nccsum은 하나의 전체 시스템(복수의 MPC)이 가지는 총 CPU의 코어 수이며, 다음의 식 (3)이 성립된다.
(3) Nccsum = Ncc1 + Ncc2 + … + Nccn
VCPC는 해당 MPC에서만 자원을 할당받아서 생성될 수 있으며, 다른 MPC의 자원을 사용할 수는 없다. 단지 이 경우에 상술한 도 1과의 차이점이라면, 복수의 MPC의 경우에는 가상 컴퓨터의 생성을 요청받았을 때, 어떤 MPC의 자원을 활용할지에 대한 선택을 할 수 있는 제어 컴퓨터(Control PC)가 필요하다는 점이다. 본 발명은 이와 같이 제어 컴퓨터에서 어떻게 MPC을 선택할 것인지를 해결하기 위한 것이다.
도 1과 도 2의 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당을 위해서는 여러 가지 방법이 존재하는데, 일반적으로 도 3에서와 같은 다이내믹(dynamic) 방법을 많이 사용한다.
도 3은 다이내믹 방법을 사용하여 외부의 서비스 요청(service request)에 의한 가상 컴퓨터 자원할당을 설명하기 위한 도면으로서, 서비스 요청을 받은 제어 컴퓨터가 자원의 사용 정도를 확인하여 많이 사용하지 않는 MPC를 선택하여 VCPC을 생성하도록 한다.
이러한 다이내믹 방법은 완벽하게 CPU가 분리되지 않는 가상화의 환경에서 성능(Performance) 측면에서 안정성을 확보함과 동시에 많은 사용자 수용 측면에서 장점을 가져올 수 있지만, 가상 컴퓨터를 어떤 용도로 사용할 것인지에 대해서 고려하지 않았다는 점이 문제가 된다.
가상 컴퓨터로 서비스를 한다는 것은 가상 컴퓨터의 생성과 파괴의 요청이 빠른 기간에 일어나지 않는다는 특징과, 생성된 가상 컴퓨터는 독립적인 하나의 컴퓨터로 구성되며 항상 Always On 상태(서버와 같은 서비스를 항상 제공할 수 있는 상태)로 간주되어야 한다는 환경적 특징을 지니고 있다.
여기서 발생하는 문제점은 하나의 MPC 자원을 최대한 사용하지 못한다는 것에 있다. 예를 들어 총 8 CPU 코어의 MPC 2대가 있고, MPC1은 5 코어를 사용하며, MPC2는 3 코어를 사용한다고 가정할 때, 새로운 서비스 요청으로 5 코어의 요청이 들어온다면 남아 있는 자원이 없기 때문에 해당 서비스 요청은 거절당한다. 분명히 전체적으로 남아 있는 코어의 수는 8 코어로서 충분히 수용이 가능하다. 만약 현재 환경이 주기가 빠른 환경, 즉 기존의 컴퓨터가 단기간에 사용되고 새로운 것들이 즉각적으로 요청이 들어오는 환경이라면, 다이내믹 방법이 유용하지만 가상 컴퓨터의 환경은 다른 면이 존재하므로 이를 고려해야 한다.
도 3에서 Ncr은 새롭게 요청되는 서비스의 CPU 코어의 수이고, Nmr은 메모리 용량으로서, 다음의 식 (4)와 (5)는 다이내믹 방법에서 서비스의 요청이 거절되는 조건을 나타낸다.
(4) Ncc1〈 Ncc1 _ used + Ncr
(5) Nmc1〈 Nmc1 _ used + Nmr
Ncc1 _ used는 MPC C1이 당시 시점까지 사용하고 있는 총 코어의 수이며, Nmc1 _ used는 MPC C1이 당시 시점까지 사용하고 있는 총 메모리의 수이다. 본 발명은 이와 같이 MPC들의 총 코어의 합이 서비스 요청된 코어를 충분히 수용 가능함에도 불구하고 서비스의 요청이 거절되는 경우를 해결할 수 있도록 하는 것이다.
제 1 실시예
본 발명의 제 1 실시예는 영역 선택 할당 방법론(Area Selection Assignment methodology)에 대한 것이다.
도 4는 본 발명의 제 1 실시예에 따른 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당장치의 개념을 설명하기 위한 도면으로서, 외부의 서비스 요청이 짝수의 경우와 홀수의 경우가 하나의 시스템에 동시에 존재하기 때문에 통상적으로 MPC는 여분의 코어가 남게 되며, 이를 토대로 본 발명의 제 1 실시예는 MPC를 짝수용과 홀수용으로 나눈다.
예를 들어, 하나의 MPC의 전체 코어의 수가 짝수인 경우, 짝수와 홀수의 결합은 홀수가 되기 때문에 여분의 코어가 존재하게 된다. 그러므로 각 MPC를 짝수와 홀수의 영역으로 나누고, 홀수와 홀수의 결합은 짝수의 조합이 되도록 하여(마찬가지로 짝수와 짝수의 결합은 짝수임) MPC의 코어가 전부 사용되도록 한다.
사용자가 서비스 요청을 수행하면, 제어 컴퓨터는 서비스 요청이 짝수 코어의 요청인지 홀수 코어의 요청인지를 확인하고, 확인된 서비스 요청에 따라 해당 영역에 정해진 MPC 중 자원할당이 가능한 MPC를 선택하고, 선택된 MPC 중 가장 많은 코어를 사용하는 MPC에 자원할당을 수행한다.
즉 이 방식에서 가장 먼저 해야 하는 것은 MPC의 영역을 정하는 것이고, 그 다음에 영역이 있는 MPC 중에서 가장 많은 코어를 사용하는 MPC를 선택하여 서비스를 제공하는 것이다.
이처럼 본 발명의 제 1 실시예에 따른 자원할당장치는, 제어 컴퓨터(10), 짝수용 MPC(20), 홀수용 MPC(30)로 구성된다.
제어 컴퓨터(10)는 자원할당 서비스에 사용할 각각의 MPC를 짝수용 MPC(20)와 홀수용 MPC(30)로 나누어 설정하고, 외부로부터 입력되는 서비스 요청이 짝수 코어의 요청이면 서비스 요청된 코어의 수와 짝수용으로 설정된 각각의 MPC에서 사용중인 코어의 수를 합산하고, 합산한 수가 짝수용으로 설정된 MPC가 가지고 있는 코어의 수 이하인 MPC를 자원할당이 가능한 후보군으로 등록하고, 자원할당이 가능한 후보군으로 등록된 MPC 중 어느 하나의 MPC에 짝수 코어의 서비스 요청에 따른 자원할당을 수행한다.
그리고 제어 컴퓨터(10)는 외부로부터 입력되는 서비스 요청이 홀수 코어의 요청이면 서비스 요청된 코어의 수와 홀수용으로 설정된 각각의 MPC에서 사용중인 코어의 수를 합산하고, 합산한 수가 홀수용으로 설정된 MPC가 가지고 있는 코어의 수 이하인 MPC를 자원할당이 가능한 후보군으로 등록하며, 자원할당이 가능한 후보군으로 등록된 MPC 중 어느 하나의 MPC에 홀수 코어의 서비스 요청에 따른 자원할당을 수행한다.
이때 제어 컴퓨터(10)는 외부의 짝수 코어 또는 홀수 코어의 서비스 요청에 따라 특정 MPC에 자원할당을 수행할 때, 자원할당이 가능한 MPC가 하나이면 해당 MPC에 자원할당을 수행하며, 자원할당이 가능한 MPC가 복수 개이면 자원할당이 가능한 MPC 중 가장 많은 코어를 사용하고 있는 MPC를 선택하여 자원할당을 수행하는 것이 바람직하다.
짝수용 MPC(20)는 자원할당 서비스에 이용되는 MPC 중에서 짝수용으로 할당된 MPC(C1,C2,…,Ck)로서, 외부의 짝수 코어에 대한 서비스 요청을 받은 제어 컴퓨터(10)의 제어를 토대로 자원을 할당하여 VCPC를 생성한다.
홀수용 MPC(30)는 자원할당 서비스에 이용되는 MPC 중에서 홀수용으로 할당된 MPC(Ck +1,Ck +2,…,Cn)로서, 외부의 홀수 코어에 대한 서비스 요청을 받은 제어 컴퓨터(10)의 제어를 토대로 자원을 할당하여 VCPC를 생성한다.
다음에는, 이와 같이 구성된 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법을 도 5와 도 6을 참조하여 상세하게 설명한다.
도 5와 도 6은 본 발명의 제 1 실시예에 따른 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법의 동작과정을 상세하게 나타낸 순서도이다.
우선, MPC의 자원을 VCPC로 할당하는 제어 컴퓨터(10)는 자원할당에 사용할 각각의 MPC를 짝수용 MPC(20)와 홀수용 MPC(30)로 나누어 설정하고 서비스를 시작한다(S10).
제어 컴퓨터(10)는 외부(즉 사용자 단말기)로부터 서비스 요청이 입력되는지를 판단하고(S20), 외부로부터 서비스 요청이 입력되면 외부로부터 입력된 서비스 요청이 짝수 코어의 요청인지 홀수 코어의 요청인지를 판단(즉 서비스 요청된 코어의 수가 짝수인지 홀수인지를 판단)한다(S30).
S30 단계의 판단결과 외부로부터 입력되는 서비스 요청이 짝수 코어의 요청이면, 제어 컴퓨터(10)는 서비스 요청된 코어의 수와 S10 단계에서 설정된 각각의 짝수용 MPC(20)에서 사용중인 코어의 수를 합산한다(S40).
또한, 제어 컴퓨터(10)는 S30 단계의 판단결과 외부로부터 입력되는 서비스 요청이 홀수 코어의 요청이면, 서비스 요청된 코어의 수와 S10 단계에서 설정된 각각의 홀수용 MPC(30)에서 사용중인 코어의 수를 합산한다(S50).
이후 제어 컴퓨터(10)는 S40 단계 또는 S50 단계에서 합산된 코어의 수를 짝수용 또는 홀수용으로 설정된 각각의 MPC가 가지고 있는 코어의 수와 비교하여, 자원할당이 가능한 MPC인지의 여부를 확인한다(S60). 즉 외부로부터 입력받은 서비스 요청이 짝수 코어인 경우에는 S40 단계를 통해 서비스 요청된 코어의 수를 S10 단계에서 설정된 각 짝수용 MPC(20)가 가지고 있는 코어의 수와 비교하여 자원할당이 가능한지를 확인하며, 외부로부터 입력받은 서비스 요청이 홀수 코어인 경우에는 S50 단계를 통해 서비스 요청된 코어의 수를 S10 단계에서 설정된 각 홀수용 MPC(30)가 가지고 있는 코어의 수와 비교하여 자원할당이 가능한지를 확인하는 것이다.
이를 도 7을 참조하여 상세하게 설명하면, 제어 컴퓨터(10)는 첫 번째 확인대상의 짝수용 MPC(20) 또는 홀수용 MPC(30)가 가지고 있는 코어의 수를 확인하고(S61), S40 단계 또는 S50 단계에서 합산된 코어의 수가 짝수용 MPC(20) 또는 홀수용 MPC(30)가 가지고 있는 코어의 수 이하인지를 판단한다(S62).
S62 단계의 판단결과 S40 단계 또는 S50 단계에서 합산된 코어의 수가 짝수용 MPC(20) 또는 홀수용 MPC(30)가 가지고 있는 코어의 수 이하이면, 제어 컴퓨터(10)는 해당 MPC를 자원할당이 가능한 MPC로 확인하여 자원할당 후보군으로 등록한다(S63).
그리고 제어 컴퓨터(10)는 자원할당이 가능한지의 여부를 확인할 MPC가 더 존재하는지를 판단한다(S64).
S64 단계의 판단결과 자원할당이 가능한지의 여부를 확인할 MPC가 더 존재하면, S67 단계의 다음 순서의 짝수용 MPC(20) 또는 홀수용 MPC(30)가 가진 코어의 수를 확인한 후 S62 단계 이후를 반복 수행하며, 자원할당이 가능한지의 여부를 확인할 MPC가 더 이상 존재하지 않으면 다음 단계인 S70 단계를 진행한다.
한편, S62 단계의 판단결과 S40 단계 또는 S50 단계에서 합산된 코어의 수가 짝수용 MPC(20) 또는 홀수용 MPC(30)가 가지고 있는 코어의 수를 초과하면, 제어 컴퓨터(10)는 자원할당이 가능한지의 여부를 확인할 MPC가 더 존재하는지를 판단한다(S65).
S65 단계의 판단 결과 자원할당이 가능한지의 여부를 확인할 MPC가 더 이상 존재하지 않으면, 제어 컴퓨터(10)는 현재의 서비스 요청을 거부하고 서비스를 종료하고(S66), 자원할당이 가능한지의 여부를 확인할 MPC가 더 존재하면, 다음 순서의 짝수용 MPC(20) 또는 홀수용 MPC(30)가 가진 코어의 수를 확인하고(S67), S62 단계 이후를 반복 수행한다.
이제 S60 단계를 통해 자원할당이 가능한 MPC인지의 여부를 확인한 이후, 제어 컴퓨터(10)는 S60 단계에서 확인된 자원할당이 가능한 짝수용 MPC(20) 또는 홀수용 MPC(30) 중 어느 하나의 짝수용 MPC(20) 또는 홀수용 MPC(30)에 S20 단계를 통해 입력된 서비스 요청에 따른 자원할당을 수행한다(S70).
이때 제어 컴퓨터(10)는 S60 단계에서 확인된 자원할당이 가능한 짝수용 MPC(20) 또는 홀수용 MPC(30)가 하나이면 해당 MPC에 자원할당을 수행하며, S60 단계에서 확인된 자원할당이 가능한 짝수용 MPC(20) 또는 홀수용 MPC(30)가 복수 개이면 자원할당이 가능한 MPC 중 가장 많은 코어를 사용하고 있는 MPC를 선택하여 자원할당을 수행한다.
제 2 실시예
본 발명의 제 2 실시예는 짝수/홀수 우선 할당 방법론(Even/Odd Priority Assignment methodology)에 대한 것이다.
도 7은 본 발명의 제 2 실시예에 따른 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당장치의 개념을 설명하기 위한 도면으로서, 전술한 본 발명의 제 1 실시예에서 발생할 수 있는 단점을 보완하기 위한 것이다. 즉 MPC의 수량이 적은 경우에 고려해 볼 수 있는 방식으로, 예를 들어 짝수 영역의 MPC 자원을 모두 사용한 상태이고 홀수 영역의 MPC 자원에 여유가 있을 경우, 짝수의 서비스 요청이 발생되면 요청된 서비스를 거절해야 한다. 이 경우에는 서비스를 홀수 영역을 통해 제공하는 것이 더 합리적이 되는데, 본 발명의 제 2 실시예는 이러한 경우를 고려한 방식이다.
본 발명의 제 2 실시예는 전술한 본 발명의 제 1 실시예에서 사용하는 짝수/홀수라는 영역의 개념을 없애고, 모든 MPC의 사용 코어의 수를 짝수 또는 홀수로 맞추는 방식이다.
외부로부터 새로운 서비스가 요청되면, 제어 컴퓨터는 서비스 요청된 코어의 수(Ncr)와 MPC에서 사용되고 있는 코어의 수(Nccjused, j=1,2,…,n)를 합산한다. 예를 들어 Nccnused는 n번째 MPC에서 사용되고 있는 코어의 수이다. 이후, 합산된 코어의 수가 짝수가 되는 MPC들을 찾아내고, 찾아낸 MPC 중 자원할당이 가능한 MPC를 선택하며, 선택된 MPC 중 가장 많은 코어를 사용하는 MPC에 자원할당을 수행한다. 이와는 반대의 경우가 홀수이다.
즉 이 방식에서 가장 중요한 것은 제어 컴퓨터가 MPC를 선택하는 기준으로서, 하기의 식 (6)과 (7)의 식은 각각 짝수와 홀수의 경우에서의 조건을 보여준다.
(6) if {mod(Nccjused + Ncr, 2) = 0}, j=1,2,…,n 짝수 우선
(7) if {mod(Nccjused + Ncr, 2) = 1}, j=1,2,…,n 홀수 우선
이때 짝수와 홀수를 나누는 것은 MPC의 전체 코어의 수가 짝수 또는 홀수가 될 수 있기 때문이다.
이처럼 본 발명의 제 2 실시예에 따른 자원할당장치는, 제어 컴퓨터(100)와 MPC(200)를 포함한다.
제어 컴퓨터(100)는 외부로부터 서비스 요청이 이루어지면 서비스 요청된 코어의 수와 각각의 MPC(200)에서 사용중인 코어의 수를 합산하고, 합산된 코어의 수와 각각의 MPC(200)가 가지고 있는 코어의 수의 비교를 토대로 합산된 코어의 수가 MPC(200)가 가지고 있는 코어의 수 이하인 MPC(200)를 자원할당이 가능한 후보군으로 등록하고, 자원할당이 가능한 후보군으로 등록된 MPC(200) 중 서비스 요청된 코어와 MPC(200)에서 사용중인 코어를 합산한 코어의 수가 짝수(또는 홀수)인 MPC(200)를 확인하며, 서비스 요청된 코어와 MPC(200)에서 사용중인 코어를 합산한 코어의 수가 짝수(또는 홀수)인 MPC(200) 중 어느 하나의 MPC에 우선적으로 외부의 서비스 요청에 따른 자원할당을 수행한다.
이때 제어 컴퓨터(100)는 서비스 요청된 코어와 MPC(200)에서 사용중인 코어를 합산한 코어의 수가 짝수(또는 홀수)인 MPC를 확인할 때, 서비스 요청된 코어와 MPC에서 사용중인 코어를 합산한 코어의 수가 짝수(또는 홀수)인 MPC가 존재하면, 해당 MPC를 자원할당이 가능한 후보군으로 등록한다. 그리고 서비스 요청된 코어와 MPC에서 사용중인 코어를 합산한 코어의 수가 짝수(또는 홀수)인 MPC가 존재하지 않으면, 서비스 요청된 코어와 MPC에서 사용중인 코어를 합산한 코어의 수가 홀수(또는 짝수)인 MPC가 존재하는지를 판단한다. 그리고 서비스 요청된 코어와 MPC에서 사용중인 코어를 합산한 코어의 수가 홀수(또는 짝수)인 MPC가 존재하면, 서비스 요청된 코어와 MPC에서 사용중인 코어를 합산한 코어의 수가 홀수(또는 짝수)인 해당 MPC를 자원할당이 가능한 후보군으로 등록하며, 서비스 요청된 코어와 MPC에서 사용중인 코어를 합산한 코어의 수가 홀수(또는 짝수)인 MPC가 존재하지 않으면, 현재의 서비스 요청을 거부하고 서비스를 종료한다. 이에 따라 짝수(또는 홀수) 영역의 MPC 자원을 모두 사용한 상태이고 홀수(또는 짝수) 영역의 MPC 자원에 여유가 있을 경우, 짝수(또는 홀수)의 서비스 요청이 발생되면 요청된 서비스를 거절해야 하는 전술한 제 1실시예의 단점을 해소할 수 있다.
또한, 제어 컴퓨터(100)는 서비스 요청된 코어와 각각의 MPC(200)에서 사용중인 코어를 합산한 코어의 수가 짝수(또는 홀수)인 특정 MPC에 우선적으로 자원할당을 수행할 때, 자원할당이 가능한 MPC 중 서비스 요청된 코어와 MPC에서 사용중인 코어를 합산한 코어의 수가 짝수(또는 홀수)인 MPC가 하나이면 해당 MPC에 자원할당을 수행한다. 그리고 자원할당이 가능한 MPC 중 서비스 요청된 코어와 MPC에서 사용중인 코어를 합산한 코어의 수가 짝수(또는 홀수)인 MPC가 복수 개이면 자원할당이 가능한 MPC 중 가장 많은 코어를 사용하고 있는 MPC를 선택하여 자원할당을 수행한다.
MPC(200)는 외부의 서비스 요청을 받은 제어 컴퓨터(10)의 제어를 토대로 자원을 할당하여 VCPC를 생성하되, 외부의 서비스 요청된 코어와 현재 사용중인 코어를 합산한 코어의 수가 각각의 MPC가 가지고 있는 코어의 수 이하이며, 서비스 요청된 코어와 사용중인 코어를 합산한 코어의 수가 짝수(또는 홀수)인 것에 우선적으로 자원을 할당하여 VCPC를 생성한다.
다음에는, 이와 같이 구성된 본 발명의 다른 실시예에 따른 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법을 도 8 내지 도 10을 참조하여 상세하게 설명한다.
도 8 내지 도 10은 본 발명의 제 2 실시예에 따른 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법의 동작과정을 상세하게 나타낸 순서도이다.
우선, 각 MPC(200)의 자원을 VCPC로 할당하는 제어 컴퓨터(100)는 외부로부터 서비스 요청이 입력되는지를 판단하고(S110), 외부로부터 서비스 요청이 입력되면, 서비스 요청된 코어의 수와 각각의 MPC(200)에서 사용중인 코어의 수를 합산한다(S120).
이후 제어 컴퓨터(100)는 S120 단계에서 합산된 코어의 수를 각각의 MPC(200)가 가지고 있는 코어의 수와 비교하여, 자원할당이 가능한 MPC인지의 여부를 확인한다(S130).
이를 도 9를 참조하여 상세하게 설명하면, 제어 컴퓨터(100)는 첫 번째 확인대상의 MPC(200)가 가지고 있는 코어의 수를 확인하고(S131), S120 단계에서 합산된 코어의 수가 해당 MPC(200)가 가지고 있는 코어의 수 이하인지를 판단한다(S132).
S132 단계의 판단결과 S120 단계에서 합산된 코어의 수가 MPC(200)가 가지고 있는 코어의 수 이하이면, 제어 컴퓨터(100)는 해당 MPC를 자원할당이 가능한 MPC로 확인하여 자원할당 후보군으로 등록한다(S133).
그리고 제어 컴퓨터(100)는 자원할당이 가능한지의 여부를 확인할 MPC가 더 존재하는지를 판단한다(S134).
S134 단계의 판단결과 자원할당이 가능한지의 여부를 확인할 MPC가 더 존재하면, S137 단계의 다음 순서의 MPC(200)가 가진 코어의 수를 확인한 후 S132 단계 이후를 반복 수행하며, 자원할당이 가능한지의 여부를 확인할 MPC가 더 이상 존재하지 않으면 다음 단계인 S140 단계를 진행한다.
한편, S132 단계의 판단결과 S120 단계에서 합산된 코어의 수가 MPC(200)가 가지고 있는 코어의 수를 초과하면, 제어 컴퓨터(100)는 자원할당이 가능한지의 여부를 확인할 MPC가 더 존재하는지를 판단한다(S135).
S135 단계의 판단 결과 자원할당이 가능한지의 여부를 확인할 MPC가 더 이상 존재하지 않으면, 제어 컴퓨터(100)는 서비스 요청을 거부하고 서비스를 종료하고(S136), 자원할당이 가능한지의 여부를 확인할 MPC가 더 존재하면, 다음 순서의 MPC(200)가 가진 코어의 수를 확인하고(S137), S132 단계 이후를 반복 수행한다.
이제 S130 단계를 통해 자원할당이 가능한 MPC인지의 여부를 확인한 이후, 제어 컴퓨터(100)는 S130 단계에서 확인된 자원할당이 가능한 MPC 중 S120 단계에서 합산된 코어의 수가 짝수(또는 홀수)인 MPC를 확인한다(S140).
이를 도 10을 참조하여 상세하게 설명하면, 제어 컴퓨터(100)는 S120 단계에서 합산된 코어의 수(즉 서비스 요청된 코어의 수와 각각의 MPC에서 사용중인 코어의 수를 합산한 수)가 짝수(또는 홀수)인 MPC가 존재하는지를 판단하고(S141), 판단결과 S120 단계에서 합산된 코어의 수가 짝수(또는 홀수)인 MPC가 존재하면 해당 MPC들을 자원할당이 가능한 후보군으로 등록한 후(S142) S150 단계를 수행한다.
그러나 S141 단계의 판단결과 S120 단계에서 합산된 코어의 수가 짝수(또는 홀수)인 MPC가 존재하지 않으면, 제어 컴퓨터(100)는 S120 단계에서 합산된 코어의 수가 홀수(또는 짝수)인 MPC가 존재하는지를 판단하고(S143), 판단결과 S120 단계에서 합산된 코어의 수가 홀수(또는 짝수)인 MPC가 존재하면 해당 MPC들을 자원할당이 가능한 후보군으로 등록한 후(S144) S150 단계를 수행하며, S120 단계에서 합산된 코어의 수가 홀수(또는 짝수)인 MPC가 존재하지 않으면 서비스 요청을 거부하고 서비스를 종료한다(S145).
즉 상술한 S140 단계는 제어 컴퓨터(100)에서 자원할당이 가능한 MPC(200)를 확인할 때, 자원할당이 가능한 MPC 중 서비스 요청된 코어와 MPC에서 사용중인 코어를 합산한 코어의 수가 짝수(또는 홀수)인 MPC가 없고 홀수(또는 짝수)인 MPC만이 존재하는 경우가 발생되는 경우를 대비한 처리 단계이다. 이 경우 제어 컴퓨터(100)는 전술한 제 1 실시예의 경우에서와 같이 외부의 서비스 요청을 거절하지 않고 서비스 요청된 코어와 MPC에서 사용중인 코어를 합산한 코어의 수가 홀수(또는 짝수)인 MPC만을 대상으로 S150 단계를 통해 자원할당이 가능하도록 처리한다.
마지막으로, 제어 컴퓨터(100)는 S140 단계에서 확인된 MPC(200) 중 어느 하나의 MPC(200)에 S110 단계를 통해 입력된 서비스 요청에 따른 자원할당을 수행한다(S150).
이때 S150 단계를 통해 서비스 요청된 코어와 MPC에서 사용중인 코어를 합산한 코어의 수가 짝수(또는 홀수)인 특정 MPC에 우선적으로 자원할당을 수행할 때, 제어 컴퓨터(100)는 S140 단계에서 확인된 자원할당이 가능한 MPC 중 서비스 요청된 코어와 MPC에서 사용중인 코어를 합산한 코어의 수가 짝수(또는 홀수)인 MPC가 하나이면 해당 MPC에 자원할당을 수행한다. 그리고 S140 단계에서 확인된 자원할당이 가능한 MPC 중 서비스 요청된 코어와 MPC에서 사용중인 코어를 합산한 코어의 수가 짝수(또는 홀수)인 MPC가 복수 개이면 자원할당이 가능한 MPC 중 가장 많은 코어를 사용하고 있는 MPC를 선택하여 자원할당을 수행한다.
여기에서, 상술한 본 발명에서는 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경할 수 있음을 이해할 수 있을 것이다.
10, 100 : 제어 컴퓨터
20, 30, 200 : 모 컴퓨터(MPC)

Claims (6)

  1. (1) 외부의 서비스 요청(service request)에 따라 모 컴퓨터(Mother PC)의 자원을 가상의 자 컴퓨터(Virtual Child PC)로 할당하는 제어 컴퓨터는, 자원할당에 사용할 각각의 모 컴퓨터를 짝수용과 홀수용으로 나누어 설정하는 단계,
    (2) 상기 제어 컴퓨터는, 외부로부터 입력되는 서비스 요청이 짝수 코어의 요청인지 홀수 코어의 요청인지를 판단하는 단계,
    (3) 상기 (2) 단계의 판단결과 외부로부터 입력되는 서비스 요청이 짝수 코어의 요청이면, 상기 제어 컴퓨터는 서비스 요청된 코어의 수와 상기 (1) 단계에서 설정된 짝수용 모 컴퓨터에서 사용중인 코어의 수를 합산하는 단계,
    (4) 상기 (2) 단계의 판단결과 외부로부터 입력되는 서비스 요청이 홀수 코어의 요청이면, 상기 제어 컴퓨터는 서비스 요청된 코어의 수와 상기 (1) 단계에서 설정된 홀수용 모 컴퓨터에서 사용중인 코어의 수를 합산하는 단계,
    (5) 상기 제어 컴퓨터는, 상기 (3) 단계 또는 상기 (4) 단계에서 합산된 코어의 수와 짝수용 또는 홀수용으로 설정된 각각의 모 컴퓨터가 가지고 있는 코어의 수의 비교를 토대로 자원할당이 가능한 모 컴퓨터를 확인하는 단계, 그리고
    (6) 상기 제어 컴퓨터는, 상기 (5) 단계에서 확인된 자원할당이 가능한 모 컴퓨터 중 어느 하나의 모 컴퓨터에 상기 (2) 단계를 통해 입력된 서비스 요청에 따른 자원할당을 수행하는 단계를
    포함하는 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법.
  2. 제 1 항에 있어서,
    상기 (5) 단계는,
    (5-1) 상기 제어 컴퓨터는, 상기 (3) 단계 또는 상기 (4) 단계에서 합산된 코어의 수가 모 컴퓨터가 가지고 있는 코어의 수 이하인지를 판단하는 단계,
    (5-2) 상기 (5-1) 단계의 판단결과 상기 (3) 단계 또는 상기 (4) 단계에서 합산된 코어의 수가 모 컴퓨터가 가지고 있는 코어의 수 이하이면, 상기 제어 컴퓨터는 해당 모 컴퓨터를 자원할당이 가능한 모 컴퓨터로 확인하고, 자원할당 후보군으로 등록하는 단계,
    (5-3) 상기 제어 컴퓨터는, 자원할당이 가능한지의 여부를 확인할 모 컴퓨터가 더 존재하는지를 판단하는 단계,
    (5-4) 상기 (5-3) 단계의 판단결과 자원할당이 가능한지의 여부를 확인할 모 컴퓨터가 더 존재하면, 다음의 짝수용 또는 홀수용으로 설정된 모 컴퓨터를 대상으로 상기 (5-1) 단계 이후를 반복 수행하며, 자원할당이 가능한지의 여부를 확인할 모 컴퓨터가 더 이상 존재하지 않으면, 상기 (6) 단계를 수행하는 단계,
    (5-5) 상기 (5-1) 단계의 판단결과 상기 (3) 단계 또는 상기 (4) 단계에서 합산된 코어의 수가 모 컴퓨터가 가지고 있는 코어의 수를 초과하면, 상기 제어 컴퓨터는 자원할당이 가능한지의 여부를 확인할 모 컴퓨터가 더 존재하는지를 판단하는 단계, 그리고
    (5-6) 상기 (5-5) 단계의 판단 결과 자원할당이 가능한지의 여부를 확인할 모 컴퓨터가 더 존재하면, 상기 제어 컴퓨터는 다음의 짝수용 또는 홀수용으로 설정된 모 컴퓨터를 대상으로 상기 (5-1) 단계 이후를 반복 수행하며, 자원할당이 가능한지의 여부를 확인할 모 컴퓨터가 더 이상 존재하지 않으면, 현재의 서비스 요청을 거부하고 서비스를 종료하는 단계를
    포함하는 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법.
  3. 제 1 항에 있어서,
    상기 (6) 단계를 통해 상기 제어 컴퓨터에서 특정 모 컴퓨터에 자원할당을 수행할 때,
    상기 제어 컴퓨터는 상기 (5) 단계에서 확인된 자원할당이 가능한 모 컴퓨터가 하나이면 해당 모 컴퓨터에 자원할당을 수행하며, 상기 (5) 단계에서 확인된 자원할당이 가능한 모 컴퓨터가 복수 개이면 자원할당이 가능한 모 컴퓨터 중 가장 많은 코어를 사용하고 있는 모 컴퓨터를 선택하여 자원할당을 수행하는 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법.
  4. 제 1 항 내지 제 3 항의 방법 중 어느 한 항의 방법을 컴퓨터로 실행시킬 수 있는 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  5. 외부의 짝수 코어에 대한 서비스 요청에 따라 자원을 할당하여 가상의 자 컴퓨터를 생성하는 짝수용 모 컴퓨터,
    외부의 홀수 코어에 대한 서비스 요청에 따라 자원을 할당하여 가상의 자 컴퓨터를 생성하는 홀수용 모 컴퓨터, 그리고
    자원할당에 사용할 각각의 모 컴퓨터를 짝수용과 홀수용으로 나누어 설정하고, 외부로부터 입력되는 서비스 요청이 짝수 코어의 요청이면 서비스 요청된 코어의 수와 짝수용으로 설정된 각각의 모 컴퓨터에서 사용중인 코어의 수를 합산하고, 합산한 수가 짝수용으로 설정된 모 컴퓨터가 가지고 있는 코어의 수 이하인 모 컴퓨터를 자원할당이 가능한 후보군으로 등록하고, 자원할당이 가능한 후보군으로 등록된 모 컴퓨터 중 어느 하나의 모 컴퓨터에 짝수 코어의 서비스 요청에 따른 자원할당을 수행하고, 외부로부터 입력되는 서비스 요청이 홀수 코어의 요청이면 서비스 요청된 코어의 수와 홀수용으로 설정된 각각의 모 컴퓨터에서 사용중인 코어의 수를 합산하고, 합산한 수가 홀수용으로 설정된 모 컴퓨터가 가지고 있는 코어의 수 이하인 모 컴퓨터를 자원할당이 가능한 후보군으로 등록하며, 자원할당이 가능한 후보군으로 등록된 모 컴퓨터 중 어느 하나의 모 컴퓨터에 홀수 코어의 서비스 요청에 따른 자원할당을 수행하는 제어 컴퓨터를
    포함하는 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당장치.
  6. 제 5 항에 있어서,
    상기 제어 컴퓨터는,
    외부의 짝수 코어 또는 홀수 코어의 서비스 요청에 따라 특정 모 컴퓨터에 자원할당을 수행할 때, 자원할당이 가능한 모 컴퓨터가 하나이면 해당 모 컴퓨터에 자원할당을 수행하며, 자원할당이 가능한 모 컴퓨터가 복수 개이면 자원할당이 가능한 모 컴퓨터 중 가장 많은 코어를 사용하고 있는 모 컴퓨터를 선택하여 자원할당을 수행하는 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당장치.
KR1020120128158A 2012-11-13 2012-11-13 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법 및 그 장치 KR20120129860A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120128158A KR20120129860A (ko) 2012-11-13 2012-11-13 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120128158A KR20120129860A (ko) 2012-11-13 2012-11-13 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법 및 그 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020110021481A Division KR20120103308A (ko) 2011-03-10 2011-03-10 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR20120129860A true KR20120129860A (ko) 2012-11-28

Family

ID=47514303

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120128158A KR20120129860A (ko) 2012-11-13 2012-11-13 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR20120129860A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014105027A1 (en) * 2012-12-27 2014-07-03 Intel Corporation Reservation and execution image writing of native computing devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014105027A1 (en) * 2012-12-27 2014-07-03 Intel Corporation Reservation and execution image writing of native computing devices

Similar Documents

Publication Publication Date Title
US11297130B2 (en) Cluster resource management in distributed computing systems
CN109643251B (zh) 基于计算系统中的利用模式的资源过度订阅
CN107430528B (zh) 机会性资源迁移以优化资源放置
US10360199B2 (en) Partitioning and rebalancing data storage
JP6542909B2 (ja) ファイル操作方法及び装置
CN110313149B (zh) 用于在云中分配资源的计算机实现方法、系统及可读介质
US20150277944A1 (en) Method and Apparatus for Allocating a Virtual Machine
CN107070709B (zh) 一种基于底层numa感知的nfv实现方法
US20140282504A1 (en) Method and system for specifying the layout of computer system resources
CN105302536A (zh) MapReduce应用的相关参数的配置方法和装置
CN111722908B (zh) 一种虚拟机的创建方法、系统、设备以及介质
US20220147260A1 (en) Method, device and computer program product for managing storage system
CN114153549A (zh) 一种虚拟机创建方法及相关设备
KR20120129860A (ko) 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법 및 그 장치
US11876729B2 (en) Method and system for a proactive assignment of virtual network functions in local data systems
KR20120103308A (ko) 클라우드 컴퓨팅 환경에서의 가상 컴퓨터 자원할당방법 및 그 장치
JP2017016478A (ja) 処理割当方法、処理割当装置、及び処理割当プログラム
CN115150268A (zh) Kubernetes集群的网络配置方法、装置、及电子设备
CN111475279B (zh) 用于备份的智能数据负载平衡的系统和方法
CN114281516A (zh) 一种基于numa属性的资源分配方法及装置
KR101836743B1 (ko) 복수의 모바일 단말을 이용한 태스크 분산 처리 시스템의 실패 태스크 재할당을 위한 단말 선택 기법
JP6365027B2 (ja) 割り当てプログラム、割り当て装置、割り当てシステム、及び割り当て方法
US20240036935A1 (en) Lcs sdxi resource ownership system
Pascual et al. A fast implementation of the first fit contiguous partitioning strategy for cubic topologies
WO2023038706A1 (en) Resource allocation in cloud computing systems

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right