KR102261263B1 - 클라우드 자원 간 간섭 및 병목 현상 해소를 위한 클라우드 자원의 적응적 관리 방법 및 장치 - Google Patents

클라우드 자원 간 간섭 및 병목 현상 해소를 위한 클라우드 자원의 적응적 관리 방법 및 장치 Download PDF

Info

Publication number
KR102261263B1
KR102261263B1 KR1020200124693A KR20200124693A KR102261263B1 KR 102261263 B1 KR102261263 B1 KR 102261263B1 KR 1020200124693 A KR1020200124693 A KR 1020200124693A KR 20200124693 A KR20200124693 A KR 20200124693A KR 102261263 B1 KR102261263 B1 KR 102261263B1
Authority
KR
South Korea
Prior art keywords
resource
cpu
cloud
gpu
reservation amount
Prior art date
Application number
KR1020200124693A
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 건국대학교 산학협력단
Application granted granted Critical
Publication of KR102261263B1 publication Critical patent/KR102261263B1/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/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/505Allocation 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 the load
    • 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
    • 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/5083Techniques for rebalancing the load in a distributed system

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

클라우드 자원 간 간섭 및 병목 현상 해소를 위한 클라우드 자원의 적응적 관리 방법 및 장치가 개시된다. 일 실시예에 따른 클라우드 자원 관리 방법은, 클라우드 자원에 대한 자원 비용, 현재 주기의 자원 예약량, 직전 주기의 자원 사용량 및 평균 자원 사용률을 수신하는 단계와, 상기 현재 주기의 자원 예약량 및 상기 직전 주기의 자원 사용량을 이용하여 상기 클라우드 자원에 대한 가상 큐(virtual queue)를 계산하는 단계와, 상기 클라우드 자원 중 현재 설정 가능한 모든 자원량인 복수의 설정 가능 자원량들 중에서 어느 하나, 및 상기 현재 주기의 자원 예약량을 이용하여 상기 클라우드 자원에 대한 다음 주기의 예상 자원 예약량을 계산하는 단계와, 상기 다음 주기의 예상 자원 예약량, 상기 평균 자원 사용률, 상기 자원 비용, 상기 가상 큐, 및 상기 어느 하나에 기초하여 상기 클라우드 자원에 대한 다음 주기의 자원 예약량을 적응적으로 조절하는 단계를 포함한다.

Description

