KR101815148B1 - 설정 가능한 컴퓨팅 자원 할당 기술 - Google Patents

설정 가능한 컴퓨팅 자원 할당 기술 Download PDF

Info

Publication number
KR101815148B1
KR101815148B1 KR1020167020376A KR20167020376A KR101815148B1 KR 101815148 B1 KR101815148 B1 KR 101815148B1 KR 1020167020376 A KR1020167020376 A KR 1020167020376A KR 20167020376 A KR20167020376 A KR 20167020376A KR 101815148 B1 KR101815148 B1 KR 101815148B1
Authority
KR
South Korea
Prior art keywords
configurable computing
computing resources
score
weighted sum
allocation
Prior art date
Application number
KR1020167020376A
Other languages
English (en)
Other versions
KR20160102552A (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 인텔 코포레이션
Publication of KR20160102552A publication Critical patent/KR20160102552A/ko
Application granted granted Critical
Publication of KR101815148B1 publication Critical patent/KR101815148B1/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/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]
    • 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/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
    • 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/5072Grid computing
    • 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/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/501Performance criteria
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Power Sources (AREA)

Abstract

예는 설정 가능한 컴퓨팅 자원의 풀로부터 설정 가능한 컴퓨팅 자원을 논리 서버 또는 가상 머신에 할당하기 위한 기술을 포함할 수 있다. 논리 서버 또는 가상 머신은 할당된 설정 가능한 컴퓨팅 자원을 작업부하를 구현하거나, 실행하거나 또는 구동하기 위해 사용할 수 있다.

Description