클라우드 자원 간 간섭 및 병목 현상 해소를 위한 클라우드 자원의 적응적 관리 방법 및 장치{METHOD AND APPARATUS FOR ADAPTIVE MANAGEMENT OF CLOUD RESOURCES TO ELIMINATE INTERFERENCE AND BOTTLENECK BETWEEN CLOUD RESOURCES}
본 개시는 클라우드 자원 간 간섭 및 병목 현상 해소를 위한 클라우드 자원의 적응적 관리 방법 및 장치에 관한 것이다.
클라우드 서비스 제공자는 시스템 자원을 제공할 때 각 자원에 대한 희소 가치에 상응하는 비용을 청구하며 가능한 사용자에게 많은 자원을 제공하는 것을 목표로 한다. 그러나, 클라우드 컨테이너 사용자는 클라우드 운영 비용을 최소화하기 위해 한정된 시스템 자원을 효율적으로 운영하는 것을 목표로 한다.
클라우드 서비스는 기존의 하이퍼바이저 가상화 기술과 비교해 경량화 된 구조로 많은 장점을 가지고 있는 컨테이너(container)를 적극적으로 활용하고 있다. 컨테이너 오케스트레이션(Container Orchestration)은 한정된 시스템 자원에서 다중 컨테이너를 효율적으로 운용하기 위해 컨테이너를 배포할 시점에 컨테이너가 사용할 수 있는 자원을 예약 및 제한하여 관리한다. 그러나, 사용자가 예약한 자원의 상세가 응용의 특성을 고려하지 못할 경우 자원 간 간섭 및 병목 현상으로 인해 성능 저하를 초래한다.
클라우드에서 컨테이너 오케스트레이션의 표준이라고 할 수 있는 쿠버네티스(Kubernetes)에서는 컨테이너를 배포하는 시점에 시스템 자원을 요청값(Request)과 제한값(Limit)으로 예약 및 할당할 수 있다. 쿠버네티스는 요청값 및 제한값 정보를 기반으로 시스템 자원을 스케줄링 및 관리할 수 있다.
CPU 자원의 경우, 리눅스 운영체제의 Cgroup 기능을 통해 노드 내 CPU를 여러 컨테이너가 공유 및 관리할 수 있다. GPU 자원의 경우 엔비디아(Nvidia)에서 제공하는 엔비디아 컨테이너(nvidia container)를 통해 여러 컨테이너가 노드 내 GPU를 공유할 수 있다.
실시예들은 사용할 클라우드 자원의 비용과 응용(application)의 성능을 함께 고려하여 제공된 클라우드 자원 운영 비용을 보장하며, 클라우드 자원 간 간섭으로 인한 병목 현상을 해소할 수 있는 기술을 제공할 수 있다.
또한, 실시예들은 클라우드 자원 예약 불균형에 의해 발생한 클라우드 자원 병목 현상을 해소하기 위한 클라우드 자원의 적응적 관리 방법을 제공할 수 있다.
다만, 기술적 과제는 상술한 기술적 과제들로 한정되는 것은 아니며, 또 다른 기술적 과제들이 존재할 수 있다.
일 실시예에 따른 클라우드 자원 관리 방법은, 클라우드 자원에 대한 자원 비용, 현재 주기의 자원 예약량, 직전 주기의 자원 사용량 및 평균 자원 사용률을 수신하는 단계와, 상기 현재 주기의 자원 예약량 및 상기 직전 주기의 자원 사용량을 이용하여 상기 클라우드 자원에 대한 가상 큐(virtual queue)를 계산하는 단계와, 상기 클라우드 자원 중 현재 설정 가능한 모든 자원량인 복수의 설정 가능 자원량들 중에서 어느 하나, 및 상기 현재 주기의 자원 예약량을 이용하여 상기 클라우드 자원에 대한 다음 주기의 예상 자원 예약량을 계산하는 단계와, 상기 다음 주기의 예상 자원 예약량, 상기 평균 자원 사용률, 상기 자원 비용, 상기 클라우드 자원에 대한 가상 큐, 및 상기 어느 하나에 기초하여 상기 클라우드 자원에 대한 다음 주기의 자원 예약량을 적응적으로 조절하는 단계를 포함한다.
상기 조절하는 단계는, 상기 다음 주기의 예상 자원 예약량, 상기 평균 자원 사용률, 상기 자원 비용, 상기 클라우드 자원에 대한 가상 큐, 및 상기 어느 하나에 기초하여 상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 계산하는 단계와, 상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값이, 상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 하한 값 미만인지 여부에 따라 상기 예상 자원 예약량을 상기 클라우드 자원에 대한 다음 주기의 자원 예약량으로 결정하는 단계를 포함할 수 있다.
상기 클라우드 자원은 CPU 및 GPU를 포함할 수 있다.
상기 가상 큐를 계산하는 단계는, 상기 CPU에 대한 현재 주기의 자원 예약량 및 상기 CPU에 대한 직전 주기의 자원 사용량을 이용하여 상기 CPU에 대한 가상 큐를 계산하는 단계와, 상기 GPU에 대한 현재 주기의 자원 예약량 및 상기 GPU에 대한 직전 주기의 자원 사용량을 이용하여 상기 GPU에 대한 가상 큐를 계산하는 단계를 포함할 수 있다.
상기 다음 주기의 예상 자원 예약량을 계산하는 단계는, 상기 CPU의 자원에 대해 현재 설정 가능한 모든 자원량인 상기 CPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나, 및 상기 CPU에 대한 현재 주기의 자원 예약량을 이용하여 상기 CPU에 대한 다음 주기의 예상 자원 예약량을 계산하는 단계와, 상기 GPU의 자원에 대해 현재 설정 가능한 모든 자원량인 상기 GPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나, 및 상기 GPU에 대한 현재 주기의 자원 예약량을 이용하여 상기 GPU에 대한 다음 주기의 예상 자원 예약량을 계산하는 단계를 포함할 수 있다.
상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 계산하는 단계는, 상기 CPU에 대한 다음 주기의 예상 자원 예약량, 상기 GPU에 대한 다음 주기의 예상 자원 예약량, 상기 CPU에 대한 평균 자원 사용률, 상기 GPU에 대한 평균 자원 사용률, 상기 CPU에 대한 자원 비용, 상기 CPU에 대한 가상 큐, 및 상기 CPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나에 기초하여 상기 CPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 계산하는 단계와, 상기 CPU에 대한 다음 주기의 예상 자원 예약량, 상기 GPU에 대한 다음 주기의 예상 자원 예약량, 상기 CPU에 대한 평균 자원 사용률, 상기 GPU에 대한 평균 자원 사용률, 상기 GPU에 대한 자원 비용, 상기 GPU에 대한 가상 큐, 및 상기 GPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나에 기초하여 상기 GPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 계산하는 단계를 포함할 수 있다.
상기 CPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 계산하는 단계는, 상기 CPU에 대한 다음 주기의 예상 자원 예약량, 상기 GPU에 대한 다음 주기의 예상 자원 예약량, 상기 CPU에 대한 평균 자원 사용률, 및 상기 GPU에 대한 평균 자원 사용률에 기초하여, 다음 주기의 예상 자원 예약량의 비율과 평균 자원 사용률의 비율의 차이를 나타내는 상기 CPU에 대한 패널티(panelty) 값을 계산하는 단계와, 상기 CPU에 대한 자원 비용, 상기 CPU에 대한 가상 큐, 상기 CPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나 및 상기 CPU에 대한 패널티 값에 기초하여 상기 CPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 계산하는 단계를 포함할 수 있다.
상기 GPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 계산하는 단계는, 상기 CPU에 대한 다음 주기의 예상 자원 예약량, 상기 GPU에 대한 다음 주기의 예상 자원 예약량, 상기 CPU에 대한 평균 자원 사용률, 및 상기 GPU에 대한 평균 자원 사용률에 기초하여, 다음 주기의 예상 자원 예약량의 비율과 평균 자원 사용률의 비율의 차이를 나타내는 상기 GPU에 대한 패널티(panelty) 값을 계산하는 단계와, 상기 GPU에 대한 자원 비용, 상기 GPU에 대한 가상 큐, 상기 GPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나 및 상기 GPU에 대한 패널티 값에 기초하여 상기 GPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 계산하는 단계를 포함할 수 있다.
상기 클라우드 자원에 대한 다음 주기의 자원 예약량으로 결정하는 단계는,
상기 CPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값 및 상기 GPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값에 기초하여, 상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 계산하는 단계와, 상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값이, 상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 하한 값 미만인 때, 상기 CPU에 대한 다음 주기의 예상 자원 예약량 및 상기 GPU에 대한 다음 주기의 예상 자원 예약량을 상기 CPU에 대한 다음 주기의 자원 예약량 및 상기 GPU에 대한 다음 주기의 자원 예약량으로 결정하는 단계와, 상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 하한 값으로 저장하는 단계를 포함할 수 있다.일 실시예에 따른 클라우드 자원 관리 장치는, 클라우드 자원 관리를 위한 인스트럭션들을 저장하는 메모리와, 상기 인스트럭션들을 실행하기 위한 프로세서를 포함하고, 상기 인스트럭션들이 상기 프로세서에 의해 실행될 때, 상기 프로세서는, 클라우드 자원에 대한 자원 비용, 현재 주기의 자원 예약량, 직전 주기의 자원 사용량 및 평균 자원 사용률을 수신하고, 상기 현재 주기의 자원 예약량 및 상기 직전 주기의 자원 사용량을 이용하여 상기 클라우드 자원에 대한 가상 큐(virtual queue)를 계산하고, 상기 클라우드 자원 중 현재 설정 가능한 모든 자원량인 복수의 설정 가능 자원량들 중에서 어느 하나, 및 상기 현재 주기의 자원 예약량을 이용하여 상기 클라우드 자원에 대한 다음 주기의 예상 자원 예약량을 계산하고, 상기 다음 주기의 예상 자원 예약량, 상기 평균 자원 사용률, 상기 자원 비용, 상기 클라우드 자원에 대한 가상 큐, 및 상기 어느 하나에 기초하여 상기 클라우드 자원에 대한 다음 주기의 자원 예약량을 적응적으로 조절한다.
상기 프로세서는, 상기 다음 주기의 예상 자원 예약량, 상기 평균 자원 사용률, 상기 자원 비용, 상기 클라우드 자원에 대한 가상 큐, 및 상기 어느 하나에 기초하여 상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 계산하고, 상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값이, 상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 하한 값 미만인지 여부에 따라 상기 예상 자원 예약량을 상기 클라우드 자원에 대한 다음 주기의 자원 예약량으로 결정할 수 있다.
상기 클라우드 자원은 CPU 및 GPU를 포함할 수 있다.
상기 프로세서는, 상기 CPU에 대한 현재 주기의 자원 예약량 및 상기 CPU에 대한 직전 주기의 자원 사용량을 이용하여 상기 CPU에 대한 가상 큐를 계산하고, 상기 GPU에 대한 현재 주기의 자원 예약량 및 상기 GPU에 대한 직전 주기의 자원 사용량을 이용하여 상기 GPU에 대한 가상 큐를 계산할 수 있다.
상기 프로세서는, 상기 CPU의 자원에 대해 현재 설정 가능한 모든 자원량인 상기 CPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나, 및 상기 CPU에 대한 현재 주기의 자원 예약량을 이용하여 상기 CPU에 대한 다음 주기의 예상 자원 예약량을 계산하고, 상기 GPU의 자원에 대해 현재 설정 가능한 모든 자원량인 상기 GPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나, 및 상기 GPU에 대한 현재 주기의 자원 예약량을 이용하여 상기 GPU에 대한 다음 주기의 예상 자원 예약량을 계산할 수 있다.
상기 프로세서는, 상기 CPU에 대한 다음 주기의 예상 자원 예약량, 상기 GPU에 대한 다음 주기의 예상 자원 예약량, 상기 CPU에 대한 평균 자원 사용률, 상기 GPU에 대한 평균 자원 사용률, 상기 CPU에 대한 자원 비용, 상기 CPU에 대한 가상 큐, 및 상기 CPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나에 기초하여 상기 CPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 계산하고, 상기 CPU에 대한 다음 주기의 예상 자원 예약량, 상기 GPU에 대한 다음 주기의 예상 자원 예약량, 상기 CPU에 대한 평균 자원 사용률, 상기 GPU에 대한 평균 자원 사용률, 상기 GPU에 대한 자원 비용, 상기 GPU에 대한 가상 큐, 및 상기 GPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나에 기초하여 상기 GPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 계산할 수 있다.
상기 프로세서는, 상기 CPU에 대한 다음 주기의 예상 자원 예약량, 상기 GPU에 대한 다음 주기의 예상 자원 예약량, 상기 CPU에 대한 평균 자원 사용률, 및 상기 GPU에 대한 평균 자원 사용률에 기초하여, 다음 주기의 예상 자원 예약량의 비율과 평균 자원 사용률의 비율의 차이를 나타내는 상기 CPU에 대한 패널티(panelty) 값을 계산하고, 상기 CPU에 대한 자원 비용, 상기 CPU에 대한 가상 큐, 상기 CPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나 및 상기 CPU에 대한 패널티 값에 기초하여 상기 CPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 계산할 수 있다.
상기 프로세서는, 상기 CPU에 대한 다음 주기의 예상 자원 예약량, 상기 GPU에 대한 다음 주기의 예상 자원 예약량, 상기 CPU에 대한 평균 자원 사용률, 및 상기 GPU에 대한 평균 자원 사용률에 기초하여, 다음 주기의 예상 자원 예약량의 비율과 평균 자원 사용률의 비율의 차이를 나타내는 상기 GPU에 대한 패널티(panelty) 값을 계산하고, 상기 GPU에 대한 자원 비용, 상기 GPU에 대한 가상 큐, 상기 GPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나 및 상기 GPU에 대한 패널티 값에 기초하여 상기 GPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 계산할 수 있다.
상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 하한 값은 상기 CPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 하한 값 및 상기 GPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 하한 값을 포함할 수 있다.
상기 프로세서는, 상기 CPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값 및 상기 GPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값에 기초하여, 상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 계산하고, 상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값이, 상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 하한 값 미만인 때, 상기 CPU에 대한 다음 주기의 예상 자원 예약량 및 상기 GPU에 대한 다음 주기의 예상 자원 예약량을 상기 CPU에 대한 다음 주기의 자원 예약량 및 상기 GPU에 대한 다음 주기의 자원 예약량으로 결정하고, 상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 하한 값으로 저장할 수 있다.
도 1은 일 실시예에 따른 클라우드 자원 관리 장치의 개략적인 블록도를 나타낸다.
도 2는 도 1에 도시된 클라우드 자원 관리 장치를 개략적으로 나타낸 도면이다.
도 3은 클라우드 자원 관리 장치가 이용하는 알고리즘을 나타낸다.
도 4는 클라우드 자원 관리 장치의 동작에 대한 순서도를 나타낸다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
본 명세서에서의 모듈(module) 은 본 명세서에서 설명되는 각 명칭에 따른 기능과 동작을 수행할 수 있는 하드웨어를 의미할 수도 있고, 특정 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수도 있고, 또는 특정 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체, 예를 들어 프로세서 또는 마이크로 프로세서를 의미할 수 있다. 다시 말해, 모듈이란 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및/또는 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다.
도 1은 일 실시예에 따른 클라우드 자원 관리 장치의 개략적인 블록도를 나타낸다.
클라우드 자원 관리 장치(10)는 송수신기(100), 프로세서(300) 및 메모리(500)를 포함한다.
클라우드 자원 관리 장치(10)는 클라우드 자원의 예약 불균형에 의해 발생한 클라우드 자원 병목 현상을 해소하기 위해 클라우드 자원의 적응적 관리 방법을 제공할 수 있다.
클라우드 자원 관리 장치(10)는 이기종 계산 자원에 대하여 간섭 및 병목 현상을 감지하고 응용(application) 성능을 고려한 동적인 자원 예약을 통해 클라우드 자원의 불균형 및 클라우드 자원의 병목 현상을 해결할 수 있다.
클라우드 자원 관리 장치(10)는 클라우드 자원 사용량 및 예약량을 기반으로 CPU에 대한 가상 큐 및 GPU에 대한 가상 큐를 생성하여 자원의 불균형 및 자원의 병목 현상을 확인할 수 있다.
클라우드 자원 관리 장치(10)는 리아프노프(Lyapunov) 최적화 이론을 이용하여 다음 주기의 자원 예약량을 적응적으로 조절함으로써, 클라우드 자원의 병목 현상을 해소할 수 있다.
클라우드 자원 관리 장치(10)는 컨테이너가 사용할 클라우드 자원의 비용(credit)과 응용의 성능을 함께 고려하여 제공된 자원 운영 비용을 보장하며, 클라우드 자원 간 간섭으로 인한 병목 현상을 해소할 수 있다.
클라우드 자원 관리 장치(10)는 기존의 클라우드 자원을 큐잉 시스템으로 확장하고, 자원 간의 평균 자원 사용률 비율을 고려함으로써 자원 예약량 대비 자원 사용량을 나타내는 가상 큐의 안정성을 보장할 수 있다.
송수신기(100)는 무선 통신 또는 유선 통신을 통해서 네트워크에 연결되어 통신을 수행할 수 있다.
송수신기(100)는 클라우드 자원에 대한 자원 비용, 현재 주기의 자원 예약량, 직전 주기의 자원 사용량 및 평균 자원 사용률을 수신할 수 있다. 송수신기(100)는 클라우드 자원에 대한 자원 비용, 현재 주기의 자원 예약량, 직전 주기의 자원 사용량 및 평균 자원 사용률을 프로세서(300)로 출력할 수 있다.
송수신기(100)는 클라우드 자원에 대한 다음 주기의 자원 예약량을 전송할 수 있다. 예를 들어, 송수신기(100)는 CPU에 대한 다음 주기의 자원 예약량 및/또는 GPU에 대한 다음 주기의 자원 예약량을 전송할 수 있다.
프로세서(300)는 중앙처리장치, 어플리케이션 프로세서, 또는 커뮤니케이션 프로세서(communication processor) 중 하나 또는 그 이상을 포함할 수 있다.
프로세서(300)는 클라우드 자원 관리 장치(10)의 적어도 하나의 다른 구성요소들의 제어에 관한 연산이나 데이터 처리를 실행할 수 있다. 예를 들어, 프로세서(300)는 메모리(500)에 저장된 어플리케이션 및/또는 소프트웨어 등을 실행할 수 있다.
프로세서(300)는 수신한 데이터 및 메모리(500)에 저장된 데이터를 처리할 수 있다. 프로세서(300)는 메모리(500)에 저장된 데이터를 처리할 수 있다. 프로세서(300)는 메모리(500)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(300)에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.
프로세서(300)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다.
예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(300)는 리아프노프(Lyapunov) 최적화 알고리즘을 이용하여 클라우드 자원에 대한 가상 큐의 안정성 및 병목 현상 해소를 위한 척도 값을 계산할 수 있다.
프로세서(300)는 클라우드 자원에 대한 자원 비용, 현재 주기의 자원 예약량, 직전 주기의 자원 사용량 및 평균 자원 사용률을 수신할 수 있다. 예를 들어, 클라우드 자원은 CPU 및 GPU를 포함할 수 있다.
프로세서(300)는 클라우드 자원에 대한 현재 주기의 자원 예약량 및 직전 주기의 자원 사용량을 이용하여 클라우드 자원에 대한 가상 큐(virtual queue)를 계산할 수 있다. 예를 들어, 프로세서(300)는 CPU에 대한 현재 주기의 자원 예약량 및 CPU에 대한 직전 주기의 자원 사용량을 이용하여 CPU에 대한 가상 큐를 계산할 수 있다. 프로세서(300)는 GPU에 대한 현재 주기의 자원 예약량 및 GPU에 대한 직전 주기의 자원 사용량을 이용하여 GPU에 대한 가상 큐를 계산할 수 있다.
프로세서(300)는 클라우드 자원 중 현재 설정 가능한 모든 자원량인 복수의 설정 가능 자원량들 중에서 어느 하나, 및 현재 주기의 자원 예약량을 이용하여 클라우드 자원에 대한 다음 주기의 예상 자원 예약량을 계산할 수 있다. 예를 들어, 프로세서(300)는 CPU의 자원에 대해 현재 설정 가능한 모든 자원량인 CPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나, 및 CPU에 대한 현재 주기의 자원 예약량을 이용하여 CPU에 대한 다음 주기의 예상 자원 예약량을 계산할 수 있다. 프로세서(300)는 GPU의 자원에 대해 현재 설정 가능한 모든 자원량인 GPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나, 및 GPU에 대한 현재 주기의 자원 예약량을 이용하여 GPU에 대한 다음 주기의 예상 자원 예약량을 계산할 수 있다.
프로세서(300)는 다음 주기의 예상 자원 예약량, 평균 자원 사용률, 자원 비용, 가상 큐, 및 현재 설정 가능한 모든 자원량인 복수의 설정 가능 자원량들 중에서 어느 하나에 기초하여 클라우드 자원에 대한 다음 주기의 자원 예약량을 적응적으로 조절할 수 있다.
프로세서(300)는 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 초기화할 수 있다.
프로세서(300)는 다음 주기의 예상 자원 예약량, 평균 자원 사용률, 자원 비용, 가상 큐, 및 현재 설정 가능한 모든 자원량인 복수의 설정 가능 자원량들 중에서 어느 하나에 기초하여 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 계산할 수 있다.
예를 들어, 프로세서(300)는 CPU에 대한 다음 주기의 예상 자원 예약량, GPU에 대한 다음 주기의 예상 자원 예약량, CPU에 대한 평균 자원 사용률, GPU에 대한 평균 자원 사용률, CPU에 대한 자원 비용, CPU에 대한 가상 큐, 및 CPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나에 기초하여 CPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 계산할 수 있다. 예를 들어, 프로세서(300)는 CPU에 대한 다음 주기의 예상 자원 예약량, GPU에 대한 다음 주기의 예상 자원 예약량, CPU에 대한 평균 자원 사용률, 및 GPU에 대한 평균 자원 사용률에 기초하여, 다음 주기의 예상 자원 예약량의 비율과 평균 자원 사용률의 비율의 차이를 나타내는 CPU에 대한 패널티(panelty) 값을 계산할 수 있다. 프로세서(300)는 CPU에 대한 자원 비용, CPU에 대한 가상 큐, CPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나 및 CPU에 대한 패널티 값에 기초하여 CPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 계산할 수 있다.
프로세서(300)는 CPU에 대한 다음 주기의 예상 자원 예약량, GPU에 대한 다음 주기의 예상 자원 예약량, CPU에 대한 평균 자원 사용률, GPU에 대한 평균 자원 사용률, GPU에 대한 자원 비용, 상기 GPU에 대한 가상 큐, 및 상기 GPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나에 기초하여 GPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 계산할 수 있다. 예를 들어, 프로세서(300)는 CPU에 대한 다음 주기의 예상 자원 예약량, GPU에 대한 다음 주기의 예상 자원 예약량, CPU에 대한 평균 자원 사용률, 및 GPU에 대한 평균 자원 사용률에 기초하여, 다음 주기의 예상 자원 예약량의 비율과 평균 자원 사용률의 비율의 차이를 나타내는 GPU에 대한 패널티(panelty) 값을 계산할 수 있다. 프로세서(300)는 GPU에 대한 자원 비용, GPU에 대한 가상 큐, GPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나 및 GPU에 대한 패널티 값에 기초하여 GPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 계산할 수 있다.
프로세서(300)는 CPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값 및 GPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값에 기초하여, 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 계산할 수 있다.
프로세서(300)는 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값이, 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 하한 값 미만인지 여부에 따라 예상 자원 예약량을 클라우드 자원에 대한 다음 주기의 자원 예약량으로 결정할 수 있다. 예를 들어, 프로세서(300)는 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값이, 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 하한 값 미만인 때, CPU에 대한 다음 주기의 예상 자원 예약량 및 GPU에 대한 다음 주기의 예상 자원 예약량을 CPU에 대한 다음 주기의 자원 예약량 및 GPU에 대한 다음 주기의 자원 예약량으로 결정할 수 있다.
프로세서(300)는 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 하한 값으로 저장할 수 있다.
메모리(500)는 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(500)는 클라우드 자원 관리 장치(10)의 적어도 하나의 다른 구성요소에 관계된 명령 및/또는 데이터를 저장할 수 있다.
메모리(500)는 소프트웨어(software) 및/또는 프로그램(program) 등을 저장할 수 있다. 예를 들어, 메모리(500)는 클라우드 자원 관리를 위한 어플리케이션 및 소프트웨어 등을 저장할 수 있다.
도 2는 도 1에 도시된 프로세서를 개략적으로 나타낸 도면이고, 도 3은 프로세서가 이용하는 알고리즘을 나타낸다.
프로세서(300)는 리아프노프(Lyapunov) 최적화 알고리즘을 이용하여 가상 큐(virtual queue 및/또는 슬랙)의 안정성을 보장할 수 있다. 리아프노프(Lyapunov) 최적화 알고리즘은 리아프노프 함수를 기반으로 주로 네트워크 큐잉 시스템에서의 큐의 안정성을 보장하며 특정 목표 함수를 이루기 위한 방법일 수 있다. 리아프노프 드래프트(Lyapunov draft,
Figure 112020102362707-pat00001
) 값은 가상 큐의 불안전성을 나타낼 수 있다. 리아프노프 최적화 알고리즘은 리아프노프 드래프트 값을 최소화하는 방향으로 액션을 제어하여 가상 큐의 안정성을 보장할 수 있다.
프로세서(300)는 런타임 자원 모니터(310), 리아프노프 최적화 알고리즘 모듈(330) 및 적응적 자원 예약 모듈(350)을 포함할 수 있다.
런타임 자원 모니터(310)는 컨테이너가 사용하고 있는 클라우드 자원인 CPU 자원 및 GPU 자원의 사용량을 모니터링할 수 있다. 런타임 자원 모니터(310)는 현재 주기의 자원 예약량 및 직전 주기의 자원 사용량을 이용하여 클라우드 자원에 대한 가상 큐를 계산할 수 있다. 예를 들어, 런타임 자원 모니터(310)는 CPU에 대한 현재 주기의 자원 예약량 및 CPU에 대한 직전 주기의 자원 사용량을 이용하여 CPU 자원에 대한 가상 큐를 계산할 수 있다. 런타임 자원 모니터(310)는 GPU에 대한 현재 주기의 자원 예약량 및 GPU에 대한 직전 주기의 자원 사용량을 이용하여 GPU 자원에 대한 가상 큐를 계산할 수 있다.
리아프노프 최적화 알고리즘 모듈(330)은 클라우드 자원에 대한 가상 큐를 수학식 1 및 2를 통해 계산할 수 있다.
Figure 112020102362707-pat00002
Figure 112020102362707-pat00003
는 클라우드 자원에 대한 가상 큐,
Figure 112020102362707-pat00004
는 CPU에 대한 가상 큐(1000) 및
Figure 112020102362707-pat00005
는 GPU에 대한 가상 큐(2000),
Figure 112020102362707-pat00006
는 주기를 의미할 수 있다.
Figure 112020102362707-pat00007
Figure 112020102362707-pat00008
Figure 112020102362707-pat00009
Figure 112020102362707-pat00010
는 주기
Figure 112020102362707-pat00011
에 설정된 자원 예약량,
Figure 112020102362707-pat00012
는 주기
Figure 112020102362707-pat00013
에 사용된 자원 사용량,
Figure 112020102362707-pat00014
는 주기
Figure 112020102362707-pat00015
에서의 자원 예약량의 변화량,
Figure 112020102362707-pat00016
는 주기
Figure 112020102362707-pat00017
에 자원 사용량의 변화량을 의미할 수 있다.
Figure 112020102362707-pat00018
Figure 112020102362707-pat00019
또는
Figure 112020102362707-pat00020
일 수 있다.
Figure 112020102362707-pat00021
는 환경에 따라 변화하는 값으로 컨트롤 하지 못하는 특징을 가질 수 있다.
리아프노프 최적화 알고리즘 모듈(330)은 클라우드 자원의 가중치
Figure 112020102362707-pat00022
를 고려하여 리아프노프 함수를 수학식 3과 같이 정의할 수 있다.
Figure 112020102362707-pat00023
Figure 112020102362707-pat00024
는 주기
Figure 112020102362707-pat00025
에 사용하고 남는 여러 클라우드 자원들의 합을 나타내는 리아프노프 함수를 의미할 수 있다.
Figure 112020102362707-pat00026
의 증가는 클라우드 자원 간의 간섭 또는 병목 현상을 의미할 수 있다.
Figure 112020102362707-pat00027
는 클라우드 자원의 가중치,
Figure 112020102362707-pat00028
는 클라우드 자원에 대한 가상 큐를 의미할 수 있다.
리아프노프 최적화 알고리즘 모듈(330)은 클라우드 자원에 대한 가상 큐의 불안전성을 나타내는 리아프노프 드래프트를 수학식 4와 같이 정의할 수 있다.
Figure 112020102362707-pat00029
Figure 112020102362707-pat00030
은 리아프노프 드래프트,
Figure 112020102362707-pat00031
은 주기
Figure 112020102362707-pat00032
에서의 리아프노프 함수,
Figure 112020102362707-pat00033
는 주기
Figure 112020102362707-pat00034
에서의 리아프노프 함수를 의미할 수 있다.
리아프노프 최적화 알고리즘 모듈(330)은 리아프노프 드래프트의 시간 기대 평균을 수학식 5를 통해 계산할 수 있다.
Figure 112020102362707-pat00035
Figure 112020102362707-pat00036
Figure 112020102362707-pat00037
는 리아프노프 드래프트의 시간 기대 평균을 의미할 수 있다.
리아프노프 최적화 알고리즘 모듈(330)은 클라우드 자원 간의 병목 현상을 해결하기 위해 클라우드 자원 간의 상관 관계를 나타내는 평균 자원 사용률의 비율을 고려할 수 있다. 리아프노프 최적화 알고리즘 모듈(330)은 다음 주기의 자원 예약량의 비율과 평균 자원 사용률의 비율의 차이를 나타내는 패널티(panelty) 함수를 수학식 6으로 정의할 수 있다.
Figure 112020102362707-pat00038
Figure 112020102362707-pat00039
는 패널티 함수,
Figure 112020102362707-pat00040
는 클라우드 자원에 대한 다음 주기의 자원 예약량,
Figure 112020102362707-pat00041
는 클라우드 자원에 대한 평균 자원 사용률을 의미할 수 있다.
리아프노프 최적화 알고리즘 모듈(330)은 패널티 함수
Figure 112020102362707-pat00042
를 리아프노프 드래프트
Figure 112020102362707-pat00043
에 더하고, 환경에 따라 결정되는 컨트롤 불가능한
Figure 112020102362707-pat00044
를 제외하여 클라우드 자원에 대한 가상 큐의 안정성 및 병목 현상 해소를 위한 척도 값을 수학식 7을 통해 계산할 수 있다.
Figure 112020102362707-pat00045
Figure 112020102362707-pat00046
는 클라우드 자원의 가중치,
Figure 112020102362707-pat00047
는 클라우드 자원에 대한 가상 큐,
Figure 112020102362707-pat00048
는 주기
Figure 112020102362707-pat00049
에서의 자원 예약량의 변화량,
Figure 112020102362707-pat00050
는 클라우드 자원에 대한 다음 주기의 자원 예약량,
Figure 112020102362707-pat00051
는 클라우드 자원에 대한 평균 자원 사용률을 의미할 수 있다.
적응적 자원 예약 모듈(350)은 리아프노프 드래프트
Figure 112020102362707-pat00052
및 패널티 함수
Figure 112020102362707-pat00053
에 의해 수학식 7을 최소화하는 각 주기
Figure 112020102362707-pat00054
에 예약 자원 변화량
Figure 112020102362707-pat00055
를 선택할 수 있다.
적응적 자원 예약 모듈(350)은 클라우드 자원 중 CPU 자원 및 GPU 자원의 상관관계를 고려하여 각 CPU 자원 및 GPU 자원의 가상 큐인
Figure 112020102362707-pat00056
의 안정성을 보장하며 자원 간 병목 현상을 해결할 수 있다.
적응적 자원 예약 모듈(350)은 클라우드 자원의 가중치
Figure 112020102362707-pat00057
를 임의로 정의된 단위 시간당 클라우드 자원의 비용으로 설정할 수 있다. 적응적 자원 예약 모듈(350)은
Figure 112020102362707-pat00058
의 조건을 통해 컨테이너에게 예약된 자원 비용을 보장할 수 있다.
적응적 자원 예약 모듈(350)은 리아프노프 드래프트
Figure 112020102362707-pat00059
및 패널티 함수
Figure 112020102362707-pat00060
를 기반으로 수학식 7을 최소화하는
Figure 112020102362707-pat00061
를 선택함으로써, 다음 주기의 자원 예약량을 결정할 수 있다.
적응적 자원 예약 모듈(350)은 적응적 관리 기법을 위한 리아프노프 최적화 알고리즘과 클라우드 자원에 대한 가상 큐의 크기를 통해 클라우드 자원에 대한 다음 주기의 자원 예약량을 적응적으로 조절할 수 있다.
도 3을 참조하면, 적응적 자원 예약 모듈(350)은 도 3의 알고리즘 1(Algorithm 1)을 이용하여 다음 주기의 자원 예약량을 결정할 수 있다.
적응적 자원 예약 모듈(350)은 CPU에 대한 자원 비용(
Figure 112020102362707-pat00062
), GPU에 대한 자원 비용(
Figure 112020102362707-pat00063
), CPU에 대한 현재 주기의 자원 예약량(
Figure 112020102362707-pat00064
), GPU에 대한 현재 주기의 자원 예약량(
Figure 112020102362707-pat00065
), CPU에 대한 직전 주기의 자원 사용량(
Figure 112020102362707-pat00066
), GPU에 대한 직전 주기의 자원 사용량(
Figure 112020102362707-pat00067
), CPU에 대한 평균 자원 사용률(
Figure 112020102362707-pat00068
) 및 GPU에 대한 평균 자원 사용률(
Figure 112020102362707-pat00069
)을 입력받을 수 있다. 예를 들어, CPU에 대한 평균 자원 사용률(
Figure 112020102362707-pat00070
) 및 GPU에 대한 평균 자원 사용률(
Figure 112020102362707-pat00071
)은 이전 다섯 번의 주기 동안 사용된 윈도우 기반의 평균 자원 사용률일 수 있다.
적응적 자원 예약 모듈(350)은 CPU에 대한 현재 주기의 자원 예약량(
Figure 112020102362707-pat00072
) 및 CPU에 대한 직전 주기의 자원 사용량(
Figure 112020102362707-pat00073
)을 이용하여 CPU에 대한 가상 큐(1000;
Figure 112020102362707-pat00074
)를 계산할 수 있다.
적응적 자원 예약 모듈(350)은 GPU에 대한 현재 주기의 자원 예약량(
Figure 112020102362707-pat00075
) 및 GPU에 대한 직전 주기의 자원 사용량(
Figure 112020102362707-pat00076
)을 이용하여 GPU에 대한 가상 큐(2000;
Figure 112020102362707-pat00077
)를 계산할 수 있다.
적응적 자원 예약 모듈(350)은 가상 큐의 안정성 및 병목 해소를 위한 척도 하한 값(
Figure 112020102362707-pat00078
)을
Figure 112020102362707-pat00079
로 설정할 수 있다.
적응적 자원 예약 모듈(350)은 클라우드 자원 중 현재 설정 가능한 모든 클라우드 자원에 대한 자원량(
Figure 112020102362707-pat00080
;예를 들어, 다음 주기에 설정될 모든 자원 예약량의 변화량)을 계산할 수 있다.
Figure 112020102362707-pat00081
를 의미할 수 있다. 즉,
Figure 112020102362707-pat00082
는 CPU의 자원에 대해 현재 설정 가능한 모든 자원량인 CPU에 대한 복수의 설정 가능 자원량들을 의미할 수 있다.
Figure 112020102362707-pat00083
는 GPU의 자원에 대해 현재 설정 가능한 모든 자원량인 GPU에 대한 복수의 설정 가능 자원량들을 의미할 수 있다.
적응적 자원 예약 모듈(350)은 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값(
Figure 112020102362707-pat00084
)을 0으로 초기화할 수 있다.
적응적 자원 예약 모듈(350)은 CPU 자원 중 현재 설정 가능한 모든 자원량인 복수의 설정 가능한 자원량들(
Figure 112020102362707-pat00085
) 중에서 어느 하나, 및 CPU에 대한 현재 주기의 자원 예약량(
Figure 112020102362707-pat00086
)을 이용하여 CPU에 대한 다음 주기의 예상 자원 예약량(
Figure 112020102362707-pat00087
)을 계산할 수 있다.
적응적 자원 예약 모듈(350)은 GPU 자원 중 현재 설정 가능한 모든 자원량인 복수의 설정 가능한 자원량들(
Figure 112020102362707-pat00088
) 중에서 어느 하나, 및 GPU에 대한 현재 주기의 자원 예약량(
Figure 112020102362707-pat00089
)을 이용하여 GPU에 대한 다음 주기의 예상 자원 예약량(
Figure 112020102362707-pat00090
)을 계산할 수 있다.
적응적 자원 예약 모듈(350)은 현재 설정 가능한 모든 자원량인 복수의 설정 가능 자원량들(
Figure 112020102362707-pat00091
) 중 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값(
Figure 112020102362707-pat00092
)이 가장 작은 값을 가진 어느 하나에 대응하는 클라우드 자원에 대한 다음 주기의 예상 자원 예약량(
Figure 112020102362707-pat00093
Figure 112020102362707-pat00094
)을 클라우드 자원에 대한 다음 주기의 자원 예약량(
Figure 112020102362707-pat00095
Figure 112020102362707-pat00096
)으로 결정할 수 있다.
적응적 자원 예약 모듈(350)은 CPU에 대한 다음 주기의 예상 자원 예약량(
Figure 112020102362707-pat00097
), GPU에 대한 다음 주기의 예상 자원 예약량(
Figure 112020102362707-pat00098
), CPU에 대한 평균 자원 사용률(
Figure 112020102362707-pat00099
), 및 GPU에 대한 평균 자원 사용률(
Figure 112020102362707-pat00100
)에 기초하여, 다음 주기의 예상 자원 예약량의 비율과 평균 자원 사용률의 비율의 차이를 나타내는 CPU에 대한 패널티 값(
Figure 112020102362707-pat00101
)을 계산할 수 있다.
적응적 자원 예약 모듈(350)은 CPU에 대한 자원 비용(
Figure 112020102362707-pat00102
), CPU에 대한 가상 큐(1000;
Figure 112020102362707-pat00103
), CPU에 대한 복수의 설정 가능 자원량들(
Figure 112020102362707-pat00104
) 중에서 어느 하나 및 CPU에 대한 패널티 값(
Figure 112020102362707-pat00105
)에 기초하여 CPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값(
Figure 112020102362707-pat00106
)을 계산할 수 있다.
적응적 자원 예약 모듈(350)은 GPU에 대한 다음 주기의 예상 자원 예약량(
Figure 112020102362707-pat00107
), GPU에 대한 다음 주기의 예상 자원 예약량(
Figure 112020102362707-pat00108
), CPU에 대한 평균 자원 사용률(
Figure 112020102362707-pat00109
), 및 GPU에 대한 평균 자원 사용률(
Figure 112020102362707-pat00110
)에 기초하여, 다음 주기의 예상 자원 예약량의 비율과 평균 자원 사용률의 비율의 차이를 나타내는 GPU에 대한 패널티 값(
Figure 112020102362707-pat00111
)을 계산할 수 있다.적응적 자원 예약 모듈(350)은 GPU에 대한 자원 비용(
Figure 112020102362707-pat00112
), GPU에 대한 가상 큐(
Figure 112020102362707-pat00113
), GPU에 대한 복수의 설정 가능 자원량들(
Figure 112020102362707-pat00114
) 중에서 어느 하나 및 GPU에 대한 패널티 값(
Figure 112020102362707-pat00115
)에 기초하여 GPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값(
Figure 112020102362707-pat00116
)을 계산할 수 있다.
적응적 자원 예약 모듈(350)은 CPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값(
Figure 112020102362707-pat00117
) 및 GPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값(
Figure 112020102362707-pat00118
)에 기초하여, 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값(
Figure 112020102362707-pat00119
)을 계산할 수 있다.
적응적 자원 예약 모듈(350)은 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 하한 값(
Figure 112020102362707-pat00120
) 및 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값(
Figure 112020102362707-pat00121
)을 비교할 수 있다.
적응적 자원 예약 모듈(350)은 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값(
Figure 112020102362707-pat00122
)이 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 하한 값(
Figure 112020102362707-pat00123
) 미만인 때, 클라우드 자원에 에 대한 다음 주기의 예상 자원 예약량(
Figure 112020102362707-pat00124
Figure 112020102362707-pat00125
)을 클라우드 자원에 대한 다음 주기의 자원 예약량(
Figure 112020102362707-pat00126
Figure 112020102362707-pat00127
)으로 결정할 수 있다.
적응적 자원 예약 모듈(350)은 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값(
Figure 112020102362707-pat00128
)을 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 하한 값(
Figure 112020102362707-pat00129
)으로 저장할 수 있다.
적응적 자원 예약 모듈(350)은 클라우드 자원에 대한 복수의 설정 가능 자원량들(
Figure 112020102362707-pat00130
,
Figure 112020102362707-pat00131
)에 대하여 알고리즘 1(Algorithm 1)의 4단계(4 :) 내지 17단계(17 :)를 반복하여 수행할 수 있다.
적응적 자원 예약 모듈(350)은 클라우드 자원에 대한 복수의 설정 가능 자원량들(
Figure 112020102362707-pat00132
,
Figure 112020102362707-pat00133
)에 대하여 알고리즘 1(Algorithm 1)의 4단계(4 :) 내지 17단계(17 :)를 반복하여 수행한 결과, 저장된 클라우드 자원에 대한 다음 주기의 자원 예약량(
Figure 112020102362707-pat00134
,
Figure 112020102362707-pat00135
)을 출력할 수 있다.
도 4는 클라우드 자원 관리 장치의 동작에 대한 순서도를 나타낸다.
클라우드 자원 관리 장치(10)는 클라우드 자원에 대한 자원 비용, 현재 주기의 자원 예약량, 직전 주기의 자원 사용량 및 평균 자원 사용률을 수신할 수 있다(410).
클라우드 자원 관리 장치(10)는 현재 주기의 자원 예약량 및 직전 주기의 자원 사용량을 이용하여 클라우드 자원에 대한 가상 큐(virtual queue)를 계산할 수 있다(420).
클라우드 자원 관리 장치(10)는 클라우드 자원 중 현재 설정 가능한 모든 자원량인 복수의 설정 가능 자원량들 중에서 어느 하나, 및 현재 주기의 자원 예약량을 이용하여 클라우드 자원에 대한 다음 주기의 예상 자원 예약량을 계산할 수 있다(430).
클라우드 자원 관리 장치(10)는 다음 주기의 예상 자원 예약량, 평균 자원 사용률, 자원 비용, 가상 큐, 및 현재 설정 가능한 모든 자원량인 복수의 설정 가능 자원량들 중에서 어느 하나에 기초하여 클라우드 자원에 대한 다음 주기의 자원 예약량을 적응적으로 조절할 수 있다(440).
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (18)

  1. 클라우드 자원 관리 장치가 클라우드 자원에 대한 자원 비용, 현재 주기의 자원 예약량, 직전 주기의 자원 사용량 및 평균 자원 사용률을 수신하는 단계;
    상기 클라우드 자원 관리 장치가 상기 현재 주기의 자원 예약량 및 상기 직전 주기의 자원 사용량을 이용하여 상기 클라우드 자원에 대한 가상 큐(virtual queue)를 계산하는 단계;
    상기 클라우드 자원 관리 장치가 상기 클라우드 자원 중 현재 설정 가능한 모든 자원량인 복수의 설정 가능 자원량들 중에서 어느 하나, 및 상기 현재 주기의 자원 예약량을 이용하여 상기 클라우드 자원에 대한 다음 주기의 예상 자원 예약량을 계산하는 단계; 및
    상기 클라우드 자원 관리 장치가 상기 다음 주기의 예상 자원 예약량, 상기 평균 자원 사용률, 상기 자원 비용, 상기 클라우드 자원에 대한 가상 큐, 및 상기 어느 하나에 기초하여 상기 클라우드 자원에 대한 다음 주기의 자원 예약량을 적응적으로 조절하는 단계
    를 포함하고,
    상기 조절하는 단계는,
    CPU에 대한 다음 주기의 예상 자원 예약량, GPU에 대한 다음 주기의 예상 자원 예약량, 상기 CPU에 대한 평균 자원 사용률, 상기 GPU에 대한 평균 자원 사용률, 상기 CPU에 대한 자원 비용, 상기 CPU에 대한 가상 큐, 및 상기 CPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나에 기초하여 상기 CPU 및 상기 GPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 계산함으로써 상기 다음 주기의 자원 예약량을 적응적으로 조절하는 단계
    를 포함하는, 클라우드 자원 관리 방법.
  2. 제1항에 있어서,
    상기 척도 예상 값을 계산함으로써 상기 다음 주기의 자원 예약량을 적응적으로 조절하는 단계는,
    상기 척도 예상 값이, 상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 하한 값 미만인지 여부에 따라 상기 예상 자원 예약량을 상기 클라우드 자원에 대한 다음 주기의 자원 예약량으로 결정하는 단계
    를 포함하는 클라우드 자원 관리 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 가상 큐를 계산하는 단계는,
    상기 CPU에 대한 현재 주기의 자원 예약량 및 상기 CPU에 대한 직전 주기의 자원 사용량을 이용하여 상기 CPU에 대한 가상 큐를 계산하는 단계; 및
    상기 GPU에 대한 현재 주기의 자원 예약량 및 상기 GPU에 대한 직전 주기의 자원 사용량을 이용하여 상기 GPU에 대한 가상 큐를 계산하는 단계
    를 포함하는 클라우드 자원 관리 방법.
  5. 제4항에 있어서,
    상기 다음 주기의 예상 자원 예약량을 계산하는 단계는,
    상기 CPU의 자원에 대해 현재 설정 가능한 모든 자원량인 상기 CPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나, 및 상기 CPU에 대한 현재 주기의 자원 예약량을 이용하여 상기 CPU에 대한 다음 주기의 예상 자원 예약량을 계산하는 단계; 및
    상기 GPU의 자원에 대해 현재 설정 가능한 모든 자원량인 상기 GPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나, 및 상기 GPU에 대한 현재 주기의 자원 예약량을 이용하여 상기 GPU에 대한 다음 주기의 예상 자원 예약량을 계산하는 단계
    를 포함하는 클라우드 자원 관리 방법.
  6. 삭제
  7. 제1항에 있어서,
    상기 척도 예상 값을 계산함으로써 상기 다음 주기의 자원 예약량을 적응적으로 조절하는 단계는,
    상기 CPU에 대한 다음 주기의 예상 자원 예약량, 상기 GPU에 대한 다음 주기의 예상 자원 예약량, 상기 CPU에 대한 평균 자원 사용률, 및 상기 GPU에 대한 평균 자원 사용률에 기초하여, 다음 주기의 예상 자원 예약량의 비율과 평균 자원 사용률의 비율의 차이를 나타내는 패널티(panelty) 값을 계산하는 단계; 및
    상기 CPU에 대한 자원 비용, 상기 CPU에 대한 가상 큐, 상기 CPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나 및 상기 패널티 값에 기초하여 상기 척도 예상 값을 계산하는 단계
    를 포함하는 클라우드 자원 관리 방법.
  8. 삭제
  9. 제2항에 있어서,
    상기 클라우드 자원에 대한 다음 주기의 자원 예약량으로 결정하는 단계는,
    상기 CPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값 및 상기 GPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값에 기초하여, 상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 계산하는 단계;상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값이, 상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 하한 값 미만인 때, 상기 CPU에 대한 다음 주기의 예상 자원 예약량 및 상기 GPU에 대한 다음 주기의 예상 자원 예약량을 상기 CPU에 대한 다음 주기의 자원 예약량 및 상기 GPU에 대한 다음 주기의 자원 예약량으로 결정하는 단계; 및
    상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 하한 값으로 저장하는 단계를 포함하는 클라우드 자원 관리 방법.
  10. 클라우드 자원 관리를 위한 인스트럭션들을 저장하는 메모리; 및
    상기 인스트럭션들을 실행하기 위한 프로세서
    를 포함하고,
    상기 인스트럭션들이 상기 프로세서에 의해 실행될 때, 상기 프로세서는,
    클라우드 자원에 대한 자원 비용, 현재 주기의 자원 예약량, 직전 주기의 자원 사용량 및 평균 자원 사용률을 수신하고,
    상기 현재 주기의 자원 예약량 및 상기 직전 주기의 자원 사용량을 이용하여 상기 클라우드 자원에 대한 가상 큐(virtual queue)를 계산하고,
    상기 클라우드 자원 중 현재 설정 가능한 모든 자원량인 복수의 설정 가능 자원량들 중에서 어느 하나, 및 상기 현재 주기의 자원 예약량을 이용하여 상기 클라우드 자원에 대한 다음 주기의 예상 자원 예약량을 계산하고,
    상기 다음 주기의 예상 자원 예약량, 상기 평균 자원 사용률, 상기 자원 비용, 상기 클라우드 자원에 대한 가상 큐, 및 상기 어느 하나에 기초하여 상기 클라우드 자원에 대한 다음 주기의 자원 예약량을 적응적으로 조절하고,
    CPU에 대한 다음 주기의 예상 자원 예약량, GPU에 대한 다음 주기의 예상 자원 예약량, 상기 CPU에 대한 평균 자원 사용률, 상기 GPU에 대한 평균 자원 사용률, 상기 CPU에 대한 자원 비용, 상기 CPU에 대한 가상 큐, 및 상기 CPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나에 기초하여 상기 CPU 및 상기 GPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 계산함으로써 상기 다음 주기의 자원 예약량을 적응적으로 조절하는,
    클라우드 자원 관리 장치.
  11. 제10항에 있어서,
    상기 프로세서는,
    상기 척도 예상 값이, 상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 하한 값 미만인지 여부에 따라 상기 예상 자원 예약량을 상기 클라우드 자원에 대한 다음 주기의 자원 예약량으로 결정하는
    클라우드 자원 관리 장치.
  12. 삭제
  13. 제10항에 있어서,
    상기 프로세서는,
    상기 CPU에 대한 현재 주기의 자원 예약량 및 상기 CPU에 대한 직전 주기의 자원 사용량을 이용하여 상기 CPU에 대한 가상 큐를 계산하고,
    상기 GPU에 대한 현재 주기의 자원 예약량 및 상기 GPU에 대한 직전 주기의 자원 사용량을 이용하여 상기 GPU에 대한 가상 큐를 계산하는
    클라우드 자원 관리 장치.
  14. 제13항에 있어서,
    상기 프로세서는,
    상기 CPU의 자원에 대해 현재 설정 가능한 모든 자원량인 상기 CPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나, 및 상기 CPU에 대한 현재 주기의 자원 예약량을 이용하여 상기 CPU에 대한 다음 주기의 예상 자원 예약량을 계산하고,
    상기 GPU의 자원에 대해 현재 설정 가능한 모든 자원량인 상기 GPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나, 및 상기 GPU에 대한 현재 주기의 자원 예약량을 이용하여 상기 GPU에 대한 다음 주기의 예상 자원 예약량을 계산하는
    클라우드 자원 관리 장치.
  15. 삭제
  16. 제10항에 있어서,
    상기 프로세서는,
    상기 CPU에 대한 다음 주기의 예상 자원 예약량, 상기 GPU에 대한 다음 주기의 예상 자원 예약량, 상기 CPU에 대한 평균 자원 사용률, 및 상기 GPU에 대한 평균 자원 사용률에 기초하여, 다음 주기의 예상 자원 예약량의 비율과 평균 자원 사용률의 비율의 차이를 나타내는 패널티(panelty) 값을 계산하고,
    상기 CPU에 대한 자원 비용, 상기 CPU에 대한 가상 큐, 상기 CPU에 대한 복수의 설정 가능 자원량들 중에서 어느 하나 및 상기 패널티 값에 기초하여 상기 척도 예상 값을 계산하는
    클라우드 자원 관리 장치.
  17. 삭제
  18. 제11항에 있어서,
    상기 CPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값 및 상기 GPU에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값에 기초하여, 상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 계산하고,
    상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값이, 상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 하한 값 미만인 때, 상기 CPU에 대한 다음 주기의 예상 자원 예약량 및 상기 GPU에 대한 다음 주기의 예상 자원 예약량을 상기 CPU에 대한 다음 주기의 자원 예약량 및 상기 GPU에 대한 다음 주기의 자원 예약량으로 결정하고,
    상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 예상 값을 상기 클라우드 자원에 대한 가상 큐의 안정성 및 병목 해소를 위한 척도 하한 값으로 저장하는
    클라우드 자원 관리 장치.
KR1020200124693A 2019-12-23 2020-09-25 클라우드 자원 간 간섭 및 병목 현상 해소를 위한 클라우드 자원의 적응적 관리 방법 및 장치 KR102261263B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190173197 2019-12-23
KR20190173197 2019-12-23

Publications (1)

Publication Number Publication Date
KR102261263B1 true KR102261263B1 (ko) 2021-06-07

Family

ID=76374802

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200124693A KR102261263B1 (ko) 2019-12-23 2020-09-25 클라우드 자원 간 간섭 및 병목 현상 해소를 위한 클라우드 자원의 적응적 관리 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102261263B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022320A (zh) * 2022-05-31 2022-09-06 中国银行股份有限公司 云资源服务器的确定方法、装置、设备和介质
KR20230075634A (ko) * 2021-11-23 2023-05-31 (주) 글루시스 쿠버네티스 포드를 위한 자원 프로비저닝 방법
CN117116200A (zh) * 2023-10-23 2023-11-24 广州市惠正信息科技有限公司 一种led显示屏分辨率的调节方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130114697A (ko) * 2011-01-05 2013-10-17 알까뗄 루슨트 기업 애플리케이션의 끊김없는 스케일링
KR101471749B1 (ko) * 2013-03-27 2014-12-12 인하대학교 산학협력단 클라우드 서비스의 가상자원 할당을 위한 퍼지 로직 기반의 자원평가 장치 및 방법
KR20180029635A (ko) * 2016-09-13 2018-03-21 주식회사 케이티 자원 예측 장치 및 클라우드 서버
KR101883599B1 (ko) * 2017-04-24 2018-08-30 세종대학교산학협력단 클라우드 컴퓨팅 환경에서 가상화 자원 분배 방법 및 장치
KR20190055613A (ko) * 2017-11-15 2019-05-23 한국전자통신연구원 클라우드 컴퓨팅 시스템에서의 자원 제어 장치 및 방법
US20190303203A1 (en) * 2017-03-24 2019-10-03 Shanghai Jiao Tong University Adaptive computing resource allocation approach for virtual network functions

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130114697A (ko) * 2011-01-05 2013-10-17 알까뗄 루슨트 기업 애플리케이션의 끊김없는 스케일링
KR101471749B1 (ko) * 2013-03-27 2014-12-12 인하대학교 산학협력단 클라우드 서비스의 가상자원 할당을 위한 퍼지 로직 기반의 자원평가 장치 및 방법
KR20180029635A (ko) * 2016-09-13 2018-03-21 주식회사 케이티 자원 예측 장치 및 클라우드 서버
US20190303203A1 (en) * 2017-03-24 2019-10-03 Shanghai Jiao Tong University Adaptive computing resource allocation approach for virtual network functions
KR101883599B1 (ko) * 2017-04-24 2018-08-30 세종대학교산학협력단 클라우드 컴퓨팅 환경에서 가상화 자원 분배 방법 및 장치
KR20190055613A (ko) * 2017-11-15 2019-05-23 한국전자통신연구원 클라우드 컴퓨팅 시스템에서의 자원 제어 장치 및 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230075634A (ko) * 2021-11-23 2023-05-31 (주) 글루시스 쿠버네티스 포드를 위한 자원 프로비저닝 방법
CN115022320A (zh) * 2022-05-31 2022-09-06 中国银行股份有限公司 云资源服务器的确定方法、装置、设备和介质
CN115022320B (zh) * 2022-05-31 2024-03-01 中国银行股份有限公司 云资源服务器的确定方法、装置、设备和介质
CN117116200A (zh) * 2023-10-23 2023-11-24 广州市惠正信息科技有限公司 一种led显示屏分辨率的调节方法及系统
CN117116200B (zh) * 2023-10-23 2023-12-29 广州市惠正信息科技有限公司 一种led显示屏分辨率的调节方法及系统