설정 가능한 컴퓨팅 자원 할당 기술{TECHNIQUES TO ALLOCATE CONFIGURABLE COMPUTING RESOURCES}
관련 문헌
본 출원은 2014년 2월 27일자로 출원된 미국 가출원 제61/945,753호 및 제61/945,757호의 우선권을 주장하며, 이 가출원의 전체 내용은 본 출원에서 참조문헌으로 인용된다.
본 명세서에서 설명되는 실시예는 일반적으로 통합(pooled) 또는 설정 가능한 컴퓨팅 자원에 관한 것이다.
네트워킹에서 기술적인 발전은 통합 및/또는 설정 가능한 컴퓨팅 자원의 사용을 증가시켰다. 이러한 통합 및/또는 설정 가능한 컴퓨팅 자원은 클라우드 컴퓨팅 네트워크에 필요한 물리적인 인프라스트럭처를 포함할 수 있다. 물리적인 인프라스트럭처는 프로세서, 메모리, 스토리지, 네트워킹 등을 가진 하나 이상의 컴퓨터 시스템을 포함할 수 있다. 이러한 클라우드 컴퓨팅 네트워크의 관리 주체는 특정 형태의 애플리케이션과 같은 작업부하를 구현하거나, 실행하거나, 구동하는 논리 서버를 배치하거나 구성하기 위해 이러한 논리 서버 또는 가상 머신(virtual machine, VM)을 통합된 및/또는 설정 가능한 컴퓨팅 자원의 할당된 부분에 할당할 수 있다. 다양한 유형의 애플리케이션이나 애플리케이션 작업부하는 이와 같이 배치되거나 구성된 논리 서버에 액세스함으로써 이렇게 할당된 인프라스트럭처를 공유 방식으로 활용할 수 있다.
도 1은 예시적인 시스템을 도시한다.
도 2는 예시적인 데이터 센터/랙 관리 구조를 도시한다.
도 3은 예시적인 할당 득점 및 순위를 도시한다.
도 4는 예시적인 제 1 로직 흐름을 도시한다.
도 5는 예시적인 제 2 로직 흐름을 도시한다.
도 6은 예시적인 작업부하 템플릿을 도시한다.
도 7은 장치의 예시적인 블록도를 도시한다.
도 8은 제 3 로직 흐름의 예를 도시한다.
도 9는 저장 매체의 예를 도시한다.
도 10은 예시적인 컴퓨팅 플랫폼을 도시한다.
본 개시에서 예상되는 바와 같이, 다양한 형태의 애플리케이션이나 애플리케이션 작업부하는 선택된 통합 자원으로부터 구성될 수 있는 배치되거나 구성된 논리 서버 또는 VM에 액세스함으로써 할당된 인프라스트럭처를 공유된 방식으로 활용할 수 있다. 이와 같은 통합된 자원은 이것으로 제한되는 것은 아니지만, 중앙 처리 유닛(central processing unit, CPU) 유형, 메모리 유형, 스토리지 유형, 또는 네트워크 입력/출력(network input/output, NW I/O) 유형과 같은 하나 이상의 유형에 속하는 분해된 물리적인 요소 또는 컴포넌트로 구성된 설정 가능한 컴퓨팅 자원을 포함할 수 있다. 논리 서버 또는 VM을 구성하기 위해 이렇게 분해된 물리적 요소로부터 통합된 자원을 할당하는 가장 간단한 방법은 할당된 분해된 물리적 요소의 수명을 보장하는 라운드 로빈 접근방법을 사용하는 것이다. 현재 전체론적 방법으로 통합된 자원을 할당하는 알려진 방법은 존재하지 않으며, 그래서 핵심성과지표(key performance indicator, KPI)의 임의의 조합은 그저 자원 활용 면이 아니고 에너지 소비, 자원의 금융 비용 또는 성능 면에서 반영되고 있다.
랙 스케일 아키텍처(Rack Scale Architecture, RSA)는 들어오는 작업부하 요청을 구현하거나 실행하기 위해 분해된 물리적 자원의 풀(pool)로부터 논리적으로 구성된 서버를 포함한다. 이러한 RSA 서버는 대형 데이터 센터에서 활용될 수 있지만 최소한 두 가지 문제에 직면하고 있다. 첫 번째는 여러 이해 당사자 또는 사용자 및 이들의 요건(예를 들면, 전력, 성능, 유지 보수, 비용 등)이 만족되도록, 작업부하를 구현하거나, 실행하거나, 또는 구동하는 논리 서버 또는 VM을 구성하려는 분해된 물리적 요소의 초기 선택이다. 두 번째는 구성된 논리 서버 또는 VM에 의한 작업부하의 계속적인 실행 중에 요구되거나 지시된 KPI에 견주어 초기 할당의 성능을 유지하는 것이다. 구성된 논리 서버 또는 VM은 또한 소프트웨어 정의 인프라스트럭처(software defined infrastructure, SDI)의 부분일 수 있기 때문에, SDI-가능 데이터 센터는 작업부하를 구현하거나 실행하도록 동적으로 구성될 수 있는 RSA 서버를 포함할 수 있다. 동적으로 구성되는 결과로서, 단지 초기 할당뿐만 아니라 계속적인 최적화 또는 조정이 작업부하의 실행을 위한 실행 시간에서 고려되어야 한다. 이러한 계속적인 최적화 또는 조정은 또한 여러 이해관계자 또는 사용자 및 이들의 요건을 만족시키는 것을 기초로 할 수 있다. 이것은 본 명세서에 기재된 예가 필요한 이러한 과제 및/또는 다른 과제와 관련된다.
일부 예에서, 설정 가능한 컴퓨팅 자원을 할당하는 기술은 설정 가능한 컴퓨팅 자원의 시스템의 자원 관리자에서, 작업부하를 구현하거나 실행하는 논리 서버에 설정 가능한 컴퓨팅 자원을 할당하라는 요청을 수신하는 단계를 포함하는 것으로 구현될 수 있다. 본 기술은 또한 논리 서버에 할당하는데 이용 가능한 설정 가능한 컴퓨팅 자원 중의 제 1 부분에 대한 제 1의 가중 합 할당 점수를 결정하는 단계 및 논리 서버에 할당하는데 이용 가능한 설정 가능한 컴퓨팅 자원 중의 제 2 부분에 대한 제 2의 가중 합 할당 점수를 결정하는 단계를 포함할 수 있다. 본 기술은 또한 제 1 및 제 2 가중 합 할당 점수를 비교하여 제 2 부분에 대한 제 1 부분의 순위를 평가한 다음 그 순위에 기초하여 제 1 부분 또는 제 2 부분을 논리 서버에 할당하는 단계를 포함할 수 있다.
도 1은 예시적인 시스템(100)을 도시한다. 도 1에서 도시된 바와 같이, 시스템(100)은 랙(110), 자원 풀(120) 및 배치(130)를 포함한다. 일부의 예에서, 도 1에서 도시된 바와 같이, 랙(110)은 랙(112-1, 즉 112-1 내지 112-n)을 포함할 수 있으며, 여기 "n"은 2보다 큰 임의의 양의 정수이다. 각각의 랙은 다양한 설정 가능한 컴퓨팅 자원을 포함할 수 있다. 이러한 설정 가능한 컴퓨팅 자원은 여러 유형의 분해된 물리적 자원을 포함할 수 있다. 분해된 물리적 자원의 유형은 이것으로 제한되는 것은 아니지만, CPU 유형, 메모리 유형(예를 들면, 랜덤 액세스 메모리(Random Access Memory, RAM), 스토리지 유형(예를 들면, 하드 디스크 또는 솔리드 스테이트 드라이브), NW I/O 유형(예를 들면, 네트워크 인터페이스 카드), 전력 유형(예를 들면, 파워 브릭(power brick), 냉각 유형(예를 들면, 팬 또는 냉각제), 또는 기타 유형의 자원(예를 들면, 네트워크 스위치 유형)을 포함할 수 있다. 이러한 설정 가능한 컴퓨팅 자원은 자원 풀(120)과 같은 자원 풀에서 (예를 들면, 자원 관리자 또는 컨트롤러에게) 이용 가능할 수 있다.
일부 예에 따르면, 아래에서 더 설명되는 바와 같이, 시스템(100)과 같은 시스템의 자원 관리자, 컨트롤러 또는 스케줄러의 로직 및/또는 특징은 논리 서버 또는 VM에 할당하는데 이용 가능할 수 있는 자원 풀(120)과 같은 자원 풀에 포함된 다양한 설정 가능한 컴퓨팅 자원의 점수를 매긴 다음 순위를 평가할 수 있다. 예를 들면, 논리 서버 또는 VM은 작업부하를 구현하거나 실행하기 위해 구성될 수 있다. 할당에 점수를 매긴 다음 순위를 평가하는 것은 배치(130)를 위해 할당된 것과 같은 논리 서버 또는 VM의 배치 또는 구성을 지원하는 자원 풀 내의 가용의 설정 가능한 컴퓨팅 자원의 최소한 일부분을 할당하기 위해 사용될 수 있다. 도 1에서 도시된 바와 같이, 배치(130)는 논리 서버/VM(132-1 내지 132-m)을 포함하며, 여기서 "m"은 3보다 큰 임의의 양의 정수이다. 예를 들면, 순위 평가는 전력, 성능, 비용, 가용성, 또는 유지관리 요건을 충족하도록 시도되어 시스템(100)으로 하여금 설정 가능한 컴퓨팅 자원 중 할당된 부분의 수정을 일으킬 수 있는 각종 동작 시나리오에 기인하여 아마도 동적인 수요로 인해 장기간에 걸쳐 어느 정도 균형되게 유지하려 시도할 수 있다. 그래서 할당된 부분의 수정이 필요할 수 있다.
일부 예에서, 아래에서 더 많이 설명되는 바와 같이, 시스템(100)과 같은 서비스의 자원 관리자, 컨트롤러 또는 스케줄러의 로직 및/또는 특징은 또한 논리 서버 또는 VM이 작업부하를 구현, 구동 또는 실행하는 동안 논리 서버 또는 VM을 구성하거나 배치하기 위해 할당된 각각의 설정 가능한 컴퓨팅 자원에 대한 복수의 동작 속성을 모니터링할 수 있다. 이러한 예에서, 로직 및/또는 특징은 동작하는 설정 가능한 컴퓨팅 자원의 점수를 매기고 그런 다음 이전에 작업부하를 구현하거나 실행하기 위해 할당되었던 설정 가능한 컴퓨팅 자원의 하나 이상의 다른 부분에 대해 결정된 하나 이상의 과거 동작 점수와 비교된 그 동작 점수의 순위를 평가할 수 있다. 이와 같이 할당된 설정 가능한 컴퓨팅 자원은 이러한 순위에 기초하여 수정될 수 있거나 수정되지 않을 수 있다. 예를 들면, 만일 제 1의 할당된 설정 가능한 컴퓨팅 자원의 순위가 다른 설정 가능한 컴퓨팅 자원의 과거 동작 점수보다 낮은 순위로 평가되면, 제 1의 할당된 설정 가능한 컴퓨팅 자원은 새로운 설정 가능한 컴퓨팅 자원으로 대체될 수 있다.
일부 예에 따르면, 도 1에서 도시된 바와 같은 배치(130)에 필요한 각각의 논리 서버는 하나 이상의 VM을 포함할 수 있다. 이러한 예에서, 각각의 VM에는 할당된 설정 가능한 컴퓨팅 자원의 일부분이 할당될 수 있다. 다른 예에서, 할당된 설정 가능한 컴퓨팅 자원은 특정 VM에 직접 할당될 수 있다.
도 2는 예시적인 데이터 센터/랙 관리 구조(200)를 도시한다. 일부 예에서, 도 2에서 도시된 바와 같이, 랙 관리 구조(200)는 도 1에서 도시된 시스템(100)과 유사한 요소를 가진 데이터 센터를 관리하는 여러 관리자 및 응용 프로그래밍 인터페이스(application programing interface, API)를 포함한다. 예를 들면, 공통 클라우드 서비스(210)는 POD 관리자(230)와 통신하기 위해 도 2에서 공통 서비스 애플리케이션 인터페이스(API)(220)로서 도시된 서비스 편성 인터페이스를 통해 인터페이스할 수 있다. POD 관리자(230)는 여러 유형의 분해된 물리적 요소를 포함하는 복수의 랙을 관리할 수 있다.
일부 예에 따르면, POD 관리자(230)는 설정 가능한 컴퓨팅 자원을 공통 클라우드 서비스(210)와 연관될 수 있는 작업부하를 구현하거나 실행하는 논리 서버 또는 VM에 할당하라는 공통 클라우드 서비스(210)로부터의 요청에 응답하여 이러한 분해된 물리적 자원의 점수를 매기고, 순위를 평가하고 할당할 수 있는 로직 및/또는 특징을 포함하는 자원 관리자(201)를 포함할 수 있다. 예를 들면, 작업부하는 이것으로 제한되는 것은 아니지만, 비디오 프로세싱, 암호화/복호화, 웹 서버, 콘텐츠 전송 또는 데이터베이스와 같은 애플리케이션 작업부하일 수 있다. 아래에서 더 많이 설명되는 바와 같이, 자원 관리자(201)는 어떤 설정 가능한 컴퓨팅 자원이 할당되었으며 또한 공통 클라우드 서비스(210)로부터 후속 요청에 응답하여 어떤 설정 가능한 컴퓨팅 자원이 할당하는데 이용 가능할 수 있는지를 추적하는 자원 카탈로그(203)를 유지할 수 있다.
일부 예에서, 도 2에서 도시된 바와 같이, POD 관리자(230)는 RSA 관리 서비스 API(240)를 레스트(representational state transfer, REST) API(252-1 내지 252-4)를 통해 랙 제어 평면 관리자(rack control plane manager, RCPM)(250)에 연결할 수 있다. REST API(252-1 내지 252-4)는 RCPM(250)과 랙 레벨에서 설정 가능한 컴퓨팅 자원으로의 액세스를 제공하는 POD 관리자(230)를 포함하는 하나 이상의 POD 관리자 사이에서 유지되는 인프라스트럭처 편성 인터페이스의 일부일 수 있다. 이러한 액세스는 랙에서 유지되는 분해된 물리적 요소는 물론이고 이러한 분해된 물리적 요소에 대해 수집된 동작 속성을 포함할 수 있는 이들 랙에서 이용된 기술의 메타데이터에 액세스하는 것을 포함할 수 있다. 일부 예에 따르면, RCPM(250)은 또한 작업부하를 구현하거나 실행하는 논리 서버 또는 VM을 구성하거나 배치하라는 요청에 응답하여 가용 자산을 신속히 식별 처리하고 설정 가능한 컴퓨팅 자원을 할당하기 위해 물리적 및 논리적 자산 요소들(asset landscape)에 액세스하는 것 또는 로컬 제어 관리 데이터 베이스(local control management data base, CMDB)를 통해 맵핑하는 것을 제공할 수 있다.
일부 예에 따르면, RCPM(250)은 발견, 예약, 폴링, 모니터링, 스케줄링 및 사용과 같은 여러 기본적인 기능을 이행하기 위해 랙 레벨 사용자 인터페이스를 제공할 수 있다. 또한 이러한 예에서, RCPM(250)은 다중-랙 아키텍처 내 상위 차수의 컴퓨팅 자원의 어셈블리를 위해 (예를 들면, 작업부하를 실행하기 위해) 활용될 수 있다.
일부 예에서, RCPM(250)은 자기의 관리 하의 자산을 자원 관리자(201)를 포함하는 POD 관리자(230)에게 보고할 수 있다. 이러한 예에서, 자원 관리자(201)는 POD 관리자(230)에 의해 관리되는 랙의 POD에 포함된 모드 랙으로부터 전체의 물리적 자산 요소 구조를 단일의 멀티-랙 자산 관점으로 집계할 때 POD 관리자(230)를 보조할 수 있는 로직 및/또는 특징을 포함할 수 있다. 일부 예에 따르면, RCPM(250)은 REST API(252-1 내지 252-4)를 통해 POD 관리자(230)로부터의 요청을 수신하고/수신하거나 그 요청에 응답할 수 있다.
RCPM(250)은 또한 펌웨어(firmware, FM) API(254-1 내지 254-4)를 통해 각종 유형의 분해된 물리적 요소를 포함하는 설정 가능한 컴퓨팅 자원과 인터페이스할 수 있다. 예를 들면, 다양한 유형의 분해된 물리적 자원은 도 2에서 네트워크 I/O(260-1), CPU(260-2), 스토리지(260-3), 및 메모리(260-4)로서 도시된다. 컨트롤러(262-1 내지 262-4)는 RCPM(250)과 이러한 여러 유형의 분해된 물리적 자원 사이의 통신을 용이하게 하기 위해 또는 가능하게 하기 위해 각각의 FW API(254-1 내지 254-4)와 인터페이스할 수 있다. 일부 예에서, 컨트롤러(262-1 내지 262-4)는 이것으로 제한되는 것은 아니지만, 프로세서 또는 베이스보드 관리 컨트롤러(baseboard management controller, BMC)를 포함할 수 있다.
일부 예에 따르면, POD 관리자(230)는 시스템(100)의 랙(112-1 내지 112-n)과 같은 복수의 랙에서 유지되는 설정 가능한 컴퓨팅 자원의 일부분을 할당하라는 요청을 수신할 수 있다. 이러한 예에서, POD 관리자(230)는 공통 서비스 API(210)를 통해 오픈 가상화 포맷(Open Virtualization Format, OVF)과 같은 표준화된 프로토콜 포맷의 요청을 수신할 수 있다. OVF는 작업부하의 유형의 힌트(예를 들면, 메타데이터)를 포함할 수 있다. POD 관리자(230)는 작업부하를 구현하거나 실행하는 논리 서버 또는 VM을 배치하거나 구성하는데 무슨 하드웨어 구성이 필요한지를 결정할 수 있다. 그런 다음 POD 관리자(230)는 그 요청을 포워딩하여 아마도 필요한 하드웨어 구성을 자원 관리자(201)에게 표시할 수 있다. 예를 들면, 설정 가능한 컴퓨팅 자원의 구성은 작업부하를 구현하거나, 구동하거나 실행하는데 필요한 CPU, 메모리, 스토리지 및 NW I/O와 같은 여러 유형의 분해된 물리적 자원을 포함한다.
일부 예에서, 자원 관리자(201)의 로직 및/또는 특징은 작업부하를 구현하거나, 구동하거나 실행하는 분해된 물리적 요소 구성을 충족하는 이러한 가용의 설정 가능한 컴퓨팅 자원을 할당하기 위해 도 1에서 도시된 자원 풀(120)과 같은 자원 풀에 포함된 가용의 설정 가능한 컴퓨팅 자원의 점수를 매기고 순위를 평가할 수 있다. 이러한 예에서, 할당 득점은 수학식 1을 이용하여 결정된 가중 합을 적용하는 것에 기초할 수 있다.
Figure 112016072387817-pct00001
예시적인 수학식 1에서, 할당 득점 또는 Si는 각 자원의 최대 값(ri,max) 곱하기 가중치(mi)로 정규화된 설정 가능한 컴퓨팅 자원(ri) (CPU, 메모리, 스토리지, NW I/O, 전력, 냉방 등)의 합이다. 가중치(mi)는 (예를 들면, 사용자에 의해) 설정 가능한 컴퓨팅 자원의 어떤 속성이 설정 가능한 컴퓨팅 자원의 다른 속성보다 우선순위를 갖게 할 수 있다. 일부 예에서, ri,max는 이것으로 제한되는 것은 아니지만, 하나 이상의 가입자 라이선스 계약(subscriber licensing agreement, SLA), 제조업체의 최대 사양 또는 검사된 동작 파라미터나 속성을 기초로 할 수 있다. 일부 예에서, 성능 값(ri,max)은 자원(ri)으로부터 예를 들면, 기본 입력/출력 시스템(basic input/output system, BIOS), 적합한 제조업체 판독 전용 메모리(read-only memory, ROM) 또는 SLA로부터 자동으로 취득될 수 있다. 다른 예에서, ri,max 는 기능성을 반영하기 위해 동적으로 조절될 수 있다. 예를 들면, 랙에서 사용된 센서(예를 들면, SMART 센서)가 고장 또는 수명 마감 값을 앞지를 때는 하드 드라이브와 같은 저장 자원의 ri,max를 줄임으로써 조절될 수 있다.
일부 예에 따르면, 자원 풀에 포함된 설정 가능한 컴퓨팅 자원은 상이한 트레이 및/또는 랙에서 유지되는 분해된 물리적 자원일 수 있다. 이러한 예에서, RCPM(150)은 각각의 설정 가능한 컴퓨팅 자원에 대해 실시간으로 속성을 추적할 수 있다. 예를 들면, 하나 이상의 NW I/O는 네트워크 I/O(260-1)와 함께 포함되었고, 하나 이상의 CPU는 CPU(260-2)와 함께 포함되었고, 하나 이상의 스토리지 디바이스는 스토리지(260-3)와 함께 포함되었고, 또는 하나 이상의 메모리 디바이스는 메모리(260-4)와 함께 포함되었다. 속성은 이것으로 제한되는 것은 아니지만, 온도(섭씨 t), 전력/에너지 소비량(킬로볼트-암페어(kvA) e), 총 가동 시간(시간 u), 또는 단위 비용(US$ c)를 포함할 수 있다.
일부 예에서, 작업부하를 구현하거나 실행하는 논리 서버 또는 VM에 설정 가능한 컴퓨팅 자원을 할당하라는 요청은 공통 클라우드 서비스(210)로부터 수신될 수 있다. 이러한 예에서, POD 관리자(230)에서의 로직 및/또는 특징은 작업부하가 1 x CPU, 2 기가바이트(GB)의 RAM, 1 테라바이트(TB)의 스토리지 및 10 기가바이트(Gb) 수행가능 NW I/O 디바이스 또는 NIC를 필요로 할 것이라고 결정할 수 있다. 또한, 요청은 이러한 설정 가능한 컴퓨팅 자원의 각각의 속성이 특정 방식으로 가중되게 할 수 있는 템플릿을 표시할 수 있다.
일부 예에 따르면, 템플릿은 이것으로 제한되는 것은 아니지만, "비용 민감" 템플릿, "성능 민감" 템플릿, 또는 "높은 가용성" 템플릿을 포함할 수 있다. 요청에서 표시된 템플릿은 각 속성마다 가중치 또는 승수(m, m = 1)를 설정할 수 있다. 비용 민감 템플릿은 mt=0.2, mp =0.2, mu=0.1, mc=0.5이라는 가중치를 가질 수 있다. 비용 민감 템플릿은 단위 비용(c)에 대해 최고의 가중치를 유발할 수 있다. 성능 민감 템플릿은 mt=0.2, mp=0.1, mu=0.6, mc=0.1이라는 가중치를 가질 수 있다. 성능 민감 템플릿은 총 가동 시간(u)에 대해 최고의 가중치를 유발할 수 있지만 단위 비용(u) 및 전력/에너지 소비량(p)에 대해서는 낮은 상대적 가중치를 가질 수 있다. 높은 가용성 템플릿은 mt=0A, mp=0.1, mu=0.7, mc=0.1라는 가중치를 가질 수 있다. 높은 가용성 템플릿은 총 가동 시간(u)에 대해 최고의 가중치를 유발할 수 있지만 다른 모든 속성에 대해서는 낮은 상대적 가중치를 가질 수 있다. 균형을 이룬 템플릿은 mt=0.25, mp=0.25, ma=0.25, mc=0.25라는 균형을 이룬 가중치를 가질 수 있다.
일부 예에서, POD 관리자(230)에서 자원 관리자(201)는 예시적인 수학식 2를 이용하고 i보다 최저 점수를 갖는 각각의 가용의 설정 가능한 컴퓨팅 자원에 대해 가중 합 할당 점수(weighted sum allocation score)를 결정하는 로직 및/또는 특징을 포함할 수 있다.
Figure 112016072387817-pct00002
도 3은 예시적인 할당 점수 득점 및 순위(300)를 도시한다. 일 예에서, CPU, 메모리, 스토리지 및 NW I/O에 대한 속성(t, p, u 및 c)의 임의의 값에 기초하여, CPU 순위(310), 메모리 순위(320), 스토리지 순위(330), 및 네트워크 순위(340)가 예시적인 수학식 2를 이용하여 생성될 수 있다. 이러한 예에서, 각 유형의 분해된 물리적 자원의 최저 할당 점수는 같은 유형의 가용의 설정 가능한 컴퓨팅 자원 중에서 최고 순위를 표시하기 위해 볼드체로 표시된다. 예를 들면, 최저의 할당 점수/최고 순위를 갖는 CPU는 cpu-2라는 범용 고유 식별자(universal unique identifier, UUID)를 갖고, 최저 할당 점수/최고 순위를 갖는 메모리는 mem-1이라는 UUID를 갖고, 최저 할당 점수/최고 순위를 갖는 스토리지는 stor-4라는 UUID를 갖고, 최저 할당 점수/최고 순위를 갖는 네트워크 I/O는 nw I/O-4라는 UUID를 갖는다.
일부 예에 따르면, 1 x CPU, 2GB의 RAM, 1 TB의 스토리지 및 10Gb의 수행가능 NW I/O 디바이스 또는 NIC를 필요로 한다고 결정되었던 앞에서 언급한 요청은 가용의 설정 가능한 컴퓨팅 자원의 최고 순위의 구성으로서 cpu-2, mem-1, stor-4 and nw I/O-4를 포함할 것이고 그래서 그 요청과 연관된 작업부하를 구현하거나 실행하는 논리 서버 또는 VM을 구성하는데 사용될 것이다. 그러나 아래에서 더 많이 언급되는 바와 같이, 순전히 순위 이외의 다른 고려사항은 (예를 들면, 높은 가용성 요건을 만족시키기 위해) 설정 가능한 컴퓨팅 자원을 별개의 순위로부터 선택되게 하는 구성을 도출할 수 있다.
일부 예에서, 할당된 설정 가능한 컴퓨팅 자원은 작업부하를 구현하거나 실행하도록 구성된 논리 서버 또는 VM에 할당되어 있는 동안에는 예약됨 또는 불가용이라고 표시될 수 있다. 이러한 예에서, 자원 카탈로그(예를 들면, 자원 카탈로그(203))는 자원 관리자(예를 들면, 자원 관리자(201))에 의해 통합된 자원 중 어떤 부분 또는 부분들이 할당되었는지를 추적하기 위해 유지될 수 있다.
도 4는 예시적인 제 1 로직 흐름을 도시한다. 도 4에서 도시된 바와 같이, 제 1 로직 흐름은 흐름(400)을 포함한다. 일부 예에서, 도 1 및 도 2에서 도시된 바와 같은 시스템(100)의 요소 및 데이터 센터/랙 관리 구조(200), 도 3에서 도시된 바와 같은 순위 또는 앞에서 언급된 예시적인 수학식 1 또는 2는 흐름(400)과 관련된 예시적인 동작을 설명하는데 사용될 수 있다. 설명된 예시적인 동작은 시스템(100), 데이터 센터/랙 관리 구조(200), 도 3에서 도시된 순위 또는 예시적인 수학식 1 또는 2에 관한 구현예로 제한되지 않는다.
시작으로부터 블록(410)(자원 할당 요청을 수신)으로 이동하면, 자원 관리자에서 로직 또는 특징은 가용의 설정 가능한 컴퓨팅 자원을 할당하라는 자원 할당 요청을 (예를 들면, POD 관리자로부터) 수신할 수 있다. 예를 들면, 자원 관리자(205)는 하나 이상의 논리 서버 또는 VM을 배치하기 위해 자원 풀(120)로부터 자원을 할당하라는 요청을 POD 관리자(230)로부터 수신할 수 있다. 이 요청은 또한 공통 클라우드 서비스(210)로부터 POD 관리자(230)에게 표시될 수 있는 비용 민감, 성능 민감, 높은 가용성 또는 균형을 이룬 템플릿과 같은 템플릿을 표시할 수 있다.
블록(410)에서 블록(420)(요청을 처리)으로 진행하면, 자원 관리자에서 로직 또는 특징은 자원 할당 요청에서 표시된 하드웨어 구성에 기초하여 가용의 설정 가능한 컴퓨팅 자원의 순위를 평가할 수 있다. 일부 예에서, 자원 관리자(201)의 로직 또는 특징은 예시적인 수학식 1 또는 2를 이용하여 자원 풀(120)로부터 가용 자원의 순위를 평가할 수 있다. 또한, 공통 클라우드 서비스(210)로부터의 요청에서 표시된 템플릿은 로직 또는 특징이 도 3에서 앞에서 언급한 바와 같이 이러한 가용의 설정 가능한 컴퓨팅 자원의 각 속성을 가중하도록 유발할 수 있다.
블록(320)에서 판단 블록(430)(높은 가용성을 요청)으로 이동하면, 자원 관리자에서 로직 또는 특징은 수신한 할당 요청이 높은 가용성의 요청을 표시하였는지를 결정할 수 있다. 만일 높은 가용성의 요청이 표시되었다면, 프로세스는 블록(450)으로 이동한다. 그렇지 않으면, 프로세스는 블록(440)으로 이동한다.
일부 예에서, 공통 클라우드 서비스(210)로부터 요청은 높은 가용성 템플릿을 통해 높은 가용성을 표시했을 수 있다. 이러한 예에서, 할당 요청은 당초에 POD 관리자(230)에 의해 높은 가용성 자원의 필요를 표시하는 플래그 표시자를 포함하는 OVF 포맷으로 수신되었을 수 있다. 이러한 예에서, POD 관리자(230)는 그 표시자를 자원 관리자(201)로 포워딩할 수 있다. 그러면 자원 관리자(201)는 로직 또는 특징으로 하여금 가용의 설정 가능한 컴퓨팅 자원의 각 동작 속성을 가중하게 하는 높은 가용성을 적용할 수 있다.
판단 블록(430)에서 블록(440)(점수에 기초하여 어딘가에 할당)으로 진행하면, 높은 가용성이 표시되지 않았기 때문에, 자원 관리자에서 로직 또는 특징은 임의의 링크 중에서 설정 가능한 자원의 일부분을 할당할 수 있다. 일부 예에서, 자원 관리자(201)에서 로직 및/또는 특징은 하나 이상의 랙(112-1 내지 112-n)으로부터 가용 자원을 가져올 수 있는 자원 풀(120)로부터 자원을 할당할 수 있다.
일부 예에 따르면, 자원 관리자는 설정 가능한 컴퓨팅 자원의 할당을 표시하는 자원 카탈로그를 업데이트하는 로직 또는 특징을 포함할 수 있다. 예를 들면, 자원 관리자(201)는 추적 카탈로그(203)를 업데이트할 수 있다.
판단 블록(430)에서 블록(450)(상이한 랙 내 최선의 점수를 할당)으로 이동하면, 높은 가용성이 표시되었기 때문에, 자원 관리자에서 로직 또는 특징은 상이한 랙으로부터 최선의 할당 점수를 가진 설정 가능한 자원을 할당한다. 일부 예에서, 자원 관리자(201)는 랙 레벨에서 하드웨어 고장의 가능성을 피하기 위해 자원을 상이한 랙으로부터 할당할 수 있다. 자원은 기존의 SLA에 따라서 다른 데이터 센터에 할당되기도 할 수 있으며, 전술한 랙 내 스토리지의 노출을 감독할 수 있다. 이러한 방법에서, 같은 스토리지에 과도하게 로딩되는 것을 피하고 성능을 극대화하기 위해 배치되거나 구성된 논리 서버 또는 VM에 대해 높은 가용 서비스 및 입력/출력(I/O) 제한 작업이 우선적으로 할당될 수 있다. 이후 프로세스는 종료된다.
일부 예에서, 자원 관리자는 설정 가능한 컴퓨팅 자원의 할당을 표시하는 자원 카탈로그를 업데이트하는 로직 또는 특징을 포함할 수 있다. 예를 들면, 자원 관리자(201)는 추적 카탈로그(203)를 업데이트할 수 있다.
일부 예에 따르면, 예시적인 수학식 3은 설정 가능한 컴퓨팅 자원이 초과될 때 또는 최대의 동작 조건 이상으로 동작 중일 때를 결정하기 위해 사용될 수 있다.
Figure 112016072387817-pct00003
이러한 예에서, 기호에 따라, 가중치(mi)는 자원 당 보상 또는 패널티 중 어느 하나로 해석될 수 있으며, 원리적으로 자원 관리자에게 자원을 어딘가로 이동하라고 알려주는 방법, 예를 들면 소진된 자원 또는 계획된 유지보수로 인해 실시간 이주(live migration)를 알려주는 방법이 될 수 있다. 데이터 센터 내의 분해된 하드웨어라는 예시적인 사례에서, 이주는 오직 소진된 자원을 새로운 자원으로 교환하는 것에 해당할 수 있다. 실시간 이주는 이 시나리오에서 잠재적으로 방해가 될 수 있다.
도 5는 예시적인 제 2 로직 흐름을 도시한다. 도 5에서 도시된 바와 같이, 제 2 로직 흐름은 흐름(500)을 포함한다. 일부 예에서, 도 1 및 도 2에서 도시된 바와 같은 시스템(100)의 요소 및 데이터 센터/랙 관리 구조(200), 앞에서 언급된 예시적인 수학식 1 내지 3, 또는 도 4에서 도시된 흐름(400)은 흐름(500)과 관련된 예시적인 동작을 설명하는데 사용될 수 있다. 그러나 설명된 예시적인 동작은 시스템(100), 데이터 센터/랙 관리 구조(200), 도 3에서 도시된 순위, 앞에서 언급한 예시적인 수학식 1 내지 3, 또는 흐름(400)에 관한 구현예로 제한되지 않는다.
시작으로부터 블록(510)(초기 할당)으로 이동하면, 자원 관리자에서 로직 또는 특징은 도 4에서 도시된 흐름(400)에 대해 앞에서 설명한 바와 같이 작업부하를 구현, 실행, 또는 구동하는 논리 서버 또는 VM에 설정 가능한 컴퓨팅 자원의 초기 할당을 수행할 수 있다. 예를 들면, 자원 관리자(201)는 랙(110) 중 하나 이상의 랙에서 존재할 수 있는 CPU 유형, 메모리 유형, 스토리지 유형, 또는 nw I/O 유형과 같은 하나 이상의 유형에 속하는 복수의 분해된 물리적 요소를 포함할 수 있는 자원 풀(120)로부터 설정 가능한 컴퓨팅 자원을 할당할 수 있다.
블록(510)에서 블록(520)(속성을 모니터링)으로 진행하면, 자원 관리자에서 로직 또는 특징은 작업부하를 구현, 실행, 또는 구동하는 논리 서버 또는 VM에 할당된 각 설정 가능한 컴퓨팅 자원의 동작 속성을 모니터링할 수 있다. 일부 예에서, 도 2에서 도시된 바와 같은 nw I/O(260-1), CPU(260-2), 스토리지(260-3) 및 메모리(260-4)의 컨트롤러(262-1 내지 262-4)와 같이 각 유형에 속하는 분해된 물리적 요소와 함께 배치된 컨트롤러는 자원 관리자(201)에 의해 구성될 수 있는 하드웨어 모니터링 구성 파일을 가질 수 있다. 하드웨어 모니터링 구성 파일은 자원 관리자(201)에 의해 구성되어 이러한 컨트롤러들에게 논리 서버 또는 VM이 작업부하를 구현, 실행 또는 구동하는 동안 어느 동작 속성을 모니터링할지를 명시하도록 할 수 있다. 예를 들면, 성능 동작 속성에 대해, 컨트롤러(262-1)는 nw I/O(260-1)에 대해 데이터 처리량을 모니터링할 수 있고, 컨트롤러(262-2)는 CPU(260-2)에 대해 CPU 활용을 처리량을 모니터링할 수 있고, 컨트롤러(262-3)는 메모리 판독/기록 시간을 모니터링할 수 있고, 컨트롤러(262-4)는 스토리지(260-4)에 대해 입력/출력 지연을 모니터링할 수 있다. 이후 모니터링된 동작 속성은 이벤트, 알람에 응답하여, 또는 주기적인 폴링을 통해 자원 관리자(201)에 의해 수집될 수 있다.
블록(520)에서 블록(530)(점수를 발생)으로 진행하면, 자원 관리자에서 로직 또는 특징은 논리 서버 또는 VM이 작업부하를 구현하거나 구동하는 동안 모니터링된 동작 속성에 기초하여 할당된 설정 가능한 컴퓨팅 자원에 대해 제 1의 가중 합 동작 점수(weighted sum operating score)를 발생 또는 결정할 수 있다. 일부 예에서, 제 1의 가중 합 동작 점수(Sl)는 할당된 설정 가능한 컴퓨팅 자원 세트에서 구동하는 작업부하(Wj)의 성능으로서 정의될 수 있다. 여기서 인덱스(l)는 작업부하(j)를 구현, 실행 또는 구동하는 논리 서버 또는 VM에서 구성된 설정 가능한 컴퓨팅 자원의 구성을 나타낸다. 예시적인 수학식 4는 Sl(Wj)에 대해 가중 합 동작 점수를 결정하는데 사용될 수 있다.
Figure 112016072387817-pct00004
예시적인 수학식 4에서, Ui(Wj)는 자원의 활용률을 나타낼 수 있고 Pi(Wj)는 구성에 대한 성능을 나타낼 수 있는데, 이러한 파라미터는 모두 최대가 되어야 한다. 또한, 예시적인 수학식 4에서, Ci(Wj)는 비용을 나타낼 수 있고 Ei(Wj)는 구동중인 작업부하(Wj)와 연관된 에너지 소비량을 나타낼 수 있는데, 이러한 파라미터는 모두 최대가 되어야 한다. 상대적 가중치(M1, M2, M3, M4)는 어떤 동작 속성 점수에 우선권을 줄 수 있는 사용자 정의된 승수일 수 있다. 이러한 상대적 가중치는 작업부하에 대해 SLA로부터 도출될 수 있다. 상대적 가중치와 유사하게, m1, m2, m3, m4 (M, M = 1)이 앞에서 언급되었다.
일부 예에 따르면, 성능 Pi(Wj)은 초당 트랜잭션, 지연 또는 특정 작업부하(j)의 특정 구성(i)과 관련된 임의의 적합한 KPI와 같은 애플리케이션 특정 메트릭일 수 있다.
일부 예에서, 활용률(Ui(Wj))은 예시적인 수학식 5에 의해 결정될 수 있다.
Figure 112016072387817-pct00005
여기서 CPUi, memi, nw I/Oi 및 stori는 특정 작업부하(j)의 특정 구성(i)에 포함된 분해된 물리적 요소의 CPU, 메모리, nw I/O 및 스토리지 유형의 중간값 활용률(median utilization)을 나타낼 수 있다.
일부 예에 따르면, 에너지 소비량(Ei(Wj))은 논리 서버 또는 VM당 계산된 특정 작업부하(j)를 구동하는데 필요한 분해된 전력일 수 있다. 에너지 소비량(Ei(Wj))은 예시적인 수학식 6에 의해 결정될 수 있다.
Figure 112016072387817-pct00006
여기서 각각의 활용된 설정 가능한 컴퓨팅 자원에는 특정 작업부하(j)의 특정 구성(i)에 포함된 상이한 유형의 분해된 물리적 요소 당 소비된 최대 VA가 곱해질 수 있다. 일부 예에서, 분해된 전력은 특정 유형의 분해된 물리적 요소의 컨트롤러로부터 취득될 수 있다. 예를 들면, CPU(260-1)에 대해 분해된 전력은 컨트롤러(262-1)로부터 취득될 수 있다.
일 예에서, Ci(Wj))는 특정 구성(i)에 포함된 설정 가능한 컴퓨팅 자원을 이용하면서 특정 작업부하(j)를 구동하는 동안 예시적인 수학식 7을 이용하여 결정될 수 있다.
Figure 112016072387817-pct00007
여기서 v는 설정 가능한 컴퓨팅 자원에 대한 통화 값(예를 들면, US $)이다. 예시적인 수학식 7에서, vCPU, vmem, vnw I/O 및 vstor, 즉 각기 CPU, 메모리, nw I/O 및 스토리지와 같은 분해된 물리적 요소 유형의 단위 통화 값이 사용될 수 있고, 그뿐만 아니라 vCPU_max 등이 정규화 목적을 위해 사용된다. 일부 예에 따르면, 자원 관리자에 의해 유지되는 자원 카탈로그는 감가상각 정책을 반영하기 위해 시간 경과에 따라 업데이트될 수 있다. 감가상각 정책은 분해된 물리적 요소의 유형에 좌우될 수 있다. 가격은 각각의 분해된 물리적 요소의 부품 번호를 이용하여 온라인으로 액세스될 수 있거나 판매 회사에 의해 제공될 수 있다.
블록(530)에서 판단 블록(540)(양호한 성능)으로 진행하면, 자원 관리자에서 로직 또는 특징은 예시적인 수학식 4를 이용하여 결정된 제 1의 동작 합 점수(Si(Wj))의 순위를 평가한 다음 작업부하(j)를 구현, 실행 또는 구동하는 논리 서버 또는 VM에서 구성된 설정 가능한 컴퓨팅 자원의 하나 이상의 다른 구성에 대해 결정된 하나 이상의 과거의 가중 합 동작 점수(Si(Wj))와 비교된 제 1 동작 합 점수(Si(Wj))의 순위를 평가할 수 있다. 이러한 예에서, 양호한 성능은 새로운 설정 가능한 컴퓨팅 자원이 추가되거나 시스템 또는 데이터 센터로부터 감산될 때 적절한 성능 및 자원 재-할당을 보장하기 위해 작업부하(j)에 대해 SLA의 일부일 수 있는 연관된 KPI를 충족시키는 것을 기초로 할 수 있다. 만일 양호한 성능이 결정되면(예를 들면, 연관된 KPI를 충족시키면 또는 과거 구성과 비교하여 유리하게 순위를 받으면), 프로세스는 종료된다. 그렇지 않으면, 프로세스는 블록(550)으로 이동한다.
판단 블록(540)에서 블록(550)(할당을 수정)으로 이동하면, 자원 관리자에서 로직 또는 특징은 과거 구성과 비교하여 불리한 순위를 가지며/갖거나 연관된 KPI가 충족되지 않은 제 1의 가중 합 동작 점수(Si(Wj))에 기초하여 설정 가능한 컴퓨팅 자원의 할당을 수정할 수 있다. 수정은 제 2의 가중 합 동작 점수를 모니터링하고, 발생한 다음 제 2의 동작 합 점수를 다시 과거 구성에 대한 동작 합 점수와 비교한 후 동작 합 점수를 나아지게 하는 상이한 CPU, 메모리, nw I/O 또는 스토리지를 선택하는 것을 포함할 수 있다.
도 6은 예시적인 작업부하 템플릿(600)을 도시한다. 일부 예에서, 도 6에서 도시된 바와 같이, 작업부하 템플릿은 비디오 프로세싱, 암호화/복호화, 웹 서버, 콘텐츠 전송 네트워크 또는 데이터베이스에 대한 각각의 애플리케이션 작업부하의 템플릿(610, 620, 630, 640 or 650)을 포함한다. 본 개시는 이러한 애플리케이션 작업부하의 예로 제한되지 않는다. 다른 애플리케이션 작업부하가 예상된다.
도 6에서 도시된 예시적인 템플릿에서, 특정 애플리케이션 작업부하에 할당된 자원은 높은 순위의 가중 합 동작 점수를 일관하게 발생할 수 있는 그러한 분해된 물리적 요소를 반영하는 작업부하 템플릿 내에 배열될 수 있다. 예를 들면, 템플릿(610) 및 비디오 프로세싱 작업부하, cpu-3, cpu-8, mem-1, nw I/O-5는 과거 동작 속성에 기초하여 비디오 프로세싱 애플리케이션 작업부하를 구현, 실행, 또는 구동하는 논리 서버 또는 VM에 대해 최고 또는 최선 순위의 가중 합 동작 점수를 갖는 최선의 구성을 나타낼 수 있다. 그러므로 비디오 프로세싱 애플리케이션에 대한 작업부하 요청이 수신될 때, 템플릿(610)이 사용될 수 있다. 다른 예에서, 템플릿(640) 및 콘텐츠 전송 네트워크, cpu-5, cpu-11, mem-6, stor-1, stor-2, nw I/O-7 및 nw I/O-8은 과거 동작 속성에 기초하여 콘텐츠 전송 네트워크 애플리케이션 작업부하를 구현, 실행, 또는 구동하는 논리 서버 또는 VM에 대한 최고 또는 최선 순위의 가중 합 동작 점수를 갖는 최선의 구성을 나타낼 수 있다. 그러므로 콘텐츠 전송 네트워크 애플리케이션에 대한 작업부하 요청이 수신될 때, 템플릿(640)이 사용될 수 있다.
도 7은 장치(700)의 예시적인 블록도를 도시한다. 도 7에서 도시된 장치(700)는 특정 토폴로지에서 제한된 개수의 요소를 갖지만, 장치(700)는 특정 구현예에 필요한 만큼 대안의 토폴로지에서 많거나 적은 요소를 포함할 수 있다는 것을 알 수 있다.
장치(700)는 설정 가능한 컴퓨팅 자원을 할당하는 자원 관리자 또는 컨트롤러를 지원하는 로직 또는 특징을 포함하는 컴퓨팅 디바이스에서 유지되는 회로(720)에 의해 지원될 수 있다. 회로(720)는 하나 이상의 소프트웨어 또는 펌웨어로 구현된 모듈 또는 컴포넌트(722-a)를 실행하도록 구성될 수 있다. 본 명세서에서 사용되는 "a" 및 "b" 및 "c" 및 유사한 부호는 임의의 양의 정수를 나타내는 변수를 의도한다는 것을 유의하는 것이 좋다. 그러므로 예를 들어, 만일 어떤 구현예가 a=5로 값을 설정한다면, 컴포넌트(722-a)에 대한 완전한 세트의 소프트웨어 또는 펌웨어는 컴포넌트(722-1, 722-2, 722-3, 722-4 또는 722-5)를 포함할 수 있다. 제시된 예는 이러한 맥락으로 제한되는 것이 아니며 명세서 전체에서 사용된 서로 다른 변수는 같은 또는 서로 다른 정수 값을 나타낼 수 있다.
일부 예에 따르면, 회로(720)는 프로세서 또는 프로세서 회로를 포함할 수 있다. 회로(720)는 (예를 들면, 중앙 처리 유닛(central processing unit, CPU)으로서 사용된) 프로세싱 코어를 포함하는 컴퓨팅 디바이스 회로의 일부일 수 있다. 하나 이상의 프로세싱 코어를 포함하는 회로는 제한을 두지 않고, AMD® Athlon®, Duron® 및 Opteron® 프로세서; ARM® 애플리케이션, 임베디드 및 보안 프로세서; Qualcomm® 스냅드래곤(Snapdragon), IBM®, Motorola® DragonBall®, Nvidia®Tegra® 및 PowerPC® 프로세서; IBM 및 Sony® 셀 프로세서; Intel® Celeron®, Core (2) Duo®, Core i3, Core i5, Core i7, Itanium®, Pentium®, Xeon®, Atom®, 및 XScale® 프로세서; 및 유사 프로세서를 비롯한 각종의 상업적으로 구입 가능한 프로세서 중 임의의 프로세서일 수 있다. 듀얼 마이크로프로세서, 멀티-코어 프로세서, 및 다른 멀티-프로세서 아키텍처 또한 회로(720)의 부품으로서 채용될 수 있다. 일부 예에 따르면, 회로(720)는 또한 주문형 집적 회로(application specific integrated circuit, ASIC)일 수 있으며 적어도 일부 컴포넌트(722-a)는 ASIC의 하드웨어 요소로서 구현될 수 있다.
일부 예에 따르면, 장치(700)는 요청 컴포넌트(722-1)를 포함할 수 있다. 요청 컴포넌트(722-1)는 회로(720)에 의해 실행되어 작업부하를 구현, 실행 또는 구동하는 논리 서버 또는 VM에 설정 가능한 컴퓨팅 자원을 할당하라는 요청을 수신할 수 있다. 이러한 예에서, 요청은 요청(들)(705)에 포함될 수 있고 하나 이상의 논리 서버 또는 VM을 배치 또는 구성하는데 필요할 수 있는 하드웨어 구성을 표시할 수 있다. 예를 들면, 이것으로 제한되는 것은 아니지만, 온도, 전력, 활용률 또는 비용과 같은 설정 가능한 컴퓨팅 자원을 상이하게 가중할 수 있는 비용 민감, 성능 민감, 높은 가용성 또는 균형을 이룬 템플릿이 요청(들)(705)에 포함될 수 있다.
일부 예에 따르면, 장치(700)는 또한 점수 컴포넌트(722-2)를 포함할 수 있다. 점수 컴포넌트(722-2)는 회로(720)에 의해 실행되어 논리 서버 또는 VM에 할당하는데 이용 가능한 설정 가능한 컴퓨팅 자원 중 제 1 부분에 대한 제 1의 가중 합 할당 점수(weighted sum allocation score)를 결정하고 그리고 논리 서버 또는 VM에 할당하는데 이용 가능한 설정 가능한 컴퓨팅 자원 중 제 2 부분에 대한 제 2의 가중 합 할당 점수를 결정할 수 있다. 이러한 예에서, 가중 합 할당 점수는 전술한 바와 같이 예시적인 수학식 1 및 2에 기초할 수 있다. 예를 들면, 가용의 설정 가능한 컴퓨팅 자원은 데이터 센터의 하나 이상의 랙(예를 들면, 시스템(100)의 랙(110))에서 유지되는 CPU, 메모리, nw I/O 또는 스토리지와 같은 분해된 물리적 요소로부터 구할 수 있다. 자원 풀 정보(710)는 그러한 가용의 설정 가능한 컴퓨팅 자원의 표시를 포함할 수 있고 또한 이것으로 제한되는 것은 아니지만, 온도, 전력, 활용률 또는 비용과 같은 설정 가능한 컴퓨팅 자원 속성에 관한 정보를 포함할 수 있다. 예를 들면, 여러 가용의 CPU, 메모리, nw I/O 또는 스토리지에 대한 온도, 전력, 활용률 또는 비용 속성이 하나 이상의 랙에서 유지된다.
일부 예에서, 장치(700)는 또한 순위 컴포넌트(722-3)를 포함할 수 있다. 순위 컴포넌트(722-3)는 회로(720)에 의해 실행되어 점수 컴포넌트(722-2)에 의해 가용의 설정 가능한 컴퓨팅 자원에 배정된 제 1 및 제 2의 가중 합 할당 점수를 비교할 수 있다. 예를 들면, 비교는 순위 컴포넌트(722-3)가 제 1 및 제 2의 가중 합 할당 점수를 이용하여 설정 가능한 컴퓨팅 자원의 제 1 부분을 제 2 부분에 대비하여 순위를 평가하는 것을 포함할 수 있다.
일부 예에 따르면, 장치(700)는 또한 할당 컴포넌트(722-4)를 포함할 수 있다. 할당 컴포넌트(722-4)는 회로(720)에 의해 실행되어 순위 컴포넌트(722-3)에 의한 비교에 기초하여 제 1 부분 또는 제 2 부분을 논리 서버 또는 VM에 할당할 수 있다. 이러한 예에서, 할당 컴포넌트(722-4)는 할당(들)(715) 내의 할당을 표시할 수 있고, 이 할당은 할당된 자원을 가진 랙과 연관된 POD 관리자 및/또는 하나 이상의 RCPM으로 전송될 수 있다. 할당 컴포넌트(722-4)는 또한 논리 서버 또는 VM으로의 할당을 표시하는 자원 카탈로그를 업데이트할 수 있다.
일부 예에서, 장치(700)는 또한 모니터 컴포넌트(722-5)를 포함할 수 있다. 모니터 컴포넌트(722-5)는 회로(720)에 의해 실행되어 논리 서버 또는 VM이 작업부하를 구현, 구동 또는 실행할 때 할당된 제 1 또는 제 2 부분에 포함된 각각의 설정 가능한 컴퓨팅 자원에 대한 복수의 동작 속성을 모니터링할 수 있다.
일부 예에 따르면, 설정 가능한 컴퓨팅 자원 중 제 1 부분은 할당 컴포넌트(722-4)에 의해 작업부하를 구현, 실행 또는 구동하는 논리 서버 또는 VM에 할당될 수 있다. 그러면 모니터 컴포넌트(722-5)는 논리 서버 또는 VM이 작업부하를 구현, 구동 또는 실행할 때 제 1 부분에 포함된 각각의 설정 가능한 컴퓨팅 자원에 대한 복수의 동작 속성을 모니터링할 수 있다. 그러면 점수 컴포넌트(722-2)는 모니터 컴포넌트(722-5)에 의해 모니터링된 복수의 동작 속성에 기초하여 제 1 부분에 대한 제 1의 가중 합 동작 점수를 결정할 수 있다. 이러한 예에서, 점수 컴포넌트(722-2)는 제 1의 가중 합 동작 점수를 결정하는 예시적인 수학식 4 내지 7을 이용하여 제 1의 가중 합 동작 점수를 결정할 수 있다. 그 다음 순위 컴포넌트(722-3)는 이전에 작업부하를 구현 또는 구동하도록 할당된 설정 가능한 컴퓨팅 자원 중의 하나 이상의 다른 부분에 대해 결정된 하나 이상의 과거의 가중 합 동작 점수와 비교된 제 1의 가중 합 동작 점수의 순위를 평가할 수 있다. 이후 할당 컴포넌트(722-4)는 순위에 기초하여 설정 가능한 컴퓨팅 자원이 제 1 부분에 포함되어 있는 것을 수정할 수 있다. 이러한 예에서, 할당 컴포넌트(722-4)는 할당된 또는 이전에 할당된 자원을 가진 랙과 연관된 POD 관리자 및/또는 하나 이상의 RCPM으로의 할당(들)(715)에 속한 이전의 할당에 대한 임의의 수정을 표시할 수 있다.
본 명세서에는 개시된 아키텍처의 신규의 양태를 수행하기 위한 예시적인 방법론을 대표하는 한 세트의 로직 흐름이 포함된다. 설명을 간략하게 하기 위한 목적으로, 본 명세서에서 도시된 하나 이상의 방법론이 일련의 행위로서 도시되고 설명되지만, 본 기술에서 통상의 지식을 가진 자라면 방법론은 행위의 순서대로 제한되지 않는다는 것을 이해하고 인식할 것이다. 이에 따라서, 일부의 행위는 본 명세서에서 도시되고 설명된 것과 상이한 순서로 그리고/또는 다른 행위와 동시에 이루어질 수 있다. 예를 들면, 본 기술에서 통상의 지식을 가진 자라면 방법론은 이와 달리 상태도와 같이 일련의 상호 연관된 상태 또는 이벤트로서 표현될 수도 있다는 것을 이해하고 인식할 것이다. 더욱이, 방법론에서 예시된 모든 행위가 신규의 구현예에 필요하지 않을 수 있다.
로직 흐름은 소프트웨어, 펌웨어, 및/또는 하드웨어에서 구현될 수 있다. 소프트웨어 및 펌웨어 실시예에서, 로직 흐름은 광, 자기 또는 반도체 스토리지와 같은 적어도 하나의 비일시적 컴퓨터 판독 가능한 매체 또는 머신 판독 가능한 매체상에 저장된 컴퓨터 실행 가능한 명령어에 의해 구현될 수 있다. 실시예는 이러한 맥락으로 제한되지 않는다.
도 8은 로직 흐름의 예를 도시한다. 도 8에서 도시된 바와 같이, 로직 흐름은 로직 흐름(800)을 포함한다. 로직 흐름(800)은 장치(700)와 같이, 본 명세서에서 설명된 하나 이상의 로직, 특징, 또는 디바이스에 의해 실행되는 일부 또는 모든 동작을 나타낼 수 있다. 상세히 말해서, 로직 흐름(800)은 적어도 요청 컴포넌트(722-1), 점수 컴포넌트(722-2), 순위 컴포넌트(722-3), 또는 할당 컴포넌트(722-4)에 의해 구현될 수 있다.
일부 예에 따르면, 블록(802)에서 로직 흐름(800)은 설정 가능한 컴퓨팅 자원의 시스템의 자원 관리자에서, 설정 가능한 컴퓨팅 자원을 작업부하를 구현 또는 실행하는 논리 서버에 할당하라는 요청을 수신할 수 있다. 이러한 예에서, 요청은 컴포넌트(722-1)에 의해 수신될 수 있다.
일부 예에서, 블록(804)에서 로직 흐름(800)은 논리 서버에 할당하는데 이용 가능한 설정 가능한 컴퓨팅 자원의 제 1 부분에 대한 제 1의 가중 합 동작 점수를 결정할 수 있다. 이러한 예에서, 점수 컴포넌트(722-2)는 제 1의 가중 합 동작 점수를 결정할 수 있다.
일부 예에 따르면, 블록(806)에서 로직 흐름(800)은 논리 서버에 할당하는데 이용 가능한 설정 가능한 컴퓨팅 자원의 제 2 부분에 대한 제 2의 가중 합 동작 점수를 결정할 수 있다. 이러한 예에서, 점수 컴포넌트(722-2)는 제 2의 가중 합 동작 점수를 결정할 수 있다.
일부 예에서, 블록(808)에서 로직 흐름(800)은 제 1 및 제 2의 가중 합 할당 점수를 비교하여 제 2 부분 대비 제 1 부분의 순위를 평가할 수 있다. 이러한 예에서, 순위 컴포넌트(722-3)는 제 1 및 제 2의 가중 합 할당 점수를 비교하여 제 2 부분 대비 제 1 부분의 순위를 평가할 수 있다.
일부 예에서, 블록(810)에서 로직 흐름(800)은 순위에 기초하여 제 1 부분 또는 제 2 부분을 논리 서버에 할당할 수 있다. 이러한 예에서, 할당 컴포넌트(722-4)는 할당을 실행하거나 실시할 수 있다.
도 9는 저장 매체(900)의 예를 도시한다. 저장 매체(900)는 제조업자의 물품을 포함할 수 있다. 일부 예에서, 저장 매체(900)는 광, 자기 또는 반도체 스토리지와 같은 임의의 비일시적 컴퓨터 판독 가능한 매체 또는 머신 판독 가능한 매체를 포함할 수 있다. 저장 매체(900)는 로직 흐름(800)을 구현하는 명령어와 같은 다양한 유형의 컴퓨터 실행 가능한 명령어를 저장할 수 있다. 컴퓨터 판독가능한 저장 매체 또는 머신 판독가능한 저장 매체의 예는 전자 데이터를 저장할 수 있는, 휘발성 메모리나 비휘발성 메모리, 제거 가능하거나 제거 가능하지 않은 메모리, 소거 가능하거나 소거 가능하지 않은 메모리, 및 기록 가능하거나 재기록 가능한 메모리 등을 비롯한 임의의 유형의 매체를 포함할 수 있다. 컴퓨터 실행 가능한 명령어의 예는 소스 코드, 컴파일된 코드, 해석된 코드, 실행 가능한 코드, 고정 코드, 동적 코드, 객체 지향 코드, 및 비주얼 코드 등과 같은 임의의 적합한 유형의 코드를 포함할 수 있다. 예는 이러한 맥락으로 제한되지 않는다.
도 10은 예시적인 컴퓨팅 플랫폼(1000)을 도시한다. 일부 예에서, 도 10에서 도시된 바와 같이, 컴퓨팅 플랫폼(1000)은 프로세싱 컴포넌트(1040), 다른 플랫폼 컴포넌트 또는 통신 인터페이스(1060)를 포함할 수 있다. 일부 예에 따르면, 컴퓨팅 플랫폼(1000)은 앞에서 언급한 설정 가능한 컴퓨팅 자원을 할당하기 위한 POD 관리자 및/또는 자원 관리자를 지원하는 데이터 센터 또는 서버 팜과 같은 시스템 내 서버와 같은 컴퓨팅 디바이스에서 구현될 수 있다.
일부 예에 따르면, 프로세싱 컴포넌트(1040)는 장치(700) 및/또는 저장 매체(900)의 프로세싱 동작 또는 로직을 실행할 수 있다. 프로세싱 컴포넌트(1040)는 다양한 하드웨어 요소, 소프트웨어 요소, 또는 이 둘의 조합을 포함할 수 있다. 하드웨어 요소의 예는 디바이스 로직 디바이스, 컴포넌트, 프로세서, 마이크로프로세서, 회로, 프로세서 회로, 회로 요소(예를 들면, 트랜지스터, 저항, 캐패시터, 및 인덕터 등), 집적 회로, 주문형 집적 회로(ASIC), 프로그래머블 로직 장치(programmable logic device, PLD), 디지털 신호 프로세서(digital signal processor, DSP), 필드 프로그래머블 게이트 어레이(field programmable gate, FPGA), 메모리 유닛, 논리 게이트, 레지스터, 반도체 소자, 칩, 마이크로칩, 및 칩 셋 등을 포함할 수 있다. 소프트웨어 요소의 예는 소프트웨어 컴포넌트, 프로그램, 애플리케이션, 컴퓨터 프로그램, 애플리케이션 프로그램, 디바이스 드라이버, 시스템 프로그램, 소프트웨어 개발 프로그램, 머신 프로그램, 오퍼레이팅 시스템 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈, 루틴, 서브루틴, 함수, 방법, 절차, 소프트웨어 인터페이스, 애플리케이션 프로그램 인터페이스(application program interface, API), 명령어 집합, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트, 컴퓨터 코드 세그먼트, 워드, 값, 심볼, 또는 이들의 모든 조합을 포함할 수 있다. 예가 하드웨어 요소 및/또는 소프트웨어 요소를 이용하여 구현되는지를 판단하는 것은 특정 예에 필요한 대로, 원하는 계산 속도, 전력 레벨, 열 공차, 프로세싱 사이클 비용(processing cycle budget), 입력 데이터 속도, 출력 데이터 속도, 메모리 자원, 데이터 버스 속도 및 기타 디자인 또는 성능 제한과 같은 임의의 개수의 요인들에 따라서 변할 수 있다.
일부 예에서, 다른 플랫폼 요소(1050)는 하나 이상의 프로세서, 멀티-코어 프로세서, 코-프로세서, 메모리 유닛, 칩셋, 컨트롤러, 주변 장치, 인터페이스, 발진기, 타이밍 디바이스, 비디오 카드, 오디오 카드, 멀티미디어 입력/출력(I/O) 컴포넌트(예를 들면, 디지털 디스플레이), 및 전원 등과 같은 일반적인 컴퓨팅 요소를 포함할 수 있다. 메모리 유닛의 예는 정보를 저장하기에 적당한 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 다이나믹 RAM(DRAM), 더블-데이터-레이트 DRAM(Double-Data-Rate DRAM, DRAM), 동기식 DRAM(synchronous DRAM, SDRAM), 스태틱 RAM(static RAM, SRAM), 프로그램 가능한 ROM(programmable ROM, PROM), 소거 가능 및 프로그램 가능한 ROM(EPROM), 전기적으로 소거 가능 및 프로그램 가능한 ROM(erasable programmable ROM, EEPROM), 플래시 메모리, 강유전체 폴리머 메모리와 같은 폴리머 메모리, 오보닉 메모리(ovonic memory), 상전이 또는 강유전체 메모리, 실리콘-산화물-질화물-산화물-실리콘(silicon-oxide-nitride-oxide-silicon, SONOS) 메모리, 자기 또는 광학 카드, 중복 배열의 독립 디스크(Redundant Array of Independent Disk, RAID) 드라이브와 같은 디바이스 어레이, 솔리드 스테이트 메모리 디바이스(예컨대, USB 메모리), 솔리드 스테이트 드라이브(SSD), 및 다른 모든 유형의 저장 매체와 같은 하나 이상의 고속 메모리 유닛의 형태로 다양한 형태의 컴퓨터 판독 가능 및 머신 판독 가능 저장 매체를 포함할 수 있다.
일부 예에서, 통신 인터페이스(1060)는 통신 인터페이스를 지원하는 로직 및/또는 기능을 포함할 수 있다. 이러한 예에서, 통신 인터페이스(1060)는 직접 또는 네트워크 통신 링크를 통해 통신하는 다양한 통신 프로토콜 또는 표준에 따라 동작하는 하나 이상의 통신 인터페이스를 포함할 수 있다. 직접 통신은 PCI 익스프레스 사양에 연관된 표준과 같은 하나 이상의 산업 표준(후대의 표준 및 변형을 포함)에서 설명된 통신 프로토콜 또는 표준의 사용을 통해 이루어질 수 있다. 네트워크 통신은 전기 전자 기술자 협회(Institute of Electrical and Electronics Engineers, IEEE)에 의해 발표된 하나 이상의 이더넷 표준에서 설명된 것과 같은 통신 프로토콜 또는 표준의 사용을 통해 이루어질 수 있다. 예를 들면, 그와 같은 이더넷 표준은 2008년 12월에 공개된 IEEE 802.3-2008, 충돌 검출에 의한 반송파 감지 다중 액세스(Carrier sense Multiple access with Collision Detection, CSMA/CD) 액세스 방법 및 물리 계층 사양(Access Method and Physical Layer Specifications)(이하, "IEEE 802.3")을 포함할 수 있다. 네트워크 통신은 또한 오픈플로우 하드웨어 추상 API 사양(OpenFlow Hardware Abstraction API Specification)과 같은 하나 이상의 오픈플로우 사양에 따라 이루어질 수 있다. 네트워크 통신은 또한 2007년 11월에 공개된 인피니밴드 아키텍처 사양(Infiniband Architecture Specification), 제 1 권, 릴리즈 1.2.1("인피니 밴드 아키텍처 사양")에 따라 이루어질 수 있다.
컴퓨팅 플랫폼(1000)은 예를 들면 서버, 서버 어레이 또는 서버 팜, 웹 서버, 네트워크 서버, 인터넷 서버, 워크스테이션, 미니-컴퓨터, 메인 프레임 컴퓨터, 슈퍼컴퓨터, 네트워크 어플라이언스, 웹 어플라이언스, 분산형 컴퓨팅 시스템, 멀티프로세서 시스템, 프로세서-기반 시스템, 또는 이들의 조합일 수 있는 컴퓨팅 디바이스의 일부가 일 수 있다. 이에 따라, 본 명세서에 설명된 컴퓨팅 플랫폼(1000)의 기능 및/또는 특정 구성은 적당히 원하는 대로 컴퓨팅 플랫폼(1000)의 다양한 실시예에 포함될 수 있거나 생략될 수 있다.
컴퓨팅 플랫폼(1000)의 요소 및 기능은 별개의 회로, 주문형 집적 회로(ASIC), 로직 게이트 및/또는 단일 칩 구조의 임의의 조합을 사용하여 구현될 수 있다. 또한, 컴퓨팅 플랫폼(1000)의 기능은 적절하다고 생각되는 곳에서 마이크로컨트롤러, 프로그램 가능한 로직 어레이 및/또는 마이크로프로세서 또는 전술한 임의의 조합을 이용하여 구현될 수 있다. 하드웨어, 펌웨어 및/또는 소프트웨어 요소는 본 명세서에서 "로직" 또는 "회로"라고 일괄하여 또는 개별적으로 지칭될 수 있다는 것을 알아야 한다.
도 10의 블록도에서 도시된 예시적인 컴퓨팅 플랫폼(1000)은 많은 잠재적인 구현에 관해 기능적으로 설명하는 하나의 예를 표현할 수 있다는 것을 인식해야 한다. 따라서, 첨부된 도면에 도시된 블록 기능이 분할, 생략 또는 포함된다 하여 이러한 기능을 구현하기 위한 하드웨어 요소, 회로, 소프트웨어 및/또는 요소가 실시예에서 반드시 분할, 생략 또는 포함될 것이라는 것을 암시하지 않는다.
적어도 하나의 예의 하나 이상의 양태는 머신, 컴퓨팅 디바이스 또는 시스템에 의해 판독될 때, 그 머신, 컴퓨팅 디바이스 또는 시스템으로 하여금 본 명세서에서 설명된 기술을 수행하는 로직을 제작하게 하는 프로세서 내의 다양한 로직을 표현하는 적어도 하나의 머신 판독 가능한 매체에 저장된 대표적인 명령어에 의해 구현될 수 있다. "IP 코어"로서 알려진 그러한 표현은 유형의 머신 판독 가능한 매체에 저장될 수 있고, 각종 소비자 또는 제조 설비에 공급되어 로직 또는 프로세서를 실제로 만드는 제조 기계에 로딩될 수 있다.
다양한 예는 하드웨어 요소, 소프트웨어 요소, 또는 이들 조합을 이용하여 구현될 수 있다. 일부 예에서, 하드웨어 요소는 디바이스, 요소, 프로세서, 마이크로프로세서, 회로, 회로 요소(예를 들면, 트랜지스터, 저항, 캐패시터, 및 인덕터 등), 집적 회로, 주문형 집적 회로들(ASIC), 프로그램 가능한 로직 디바이스(PLD), 디지털 신호 프로세서(DSP), 필드 프로그램 가능한 게이트 어레이(FPGA), 메모리 유닛, 로직 게이트, 레지스터, 반도체 디바이스, 칩, 마이크로칩, 및 칩셋 등을 포함할 수 있다. 일부 예에서, 소프트웨어 요소는 소프트웨어 요소, 프로그램, 애플리케이션, 컴퓨터 프로그램, 응용 프로그램, 시스템 프로그램, 기계 프로그램, 연산 시스템 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈, 루틴, 서브루틴, 기능, 방법, 절차, 소프트웨어 인터페이스, 응용 프로그램 인터페이스(API), 명령어 집합, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트, 컴퓨터 코드 세그먼트, 워드, 값, 심들 또는 이들의 임의의 조합을 포함할 수 있다. 어떤 예가 하드웨어 요소 및/또는 소프트웨어 요소를 사용하여 구현되는지를 결정하는 것은 주어진 구현에 필요한 대로 원하는 계산 속도, 전력 레벨, 열 허용오차, 프로세싱 사이클 비용, 입력 데이터 속도, 출력 데이터 속도, 메모리 자원, 데이터 버스 속도 및 다른 설계 또는 성능 제약과 같은 임의의 인자의 수에 따라 달라질 수 있다.
일부의 예는 제조 물품 또는 적어도 하나의 컴퓨터 판독 가능한 매체를 포함할 수 있다. 컴퓨터 판독 가능한 매체는 로직을 저장하는 비일시적인 저장 매체를 포함할 수 있다. 일부 예에서, 비일시적인 저장 매체는, 휘발성 메모리 또는 비휘발성 메모리, 분리 가능한 또는 분리 가능하지 않은 메모리, 소거 가능한 또는 소거 가능하지 않은 메모리, 기록 가능한 또는 재기록 가능한 메모리 등을 비롯하여, 전자 데이터를 저장할 수 있는 하나 이상의 유형의 컴퓨터 판독 가능한 저장 매체를 포함할 수 있다. 일부 예에서, 로직은 소프트웨어 컴포넌트, 프로그램, 애플리케이션, 컴퓨터 프로그램, 애플리케이션 프로그램, 시스템 프로그램, 머신 프로그램, 오퍼레이팅 시스템 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈, 루틴, 서브루틴, 기능, 방법, 절차, 소프트웨어 인터페이스, API, 명령어 집합, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트, 컴퓨터 코드 세그먼트, 워드, 값, 심볼 또는 이들의 조합과 같은 다양한 소프트웨어 요소를 포함할 수 있다.
일부 예에 따르면, 컴퓨터 판독 가능 매체는 머신, 컴퓨팅 디바이스 또는 시스템에 의해 실행될 때, 그 머신, 컴퓨팅 디바이스 또는 시스템으로 하여금 설명된 예에 따라 방법 및/또는 동작을 수행하도록 하는 명령어를 저장 또는 유지하는 비일시적인 저장 매체를 포함할 수 있다. 명령어는 소스 코드, 컴파일된 코드, 해석된 코드, 실행가능 코드, 정적 코드, 및 동적 코드 등과 같은 임의의 적절한 유형의 코드를 포함할 수 있다. 명령어는 특정 기능을 수행하기 위하여 머신, 컴퓨팅 디바이스 또는 시스템에 명령하는 미리 정의된 컴퓨터 언어, 방식 또는 신택스에 따라 구현될 수 있다. 명령어는 임의의 적당한 하이 레벨, 로우 레벨, 객체 지향, 비주얼, 컴파일된 그리고/또는 해석된 프로그래밍 언어를 사용하여 구현될 수 있다.
일부 예는 "일 예에서" 또는 "예"의 표현을 그들의 파생어와 함께 사용하여 설명될 수 있다. 이들 용어는 예와 관련하여 설명된 특정 기능, 구조, 또는 특징이 적어도 하나의 예에 포함된다는 것을 의미한다. 본 명세서의 여러 곳에서 "일 예에서"라는 관용구가 출현한다고 하여 반드시 모두 동일한 예를 지칭하는 것은 아니다.
일부 예는 "결합된" 및 "접속된"이라는 표현을 그들의 파생어와 함께 사용하여 설명될 수 있다. 이들 용어는 반드시 서로 동의어로서 의도되지 않는다. 예를 들어, "접속된" 및/또는 "결합된"이라는 용어를 사용하는 설명은 두 개 이상의 요소가 서로 직접 물리적으로 또는 전기적으로 접촉되어 있는 것을 시사할 수 있다. 그러나 "결합된"이라는 용어는 두 개 이상의 요소가 직접 서로 접촉되어 있지 않지만, 여전히 서로 상호 작용하거나 협조하는 것을 의미하기도 한다.
다음 예는 본 명세서에 개시된 기술의 부가적인 예에 속한다.
예 1. 예시적인 장치는 설정 가능한 컴퓨팅 자원의 시스템의 컨트롤러용 회로를 포함할 수 있다. 장치는 또한 작업부하를 구현하거나 실행하는 논리 서버에 설정 가능한 컴퓨팅 자원을 할당하라는 요청을 수신하도록 회로에 의해 실행하기 위한 요청 컴포넌트를 포함할 수 있다. 장치는 또한 논리 서버에 할당하는데 이용 가능한 설정 가능한 컴퓨팅 자원 중 제 1 부분에 대한 제 1의 가중 합 할당 점수를 결정하고 논리 서버에 할당하는데 이용 가능한 설정 가능한 컴퓨팅 자원 중 제 2 부분에 대한 제 2의 가중 합 할당 점수를 결정하도록 회로에 의해 실행하기 위한 점수 컴포넌트를 포함할 수 있다. 장치는 또한 제 1 및 제 2의 가중 합 할당 점수를 비교하도록 회로에 의해 실행하기 위한 순위 컴포넌트를 포함할 수 있다. 장치는 또한 비교에 기초하여 제 1 부분 또는 제 2 부분을 논리 서버에 할당하도록 회로에 의해 실행하기 위한 할당 컴포넌트를 포함할 수 있다.
예 2. 예 1의 장치에서, 할당 컴포넌트는 논리 서버에 제 1 또는 제 2 부분의 할당을 표시하는 자원 카탈로그를 업데이트할 수 있다.
예 3. 예 1의 장치에서, 설정 가능한 컴퓨팅 자원의 시스템은 복수의 랙에서 유지되는 설정 가능한 컴퓨팅 자원을 포함할 수 있다.
예 4. 예 3의 장치에서, 설정 가능한 컴퓨팅 자원의 제 1 및 제 2 부분은 각기 제 1 및 제 2 구성을 포함할 수 있고, 각각의 구성은 하나 이상의 유형에 속하는 복수의 분해된 물리적 요소를 갖는다. 점수 컴포넌트는 복수의 랙 중에서 상이한 랙에 물리적으로 배치된 같은 유형의 분해된 물리적 요소에 기초하여 제 1 및 제 2 가중 점수를 결정할 수 있다. 할당 컴포넌트는 순위 컴포넌트에 의한 제 1 및 제 2 가중 점수의 비교에 기초하여 그리고 높은 가용성 요건을 충족하는 할당을 표시하는 요청에 기초하여 설정 가능한 컴퓨팅 자원의 제 1 부분 또는 제 2 부분을 할당할 수 있다.
예 5. 예 4의 장치에서, 하나 이상의 유형은 중앙 처리 유닛 유형, 메모리 유형, 스토리지 유형, 또는 네트워크 입력/출력 유형을 포함할 수 있다.
예 6. 예 1의 장치에서, 제 1 및 제 2 가중 점수는 설정 가능한 컴퓨팅 자원이 비용 민감 템플릿, 성능 민감 템플릿, 높은 가용성 템플릿, 또는 균형을 이룬 템플릿 중 하나의 템플릿에 기초하여 할당될 것이라는 것을 요청이 표시하는지의 여부에 따라서 가중될 수 있다.
예 7. 예 6의 장치에서, 제 1 및 제 2 가중 합 할당 점수는 설정 가능한 컴퓨팅 자원의 각각의 제 1 및 제 2 부분에 포함된 각각의 설정 가능한 컴퓨팅 자원에 대한 복수의 할당 속성에 기초하여 점수 컴포넌트에 의해 결정될 수 있다.
예 8. 예 7의 장치에서, 복수의 할당 속성은 작동 온도, 전력/에너지 소비량, 총 가동 시간, 또는 단위 비용을 포함할 수 있다.
예 9. 예 8의 장치에서, 비용 민감 템플릿은 단위 비용이 복수의 할당 속성 중에서 최고의 가중치를 갖게 하거나 성능 민감 템플릿 및 높은 가용성 템플릿은 총 가동 시간이 복수의 할당 속성 중에서 최고 가중치를 갖게 할 수 있다.
예 10. 예 1의 장치에서, 할당 컴포넌트는 작업부하를 구현하거나 실행하는 논리 서버에 설정 가능한 컴퓨팅 자원 중 제 1 부분을 할당할 수 있다. 장치는 또한 논리 서버가 작업부하를 구현하거나 실행할 때 제 1 부분에 포함된 각각의 설정 가능한 컴퓨팅 자원에 대한 복수의 동작 속성을 모니터링하는 회로에 의해 실행하기 위한 모니터 컴포넌트를 포함할 수 있다. 점수 컴포넌트는 모니터 컴포넌트에 의해 모니터링된 복수의 동작 속성에 기초하여 제 1 부분에 대한 제 1의 가중 합 동작 점수를 결정할 수 있다. 순위 컴포넌트는 작업부하를 구현하거나 실행하기 위해 이전에 할당된 설정 가능한 컴퓨팅 자원 중 하나 이상의 다른 부분에 대해 결정된 하나 이상의 과거 가중 합 동작 점수와 비교된 가중 합 동작 점수의 순위를 평가할 수 있다. 할당 컴포넌트는 순위에 기초하여 설정 가능한 컴퓨팅 자원이 제 1 부분에 포함된 것을 수정할 수 있다.
예 11. 예 10의 장치에서, 제 1의 가중 합 동작 점수는 작업부하에 대한 서비스 레벨 계약에 기초하여 가중될 수 있다.
예 12. 예 1의 장치에서, 설정 가능한 컴퓨팅 자원의 제 1 및 제 2 부분은 각기 제 1 및 제 2 구성을 포함할 수 있고, 각각의 구성은 하나 이상의 유형에 속하는 복수의 분해된 물리적 요소를 갖는다. 하나 이상의 유형은 중앙 처리 유닛 유형, 메모리 유형, 스토리지 유형, 또는 네트워크 입력/출력 유형을 포함할 수 있다.
예 13. 예 1의 장치에서, 회로에 결합되어 사용자 인터페이스 뷰(user interface view)를 제공하는 디지털 디스플레이를 포함할 수 있다.
예 14. 예시적인 방법은 설정 가능한 컴퓨팅 자원의 시스템의 자원 관리자에서, 작업부하를 구현하거나 실행하는 논리 서버에 설정 가능한 컴퓨팅 자원을 할당하라는 요청을 수신하는 단계를 포함할 수 있다. 방법은 또한 논리 서버에 할당하는데 이용 가능한 설정 가능한 컴퓨팅 자원 중 제 1 부분에 대한 제 1의 가중 합 할당 점수를 결정하는 단계를 포함할 수 있다. 방법은 또한 논리 서버에 할당하는데 이용 가능한 설정 가능한 컴퓨팅 자원 중 제 2 부분에 대한 제 2의 가중 합 할당 점수를 결정하는 단계를 포함할 수 있다. 방법은 또한 제 1 및 제 2의 가중 합 할당 점수를 비교하여 제 2 부분에 대한 제 1 부분의 순위를 평가하는 단계를 포함할 수 있다. 방법은 또한 순위에 기초하여 제 1 부분 또는 제 2 부분을 논리 서버에 할당하는 단계를 포함할 수 있다.
예 15. 예 14의 방법은 논리 서버에 제 1 또는 제 2 부분의 할당을 표시하는 자원 카탈로그를 업데이트하는 단계를 포함할 수 있다.
예 16. 예 14의 방법에서, 설정 가능한 컴퓨팅 자원의 시스템은 복수의 랙에서 유지되는 설정 가능한 컴퓨팅 자원을 포함할 수 있다.
예 17. 예 16의 방법에서, 설정 가능한 컴퓨팅 자원의 제 1 및 제 2 부분은 각기 제 1 및 제 2 구성을 포함할 수 있고, 각각의 구성은 하나 이상의 유형에 속하는 복수의 분해된 물리적 요소를 갖는다. 방법은 또한 복수의 랙 중에서 상이한 랙에 물리적으로 배치되는 같은 유형의 분해된 물리적 요소에 기초하여 제 1 및 제 2 가중 점수를 결정하는 단계를 포함할 수 있다. 방법은 또한 제 1 및 제 2 가중 점수의 비교에 기초하여 그리고 높은 가용성 요건을 충족하는 할당을 표시하는 요청에 기초하여 설정 가능한 컴퓨팅 자원의 제 1 부분 또는 제 2 부분을 할당하는 단계를 포함할 수 있다.
예 18. 예 17의 방법에서, 하나 이상의 유형은 중앙 처리 유닛 유형, 메모리 유형, 스토리지 유형, 또는 네트워크 입력/출력 유형을 포함할 수 있다.
예 19. 예 14의 방법에서, 제 1 및 제 2 가중 점수는 설정 가능한 컴퓨팅 자원이 비용 민감 템플릿, 성능 민감 템플릿, 높은 가용성 템플릿, 또는 균형을 이룬 템플릿 중 하나의 템플릿에 기초하여 할당될 것이라는 것을 요청이 표시하는지의 여부에 따라서 가중될 수 있다.
예 20. 예 19의 방법에서, 제 1 및 제 2 가중 합 할당 점수는 설정 가능한 컴퓨팅 자원의 각각의 제 1 및 제 2 부분에 포함된 각각의 설정 가능한 컴퓨팅 자원에 대한 복수의 할당 속성에 기초하여 결정될 수 있다.
예 21. 예 20의 방법에서, 복수의 할당 속성은 작동 온도, 전력/에너지 소비량, 총 가동 시간, 또는 단위 비용을 포함할 수 있다.
예 22. 예 21의 방법에서, 비용 민감 템플릿은 단위 비용이 복수의 할당 속성 중에서 최고의 가중치를 갖게 하거나 또는 성능 민감 템플릿 및 높은 가용성 템플릿은 총 가동 시간이 복수의 할당 속성 중에서 최고 가중치를 갖게 할 수 있다.
예 23. 예 14의 방법은 또한 작업부하를 구현하거나 실행하는 논리 서버에 설정 가능한 컴퓨팅 자원의 제 1 부분을 할당하는 단계를 포함할 수 있다. 방법은 또한 논리 서버가 작업부하를 구현하거나 실행할 때 제 1 부분에 포함된 각각의 설정 가능한 컴퓨팅 자원에 대한 복수의 동작 속성을 모니터링하는 단계를 포함할 수 있다. 방법은 또한 모니터링된 복수의 동작 속성에 기초하여 제 1 부분에 대한 제 1의 가중 합 동작 점수를 결정하는 단계를 포함할 수 있다. 방법은 또한 작업부하를 구현하거나 실행하기 위해 이전에 할당된 설정 가능한 컴퓨팅 자원 중 하나 이상의 다른 부분에 대해 결정된 하나 이상의 과거 가중 합 동작 점수와 비교된 가중 합 동작 점수의 순위를 평가하는 단계를 포함할 수 있다. 방법은 또한 순위에 기초하여 설정 가능한 컴퓨팅 자원이 제 1 부분에 포함된 것을 수정하는 단계를 포함할 수 있다.
예 24. 예 23의 방법에서, 제 1의 가중 합 동작 점수는 작업부하에 대한 서비스 레벨 계약에 기초하여 가중될 수 있다.
예 25. 예 14의 방법에서, 설정 가능한 컴퓨팅 자원의 제 1 및 제 2 부분은 각기 제 1 및 제 2 구성을 포함할 수 있고, 각각의 구성은 하나 이상의 유형에 속하는 복수의 분해된 물리적 요소를 갖고, 하나 이상의 유형은 중앙 처리 유닛 유형, 메모리 유형, 스토리지 유형, 또는 네트워크 입력/출력 유형을 포함할 수 있다.
예 26. 본 예에서, 적어도 하나의 머신 판독가능한 매체는 복수의 명령어를 포함하고, 명령어는 시스템에 의해 실행됨에 따라 시스템으로 하여금 예 14 내지 예 25 중 어느 한 예의 방법을 수행하게 할 수 있다.
예 27. 예시적인 장치는 예 14 내지 예 25 중 어느 한 예의 방법을 수행하기 위한 수단을 포함할 수 있다.
예 28. 본 예에서, 적어도 하나의 머신 판독가능한 매체는 복수의 명령어를 포함하며, 명령어는 설정 가능한 컴퓨팅 자원의 시스템과 함께 배치된 회로에 의해 실행됨에 따라 회로로 하여금 설정 가능한 컴퓨팅 자원을 작업부하를 구현하거나 실행하는 논리 서버에 할당하라는 요청을 수신하게 할 수 있다. 명령어는 또한 회로로 하여금 논리 서버에 할당하는데 이용 가능한 설정 가능한 컴퓨팅 자원 중 제 1 부분에 대한 제 1의 가중 합 할당 점수를 결정하게 할 수 있다. 명령어는 또한 회로로 하여금 논리 서버에 할당하는데 이용 가능한 설정 가능한 컴퓨팅 자원 중 제 2 부분에 대한 제 2의 가중 합 할당 점수를 결정하게 할 수 있다. 명령어는 또한 회로로 하여금 제 1 및 제 2의 가중 합 할당 점수를 비교하여 제 2 부분에 대한 제 1 부분의 순위를 평가하게 할 수 있다. 순위에 기초하여 제 1 부분 또는 제 2 부분을 논리 서버에 할당하게 할 수 있다.
예 29. 예 28의 적어도 하나의 머신 판독가능한 매체에서, 명령어는 또한 회로로 하여금 논리 서버에 제 1 또는 제 2 부분의 할당을 표시하는 자원 카탈로그를 업데이트하게 할 수 있다.
예 30. 예 28의 적어도 하나의 머신 판독가능한 매체에서, 설정 가능한 컴퓨팅 자원의 시스템은 복수의 랙에서 유지되는 설정 가능한 컴퓨팅 자원을 포함할 수 있다.
예 31. 예 30의 적어도 하나의 머신 판독가능한 매체에서, 설정 가능한 컴퓨팅 자원의 제 1 및 제 2 부분은 각기 제 1 및 제 2 구성을 포함할 수 있고, 각각의 구성은 하나 이상의 유형에 속하는 복수의 분해된 물리적 요소를 가지며, 명령어는 또한 회로로 하여금 복수의 랙 중에서 상이한 랙에 물리적으로 배치된 같은 유형의 분해된 물리적 요소에 기초하여 제 1 및 제 2 가중 점수를 결정하게 할 수 있다. 명령어는 또한 회로로 하여금 제 1 및 제 2 가중 점수의 비교에 기초하여 그리고 높은 가용성 요건을 충족하는 할당을 표시하는 요청에 기초하여 설정 가능한 컴퓨팅 자원의 제 1 부분 또는 제 2 부분을 할당하게 할 수 있다.
예 32. 예 31의 적어도 하나의 머신 판독가능한 매체에서, 하나 이상의 유형은 중앙 처리 유닛 유형, 메모리 유형, 스토리지 유형, 또는 네트워크 입력/출력 유형을 포함할 수 있다.
예 33. 예 28의 적어도 하나의 머신 판독가능한 매체에서, 제 1 및 제 2 가중 점수는 설정 가능한 컴퓨팅 자원이 비용 민감 템플릿, 성능 민감 템플릿, 높은 가용성 템플릿, 또는 균형을 이룬 템플릿 중 하나의 템플릿에 기초하여 할당될 것이라는 것을 요청이 표시하는지의 여부에 따라서 가중될 수 있다.
예 34. 예 33의 적어도 하나의 머신 판독가능한 매체에서, 제 1 및 제 2 가중 합 할당 점수는 설정 가능한 컴퓨팅 자원의 각각의 제 1 및 제 2 부분에 포함된 각각의 설정 가능한 컴퓨팅 자원에 대한 복수의 할당 속성에 기초할 수 있다.
예 35. 예 34의 적어도 하나의 머신 판독가능한 매체에서, 복수의 할당 속성은 작동 온도, 전력/에너지 소비량, 총 가동 시간, 또는 단위 비용을 포함할 수 있다.
예 36. 예 35의 적어도 하나의 머신 판독가능한 매체에서, 비용 민감 템플릿은 단위 비용이 복수의 할당 속성 중에서 최고의 가중치를 갖게 하거나 또는 성능 민감 템플릿 및 높은 가용성 템플릿은 총 가동 시간이 복수의 할당 속성 중에서 최고 가중치를 갖게 할 수 있다.
예 37. 예 28의 적어도 하나의 머신 판독가능한 매체에서, 명령어는 또한 회로로 하여금 설정 가능한 컴퓨팅 자원 중 제 1 부분을 작업부하를 구현하거나 실행하는 논리 서버에 할당하게 할 수 있다. 명령어는 또한 회로로 하여금 논리 서버가 작업부하를 구현하거나 실행할 때 제 1 부분에 포함된 각각의 설정 가능한 컴퓨팅 자원에 대한 복수의 동작 속성을 모니터링하게 할 수 있다. 명령어는 또한 회로로 하여금 모니터링된 복수의 동작 속성에 기초하여 제 1 부분에 대한 제 1의 가중 합 동작 점수를 결정하게 할 수 있다. 명령어는 또한 회로로 하여금 작업부하를 구현하거나 실행하기 위해 이전에 할당된 설정 가능한 컴퓨팅 자원 중 하나 이상의 다른 부분에 대해 결정된 하나 이상의 과거 가중 합 동작 점수와 비교된 가중 합 동작 점수의 순위를 평가하게 할 수 있다. 명령어는 또한 회로로 하여금 순위에 기초하여 설정 가능한 컴퓨팅 자원이 제 1 부분에 포함된 것을 수정하게 할 수 있다.
예 38. 예 37의 적어도 하나의 머신 판독가능한 매체에서, 제 1의 가중 합 동작 점수는 작업부하에 대한 서비스 레벨 계약에 기초하여 가중될 수 있다.
예 39. 예 28의 적어도 하나의 머신 판독가능한 매체에서, 설정 가능한 컴퓨팅 자원의 제 1 및 제 2 부분은 각기 제 1 및 제 2 구성을 포함할 수 있고, 각각의 구성은 하나 이상의 유형에 속하는 복수의 분해된 물리적 요소를 갖고, 하나 이상의 유형은 중앙 처리 유닛 유형, 메모리 유형, 스토리지 유형, 또는 네트워크 입력/출력 유형을 포함할 수 있다.
아래의 요약서는 독자가 기술적인 개시의 본질을 신속하게 확인할 수 있도록 제공된 것임을 강조하는 것이다. 이는 청구항의 범위 또는 의미를 해석 또는 제한하기 위해 사용되지 않을 것이라는 것을 알고 있으리라 본다. 또한, 전술한 상세한 설명에서 다양한 특징들이 본 개시를 간소화하기 위한 목적으로 단일의 예에서 함께 모여 있는 것을 알 수 있다. 본 개시의 방법은 청구된 예가 각각의 청구항에서 명확하게 인용된 것보다 더 많은 특징이 필요하다는 의도를 반영한 것으로 해석되어서는 안 된다. 오히려, 다음의 청구항에 반영된 것처럼, 본 발명의 주제는 개시된 단일의 예의 모든 특징보다 적게 기재되어 있다. 그러므로 다음의 청구항은 상세한 설명에 포함되며, 각각의 청구항은 그 자체를 개별적인 예로서 독립되어 있다. 첨부된 청구범위에서, "포함하는" 및 "~에서 ~하는"라는 용어는 각각 "구비하는" 및 "여기서~하는"이라는 표현과 동일하게 사용되었다. 또한, "제 1", "제 2", "제 3" 등의 용어는 그저 레이블로서 사용될 뿐이며, 이들 개체에 수치적인 요건을 부여하려는 의도가 있는 것은 아니다.
비록 본 주제는 구조적 특징 및/또는 방법론의 동작에 특유한 언어로 설명되었지만, 첨부된 청구범위에서 정의된 주제는 앞에서 설명된 특정한 특징 또는 동작으로 반드시 제한되는 것이 아님을 이해되어야 한다. 오히려, 앞에서 설명한 특정한 특징 및 동작은 청구범위를 구현하는 예시적인 형태로서 개시된다.

Claims (28)

  1. 설정 가능한 컴퓨팅 자원의 할당을 위한 장치로서,
    설정 가능한 컴퓨팅 자원의 시스템의 컨트롤러용 회로와,
    작업부하를 구현하거나 실행하는 논리 서버에 상기 설정 가능한 컴퓨팅 자원을 할당하라는 요청을 수신하도록 상기 회로에 의해 실행하기 위한 요청 컴포넌트와,
    상기 논리 서버에 할당하는데 이용 가능한 상기 설정 가능한 컴퓨팅 자원 중 제 1 부분에 대한 제 1의 가중 합 할당 점수를 결정하고 상기 논리 서버에 할당하는데 이용 가능한 상기 설정 가능한 컴퓨팅 자원 중 제 2 부분에 대한 제 2의 가중 합 할당 점수를 결정하도록 상기 회로에 의해 실행하기 위한 점수 컴포넌트와,
    상기 제 1의 가중 합 할당 점수 및 상기 제 2의 가중 합 할당 점수를 비교하도록 상기 회로에 의해 실행하기 위한 순위 컴포넌트와,
    상기 비교에 기초하여 상기 제 1 부분 또는 상기 제 2 부분을 상기 논리 서버에 할당하도록 상기 회로에 의해 실행하기 위한 할당 컴포넌트를 포함하는
    설정 가능한 컴퓨팅 자원의 할당을 위한 장치.
  2. 제 1 항에 있어서,
    상기 할당 컴포넌트는 상기 논리 서버에 상기 제 1 부분 또는 상기 제 2 부분의 할당을 표시하는 자원 카탈로그를 업데이트하는
    설정 가능한 컴퓨팅 자원의 할당을 위한 장치.
  3. 제 1 항에 있어서,
    상기 설정 가능한 컴퓨팅 자원의 시스템은 복수의 랙에서 유지되는 상기 설정 가능한 컴퓨팅 자원을 포함하는
    설정 가능한 컴퓨팅 자원의 할당을 위한 장치.
  4. 제 3 항에 있어서,
    상기 설정 가능한 컴퓨팅 자원의 상기 제 1 부분 및 상기 제 2 부분은 각기 제 1 및 제 2 구성을 포함하고, 각각의 구성은 하나 이상의 유형에 속하는 복수의 분해된 물리적 요소(a plurality of disaggregate physical elements)를 가지며,
    상기 점수 컴포넌트는 상기 복수의 랙 중에서 상이한 랙에 물리적으로 배치된 같은 유형의 분해된 물리적 요소에 기초하여 상기 제 1의 가중 합 할당 점수 및 제 2의 가중 합 할당 점수를 결정하며,
    상기 할당 컴포넌트는 상기 순위 컴포넌트에 의한 상기 제 1의 가중 합 할당 점수 및 상기 제 2의 가중 합 할당 점수의 비교에 기초하여 그리고 높은 가용성 요건을 충족하는 할당을 표시하는 요청에 기초하여 상기 설정 가능한 컴퓨팅 자원의 상기 제 1 부분 또는 상기 제 2 부분을 할당하는
    설정 가능한 컴퓨팅 자원의 할당을 위한 장치.
  5. 제 4 항에 있어서,
    상기 하나 이상의 유형은 중앙 처리 유닛 유형, 메모리 유형, 스토리지 유형, 또는 네트워크 입력/출력 유형을 포함하는
    설정 가능한 컴퓨팅 자원의 할당을 위한 장치.
  6. 제 1 항에 있어서,
    상기 제 1의 가중 합 할당 점수 및 상기 제 2의 가중 합 할당 점수는 상기 설정 가능한 컴퓨팅 자원이 비용 민감 템플릿, 성능 민감 템플릿, 높은 가용성 템플릿, 또는 균형을 이룬 템플릿 중 하나의 템플릿에 기초하여 할당될 것이라는 것을 상기 요청이 표시하는지의 여부에 따라서 가중되는
    설정 가능한 컴퓨팅 자원의 할당을 위한 장치.
  7. 제 6 항에 있어서,
    상기 제 1의 가중 합 할당 점수 및 상기 제 2의 가중 합 할당 점수는 상기 설정 가능한 컴퓨팅 자원의 각각의 제 1 및 제 2 부분에 포함된 각각의 설정 가능한 컴퓨팅 자원에 대한 복수의 할당 속성에 기초하여 상기 점수 컴포넌트에 의해 결정되는
    설정 가능한 컴퓨팅 자원의 할당을 위한 장치.
  8. 제 7 항에 있어서,
    상기 복수의 할당 속성은 작동 온도, 전력/에너지 소비량, 총 가동 시간(total uptime in hours), 또는 단위 비용을 포함하는
    설정 가능한 컴퓨팅 자원의 할당을 위한 장치.
  9. 제 8 항에 있어서,
    상기 비용 민감 템플릿은 단위 비용이 상기 복수의 할당 속성 중에서 최고의 가중치를 갖게 하거나 또는 상기 성능 민감 템플릿 및 높은 가용성 템플릿은 총 가동 시간이 상기 복수의 할당 속성 중에서 최고 가중치를 갖게 하는
    설정 가능한 컴퓨팅 자원의 할당을 위한 장치.
  10. 제 1 항에 있어서,
    상기 할당 컴포넌트는 상기 작업부하를 구현하거나 실행하는 상기 논리 서버에 상기 설정 가능한 컴퓨팅 자원 중 상기 제 1 부분을 할당하며,
    상기 장치는,
    상기 논리 서버가 상기 작업부하를 구현하거나 실행할 때 상기 제 1 부분에 포함된 각각의 설정 가능한 컴퓨팅 자원에 대한 복수의 동작 속성을 모니터링하도록 상기 회로에 의해 실행하기 위한 모니터 컴포넌트를 포함하고,
    상기 점수 컴포넌트는, 상기 모니터 컴포넌트에 의해 모니터링된 상기 복수의 동작 속성에 기초하여 상기 제 1 부분에 대한 제 1의 가중 합 동작 점수를 결정하며,
    상기 순위 컴포넌트는, 상기 작업부하를 구현하거나 실행하기 위해 이전에 할당된 상기 설정 가능한 컴퓨팅 자원 중 하나 이상의 다른 부분에 대해 결정된 하나 이상의 과거 가중 합 동작 점수와 비교된 상기 가중 합 동작 점수의 순위를 평가하며,
    상기 할당 컴포넌트는 상기 순위에 기초하여 설정 가능한 컴퓨팅 자원이 상기 제 1 부분에 포함된 것을 수정하는
    설정 가능한 컴퓨팅 자원의 할당을 위한 장치.
  11. 삭제
  12. 제 1 항에 있어서,
    상기 설정 가능한 컴퓨팅 자원의 상기 제 1 부분 및 상기 제 2 부분은 각기 제 1 구성 및 제 2 구성을 포함하고, 각각의 구성은 하나 이상의 유형에 속하는 복수의 분해된 물리적 요소를 갖고, 상기 하나 이상의 유형은 중앙 처리 유닛 유형, 메모리 유형, 스토리지 유형, 또는 네트워크 입력/출력 유형을 포함하는
    설정 가능한 컴퓨팅 자원의 할당을 위한 장치.
  13. 삭제
  14. 설정 가능한 컴퓨팅 자원의 시스템의 자원 관리자에서, 작업부하를 구현하거나 실행하는 논리 서버에 상기 설정 가능한 컴퓨팅 자원을 할당하라는 요청을 수신하는 단계와,
    상기 논리 서버에 할당하는데 이용 가능한 상기 설정 가능한 컴퓨팅 자원 중 제 1 부분에 대한 제 1의 가중 합 할당 점수를 결정하는 단계와,
    상기 논리 서버에 할당하는데 이용 가능한 상기 설정 가능한 컴퓨팅 자원 중 제 2 부분에 대한 제 2의 가중 합 할당 점수를 결정하는 단계와,
    상기 제 1의 가중 합 할당 점수 및 상기 제 2의 가중 합 할당 점수를 비교하여 상기 제 2 부분에 대한 상기 제 1 부분의 순위를 평가하는 단계와,
    상기 순위에 기초하여 상기 제 1 부분 또는 상기 제 2 부분을 상기 논리 서버에 할당하는 단계를 포함하는
    설정 가능한 컴퓨팅 자원의 할당을 위한 방법.
  15. 제 14 항에 있어서,
    상기 설정 가능한 컴퓨팅 자원의 시스템은 복수의 랙에서 유지되는 상기 설정 가능한 컴퓨팅 자원을 포함하는
    설정 가능한 컴퓨팅 자원의 할당을 위한 방법.
  16. 삭제
  17. 삭제
  18. 제 15 항에 있어서,
    상기 설정 가능한 컴퓨팅 자원의 상기 제 1 부분 및 상기 제 2 부분은 각기 제 1 구성 및 제 2 구성을 포함하고, 각각의 구성은 하나 이상의 유형에 속하는 복수의 분해된 물리적 요소를 갖고,
    상기 복수의 랙 중에서 상이한 랙에 물리적으로 배치된 같은 유형의 분해된 물리적 요소에 기초하여 상기 제 1의 가중 합 할당 점수 및 상기 제 2의 가중 합 할당 점수가 결정되고,
    상기 제 1의 가중 합 할당 점수 및 상기 제 2의 가중 합 할당 점수의 비교에 기초하여 그리고 높은 가용성 요건을 충족하는 할당을 표시하는 요청에 기초하여 상기 설정 가능한 컴퓨팅 자원의 상기 제 1 부분 또는 상기 제 2 부분이 할당되는
    설정 가능한 컴퓨팅 자원의 할당을 위한 방법.
  19. 복수의 명령어를 포함하는 적어도 하나의 머신 판독가능한 매체로서,
    상기 복수의 명령어는 시스템에 의해 실행되는 것에 응답하여 상기 시스템으로 하여금 제14항, 제15항 및 제18항 중 어느 한 항의 방법을 수행하게 하는
    적어도 하나의 머신 판독가능한 매체.
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
KR1020167020376A 2014-02-27 2015-02-23 설정 가능한 컴퓨팅 자원 할당 기술 KR101815148B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461945753P 2014-02-27 2014-02-27
US201461945757P 2014-02-27 2014-02-27
US61/945,757 2014-02-27
US61/945,753 2014-02-27
PCT/US2015/017101 WO2015130613A1 (en) 2014-02-27 2015-02-23 Techniques to allocate configurable computing resources

Publications (2)

Publication Number Publication Date
KR20160102552A KR20160102552A (ko) 2016-08-30
KR101815148B1 true KR101815148B1 (ko) 2018-01-04

Family

ID=54009529

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167020376A KR101815148B1 (ko) 2014-02-27 2015-02-23 설정 가능한 컴퓨팅 자원 할당 기술

Country Status (6)

Country Link
US (1) US10120727B2 (ko)
EP (1) EP3111329A4 (ko)
KR (1) KR101815148B1 (ko)
CN (1) CN105940378B (ko)
RU (1) RU2646323C2 (ko)
WO (1) WO2015130613A1 (ko)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101815148B1 (ko) 2014-02-27 2018-01-04 인텔 코포레이션 설정 가능한 컴퓨팅 자원 할당 기술
FR3023108A1 (fr) * 2014-06-30 2016-01-01 Orange Procede et dispositif d'orchestration de ressources
US9749195B2 (en) * 2014-12-05 2017-08-29 Accenture Global Services Limited Technical component provisioning using metadata structural hierarchy
US11336519B1 (en) * 2015-03-10 2022-05-17 Amazon Technologies, Inc. Evaluating placement configurations for distributed resource placement
US10362099B2 (en) * 2015-06-23 2019-07-23 Amazon Technologies, Inc. Multiple instance types serving a single workload or application
US9959146B2 (en) * 2015-10-20 2018-05-01 Intel Corporation Computing resources workload scheduling
CN105630603A (zh) * 2015-12-17 2016-06-01 北京华胜天成科技股份有限公司 部署虚拟服务器的方法和装置
US10305974B2 (en) * 2015-12-23 2019-05-28 Intel Corporation Ranking system
EP3261290B1 (en) * 2015-12-31 2020-11-25 Huawei Technologies Co., Ltd. Software defined data center and method for deploying service cluster therein
CN106982241A (zh) * 2016-01-18 2017-07-25 中兴通讯股份有限公司 资源管理方法、装置和系统
US10277911B2 (en) * 2016-01-22 2019-04-30 Wowza Media Systems, LLC Video processing workload management
US10877816B2 (en) * 2016-04-20 2020-12-29 Samsung Electronics Co., Ltd. Optimal task scheduler
US10067785B1 (en) * 2016-06-29 2018-09-04 Amazon Technologies, Inc. Event driven virtual machine instance pool balancing
US10749782B2 (en) * 2016-09-10 2020-08-18 Splunk Inc. Analyzing servers based on data streams generated by instrumented software executing on the servers
US10666569B1 (en) 2016-09-23 2020-05-26 Amazon Technologies, Inc. Journal service with named clients
US10423459B1 (en) * 2016-09-23 2019-09-24 Amazon Technologies, Inc. Resource manager
US10805238B1 (en) 2016-09-23 2020-10-13 Amazon Technologies, Inc. Management of alternative resources
US10509680B2 (en) * 2016-11-23 2019-12-17 Vmware, Inc. Methods, systems and apparatus to perform a workflow in a software defined data center
CN107276914B (zh) * 2017-06-01 2020-12-01 千寻位置网络有限公司 基于cmdb的自助资源分配调度的方法
CN107172094B (zh) * 2017-07-05 2020-04-17 北京并行科技股份有限公司 访问超级计算中心上服务程序的方法及系统
US20190068466A1 (en) * 2017-08-30 2019-02-28 Intel Corporation Technologies for auto-discovery of fault domains
US20190166032A1 (en) * 2017-11-30 2019-05-30 American Megatrends, Inc. Utilization based dynamic provisioning of rack computing resources
US10922141B2 (en) 2017-12-11 2021-02-16 Accenture Global Solutions Limited Prescriptive analytics based committed compute reservation stack for cloud computing resource scheduling
EP3495952A1 (en) * 2017-12-11 2019-06-12 Accenture Global Solutions Limited Prescriptive analytics based committed compute reservation stack for cloud computing resource scheduling
US10855537B2 (en) * 2018-04-24 2020-12-01 Vmware, Inc. Methods and apparatus for template driven infrastructure in virtualized server systems
US10925191B2 (en) * 2018-07-25 2021-02-16 Vmware, Inc Methods and apparatus to manage power delivery for a data center based on predicted power consumption
US11233847B1 (en) * 2018-11-21 2022-01-25 Amazon Technologies, Inc. Management of allocated computing resources in networked environment
US20200174844A1 (en) * 2018-12-04 2020-06-04 Huawei Technologies Canada Co., Ltd. System and method for resource partitioning in distributed computing
CN109614190A (zh) * 2018-12-06 2019-04-12 成都载信智能科技有限公司 资源配置管理方法及平台
US10691500B1 (en) * 2018-12-07 2020-06-23 Virtustream Ip Holding Company Llc Modeling workloads using micro workloads representing normalized units of resource consumption metrics
US11782755B2 (en) * 2019-12-02 2023-10-10 Intel Corporation Methods, systems, articles of manufacture, and apparatus to optimize thread scheduling
US11182716B2 (en) * 2020-01-30 2021-11-23 Coupang Corp. Cost efficiency tracking for configuration management database
CN111309479B (zh) * 2020-02-14 2023-06-06 北京百度网讯科技有限公司 一种任务并行处理的实现方法、装置、设备和介质
US11550637B2 (en) * 2020-02-28 2023-01-10 American Megatrends International, Llc Node recovery solution for composable and disaggregated environment
US11429455B2 (en) * 2020-04-29 2022-08-30 Vmware, Inc. Generating predictions for host machine deployments
US11392184B2 (en) 2020-09-25 2022-07-19 Microsoft Technology Licensing, Llc Disaggregated computer systems
KR102413922B1 (ko) * 2020-09-25 2022-06-29 주식회사 이노그리드 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스를 제공하는 단일 가상화 시스템을 위한 소프트웨어 정의 서버 배포 스케줄링 방법 및 그 시스템
CN113079389B (zh) * 2021-03-23 2022-01-25 国网江苏省电力有限公司信息通信分公司 一种边缘计算环境下的资源自适应调节方法
CN113407302B (zh) * 2021-05-26 2023-05-19 中国联合网络通信集团有限公司 资源管理方法及系统
CN113934515A (zh) * 2021-12-17 2022-01-14 飞诺门阵(北京)科技有限公司 一种基于数据域和计算域的容器组调度方法、装置
US20230205599A1 (en) * 2021-12-23 2023-06-29 Rakuten Mobile, Inc. Method, apparatus, and computer readable medium
CN114780170B (zh) * 2022-04-11 2023-07-21 远景智能国际私人投资有限公司 容器资源的配置方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7966308B1 (en) 2002-11-27 2011-06-21 Microsoft Corporation Use of a set based approach to constructing complex queries for managing resources built from a set of simple underlying operations
US20120136990A1 (en) 2007-08-07 2012-05-31 Ticketmaster, Llc Systems and methods for providing resource allocation in a networked environment
JP2013239095A (ja) 2012-05-17 2013-11-28 Nippon Telegr & Teleph Corp <Ntt> 仮想マシン配置装置および仮想マシン配置方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8555286B2 (en) 2004-10-27 2013-10-08 International Business Machines Corporation Method, system, and apparatus for establishing a software configurable computing environment
US8274518B2 (en) 2004-12-30 2012-09-25 Microsoft Corporation Systems and methods for virtualizing graphics subsystems
US8458711B2 (en) 2006-09-25 2013-06-04 Intel Corporation Quality of service implementation for platform resources
US8266254B2 (en) * 2008-08-19 2012-09-11 International Business Machines Corporation Allocating resources in a distributed computing environment
US9396042B2 (en) * 2009-04-17 2016-07-19 Citrix Systems, Inc. Methods and systems for evaluating historical metrics in selecting a physical host for execution of a virtual machine
US20120158923A1 (en) 2009-05-29 2012-06-21 Ansari Mohamed System and method for allocating resources of a server to a virtual machine
US8880682B2 (en) * 2009-10-06 2014-11-04 Emc Corporation Integrated forensics platform for analyzing IT resources consumed to derive operational and architectural recommendations
KR101240811B1 (ko) 2011-01-24 2013-03-11 주식회사 엘지씨엔에스 가상 서버 할당 시스템 및 방법
US9489222B2 (en) * 2011-08-24 2016-11-08 Radware, Ltd. Techniques for workload balancing among a plurality of physical machines
US8959223B2 (en) 2011-09-29 2015-02-17 International Business Machines Corporation Automated high resiliency system pool
US9727383B2 (en) * 2012-02-21 2017-08-08 Microsoft Technology Licensing, Llc Predicting datacenter performance to improve provisioning
US9268590B2 (en) * 2012-02-29 2016-02-23 Vmware, Inc. Provisioning a cluster of distributed computing platform based on placement strategy
KR101374120B1 (ko) 2012-05-31 2014-03-13 삼성에스디에스 주식회사 분석 작업 실행 이력을 이용한 가상 클러스터 구축 시스템 및 방법
KR101815148B1 (ko) 2014-02-27 2018-01-04 인텔 코포레이션 설정 가능한 컴퓨팅 자원 할당 기술

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7966308B1 (en) 2002-11-27 2011-06-21 Microsoft Corporation Use of a set based approach to constructing complex queries for managing resources built from a set of simple underlying operations
US20120136990A1 (en) 2007-08-07 2012-05-31 Ticketmaster, Llc Systems and methods for providing resource allocation in a networked environment
JP2013239095A (ja) 2012-05-17 2013-11-28 Nippon Telegr & Teleph Corp <Ntt> 仮想マシン配置装置および仮想マシン配置方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
김정원. ‘클라우드 컴퓨팅에서 워크플로우의 특성을 고려한 스케줄링 기법’. 한국컴퓨터정보학회 논문지 제17권 제9호, 2012.09, pp.1-8.*

Also Published As

Publication number Publication date
US10120727B2 (en) 2018-11-06
CN105940378B (zh) 2019-08-13
EP3111329A4 (en) 2017-11-15
EP3111329A1 (en) 2017-01-04
US20160357610A1 (en) 2016-12-08
CN105940378A (zh) 2016-09-14
RU2646323C2 (ru) 2018-03-02
RU2016130887A (ru) 2018-01-31
WO2015130613A1 (en) 2015-09-03
KR20160102552A (ko) 2016-08-30

Similar Documents

Publication Publication Date Title
KR101815148B1 (ko) 설정 가능한 컴퓨팅 자원 할당 기술
US11221886B2 (en) Optimizing dynamical resource allocations for cache-friendly workloads in disaggregated data centers
US9755990B2 (en) Automated reconfiguration of shared network resources
US10601903B2 (en) Optimizing dynamical resource allocations based on locality of resources in disaggregated data centers
US9684542B2 (en) Smart cloud workload balancer
US10191771B2 (en) System and method for resource management
JP6049887B2 (ja) リソース使用の自動プロファイル化
US11693698B2 (en) System and method for infrastructure scaling
US20150317179A1 (en) Efficient input/output-aware multi-processor virtual machine scheduling
US8739169B2 (en) Method for monitoring operating experiences of images to improve workload optimization in cloud computing environments
US20170286252A1 (en) Workload Behavior Modeling and Prediction for Data Center Adaptation
US10860385B2 (en) Method and system for allocating and migrating workloads across an information technology environment based on persistent memory availability
US10977085B2 (en) Optimizing dynamical resource allocations in disaggregated data centers
KR20110117670A (ko) 용량 플래닝 및 작업부하 관리를 통합하기 위한 시스템 및 방법
US10936374B2 (en) Optimizing dynamic resource allocations for memory-dependent workloads in disaggregated data centers
US10893096B2 (en) Optimizing dynamical resource allocations using a data heat map in disaggregated data centers
JP2021504780A (ja) 分散コンピューティング環境における自動対角スケーリングためのアプリケーションの優先順位付け
CN112513821A (zh) 用于scm应用的多实例2lm架构
Ravandi et al. A self-organized resource provisioning for cloud block storage
US20230029380A1 (en) System and method of multilateral computer resource reallocation and asset transaction migration and management
US10841367B2 (en) Optimizing dynamical resource allocations for cache-dependent workloads in disaggregated data centers
US10990434B2 (en) Increasing processing capacity of virtual machines for an abnormal event
US10721181B1 (en) Network locality-based throttling for automated resource migration

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