Similar Documents

Publication Publication Date Title
KR102261263B1 (ko) 클라우드 자원 간 간섭 및 병목 현상 해소를 위한 클라우드 자원의 적응적 관리 방법 및 장치
US10554577B2 (en) Adaptive resource scheduling for data stream processing
US8028286B2 (en) Methods and apparatus for scheduling threads on multicore processors under fair distribution of cache and other shared resources of the processors
Wang et al. Lass: Running latency sensitive serverless computations at the edge
Ghorbannia Delavar et al. HSGA: a hybrid heuristic algorithm for workflow scheduling in cloud systems
US10162684B2 (en) CPU resource management in computer cluster
EP2650786A2 (en) Distributed processing system, scheduler node and scheduling method of distributed processing system, and program generation apparatus thereof
US10372479B2 (en) Scheduling framework for tightly coupled jobs
US11150951B2 (en) Releasable resource based preemptive scheduling
US10193973B2 (en) Optimal allocation of dynamically instantiated services among computation resources
KR20170139872A (ko) 멀티 테넌트 기반의 서비스 제공 시스템 및 방법
US10929161B2 (en) Runtime GPU/CPU selection
WO2013178245A1 (en) A graphics processing unit controller, host system, and methods
US10721177B2 (en) Completion-side client throttling
KR20200054368A (ko) 전자 장치 및 이의 제어방법
US20190171489A1 (en) Method of managing dedicated processing resources, server system and computer program product
KR101702218B1 (ko) 역경매 방식 자원할당 장치를 포함하는 하이브리드 클라우드 서버 및 그 자원 할당 방법 및 시스템
CN110235105B (zh) 用于在受信任客户端组件中的服务器处理之后的客户端侧节流的系统和方法
KR101924467B1 (ko) 가상 머신의 cpu 및 블록 i/o 작업에 성능 보장을 위한 자원 할당 시스템 및 방법
WO2013178244A1 (en) A graphics processing unit controller, host system, and methods
US10956228B2 (en) Task management using a virtual node
Aluri et al. Priority based non-preemptive shortest job first resource allocation technique in cloud computing
KR101743028B1 (ko) 가상화 환경에서 네트워크 성능 차등화를 위한 동적 자원 할당 장치 및 방법
KR101733339B1 (ko) 사이버 물리 시스템을 위한 보안 제약 사항을 포함하는 실시간 스케줄링 장치 및 방법
Girase et al. Dynamic resource provisioning in Cloud Computing environment using priority based virtual machine's

Legal Events

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