KR20100113601A - 하이브리드 컴퓨팅 환경을 관리하는 시스템 및 방법 - Google Patents

하이브리드 컴퓨팅 환경을 관리하는 시스템 및 방법 Download PDF

Info

Publication number
KR20100113601A
KR20100113601A KR1020107019071A KR20107019071A KR20100113601A KR 20100113601 A KR20100113601 A KR 20100113601A KR 1020107019071 A KR1020107019071 A KR 1020107019071A KR 20107019071 A KR20107019071 A KR 20107019071A KR 20100113601 A KR20100113601 A KR 20100113601A
Authority
KR
South Korea
Prior art keywords
operating system
node
workload
resource manager
computing environment
Prior art date
Application number
KR1020107019071A
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 어댑티브 컴퓨팅 엔터프라이즈 인코포레이티드
Publication of KR20100113601A publication Critical patent/KR20100113601A/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/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • 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

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

각 노드가 제 1 운영 체제와 연관된 제 1 자원 관리자 및 제 2 운영 체제와 연관된 제 2 자원 관리자와 통신하는 하이브리드 컴퓨팅 환경에서, 업무부하를 위한 노드들을 동적으로 준비하는 시스템들, 하이브리드 컴퓨팅 환경들, 방법들 및 컴퓨터-판독가능 매체들이 개시된다. 방법은 하이브리드 컴퓨팅 환경에서 제 1 운영 체제로부터 제 2 운영 체제로 적어도 하나의 노드를 준비하기 위한 업무부하 관리자로부터의 명령을 수신하는 단계, 제 2 운영 체제를 준비한 후, 적어도 하나의 노드와 연관된 자원 관리자로부터 적어도 하나의 신호를 풀링하고, 적어도 하나의 노드와 연관된 제 2 자원 관리자로부터 적어도 하나의 신호를 처리하고, 제 2 운영 체제가 준비된 적어도 하나의 노드와 연관된 자원들을 소비하는 단계를 포함한다.

Description

하이브리드 컴퓨팅 환경을 관리하는 시스템 및 방법{SYSTEM AND METHOD FOR MANAGING A HYBRID COMPUTE ENVIRONMENT}
본 발명은 다수의 상이한 형태들의 운영 체제들이 컴퓨팅 환경내의 다양한 노드들에 존재하는 그리드의 클러스터와 같은 하이브리드 컴퓨팅 환경에 관한 것이고, 보다 구체적으로는, 하나 이상의 노드들 상의 운영 체제들이 임박한 또는 예측된 업무부하(workload)와 연관된 요구들과 같은 다양한 인자들(factors)에 기초하여 별도의 운영 체제들이 되도록 자동으로 재준비될 수 있는 자동화된 준비(automated provisioning)를 관리하는 시스템 및 방법에 관한 것이다.
고성능 컴퓨팅(HPC;high performance computing)은 통상적으로 병렬 수퍼 컴퓨터들 및 상업적으로 이용 가능한 상호접속으로 단일 시스템에서 서로 링크된 다수의 처리기들을 포함하는 컴퓨터 클러스터들의 사용을 지칭한다. 높은 수준의 기술들은 통상적으로 이러한 시스템들을 구성 및 관리하도록 요구되며, 이들은 상품 성분들(commodity components)로 생성될 수 있다. 이들의 유연성 및 상대적으로 낮은 비용으로 인해, HPC 시스템들은 수퍼 컴퓨팅의 세계에서 점점 우위를 차지하고 있다. HPC는 전통적으로 리눅스 운영 체제가 우위를 차지하고 있어왔다. 그러나, 전문가들은 마이크로소프트 윈도우즈-기반 데이터 센터들, 클러스터들 또는 컴퓨팅 환경들이 가까운 미래에 보다 널리 퍼질것이라고 예상한다. 이는 애플리케이션 벤더들과 마이크로소프트의 강력한 관계와 같은 다양한 인자들에 기인할 수 있으며, 이들 대부분이 HPC 애플리케이션들을 윈도우 컴퓨팅 클러스터 서비스 2003(CCS)에 이미 이식(port)하였다. 또한, HPC 개념에 새로운 윈도우 사용자들로 구성된 시장 세그먼트를 주로 수반하는 업무 그룹 클러스터들에 대한 수요가 증가하고 있다. 그 결과, 과거에 오로지 리눅스에서 구동했던 HPC 환경들이 윈도우즈-기반 클러스터링의 옵션들을 탐험하고 있다. 윈도우/리눅스 하이브리드 클러스터들은 HPC 환경에서 윈도우즈를 채택하도록 리눅스 환경의 장벽들을 낮춘다. 그러나, 일부의 노드들이 리눅스와 같은 제 1 컴퓨터 운영 체제를 구동하고, 다른 노드들이 윈도우즈-기반 운영 체제와 같은 제 2 운영 체제를 구동할 수 있는 하이브리드 환경을 관리하고자 할 때 필요로 되는 유연성에서 곤란해질 수 있다. 따라서, 당업계에 필요로 되는 것은 하이브리드 클러스터링 환경을 관리하는 개선된 방법이다.
도 2a는 몇개의 상이한 컴퓨팅 환경들을 예시하고, 또한 단일의 하이브리드 컴퓨팅 환경을 나타낼 수도 있다. 제 1 환경(200)은 별도의 컴퓨팅 환경 또는 하이브리드 컴퓨팅 환경의 일부를 나타낼 수 있다. 리눅스 운영 체제 및 윈도우-기반 운영 체제들이 논의되지만, 본 발명은 제 2 운영 체제와 상이한 임의의 제 1 운영 체제와 관련될 수 있다고 예상된다. 본 발명의 범위내에 있는 것으로 예상되는 매킨토시 운영 체제 등의 다수의 상이한 형태들의 운영 체제들이 존재하고, 리눅스 및 윈도우즈의 용어들의 사용은 이들이 널리 퍼진 형태들의 운영 체제이고 본 발명의 개발을 시작하게 한 상기 2개의 형태들의 운영 체제들내의 유연성을 가능하게 하는 까닭에 사용되었다.
노드들(202)은 제 1 자원 관리자(204)에 의해 관리되는, 리눅스 운영 체제와 같은 제 1 운영 체제를 나타낸다. 당 분야에서 알려진 바와 같이, 이 제 1 자원 관리자는 TORQUE, 플랫폼의 LSF(Load Sharing Facility), 얼터러 엔지니어링(Altair Engineering)으로부터의 PBS Pro 등일 수 있다. 이 자원 관리자들은 당분야에 알려진 바와 같이, 통상적으로 노드들(202)이 사용자들에 의해 제출된 작업들(208)을 수신하는 업무부하 관리자(206)와 통신하는 것을 가능하게 한다. 환경(210)은 재차 동일한 하이브리드 컴퓨팅 환경의 일부일 수 있는 윈도우즈-기반 환경(즉, 제 2 운영 체제) 또는 노드들(212)이 윈도우즈의 컴퓨팅 클러스터 서버(CCS)와 같은 윈도우즈-기반 운영 체제를 구동하는 별도의 환경을 나타낸다. 제 2 운영 체제를 위한 자원 관리자(214)는 업무부하 관리자(216)가 윈도우즈-기반 노드들과 통신하는 것을 가능하게 한다. 재차, 작업들(208)은 작업들이 환경(210)내의 자원들을 실제로 소비하는 것을 가능하게 하도록 자원 관리자(214)와 통신하는 업무부하 관리자(216)를 통해 제출될 수 있다.
하이브리드 컴퓨팅 환경을 관리하는 데 있어 종래 기술에는 다수의 결함들이 존재한다.
본 발명의 부가적인 특징들 및 이점들은 아래의 설명에서 기술될 것이고, 상기 설명으로부터 부분적으로 명백해질 것이고, 본 발명의 실시에 의해 학습될 수 있다. 본 발명의 특징들 및 이점들은 첨부된 청구범위에서 특별히 지적된 도구들 및 조합에 의해 실현 및 획득될 수 있다. 본 발명의 상기 및 다른 특징들은 이하의 설명 및 첨부된 청구범위로부터 보다 완전히 명백하게 될 것이고, 여기서 기술되는 바와 같이 본 발명의 실시에 의해 학습될 수 있다.
본 발명은 하이브리드 컴퓨팅 환경을 관리하는 것에 관해 당 기술 분야의 결함들을 해결한다. 하이브리드 윈도우즈 및 리눅스 클러스터를 갖는 능력은 어드레싱 가능한 사용자들의 수를 증가시키고 클러스터의 효율을 개선한다. 클러스터 리소스, 인크.사로부터의 MOAB®과 같은 업무부하 관리자 소프트웨어의 현 개발들은 사용자들이 그들의 생산성 및 활용성을 증가시키고, 윈도우즈 기반 시스템을 이용하는 과학자들 및 공학자들의 보다 넓은 기반내로 접근함으로써 그들의 성취를 확장할 수 있게 한다. MOAB 소프트웨어와 같은 관리 소프트웨어는 운영 체제가 업무부하 및 정의된 정책들에 기초하여 수정되어야 하는 시기를 최적으로 결정하기 위해 지능형 스케줄링 정책 엔진을 제공한다. 조건들이 부합되면, 관리 소프트웨어는 디스크풀(diskfull) 또는 디스크레스(diskless) 준비, 듀얼 부팅 또는 가상화와 같은 사이트 선호되는 운영 체제들 변형 기술을 통해 변경을 트리거할 수 있다. 예를 들어, 이 방법론들은 당업자들에게 잘 알려져 있다.
본 발명은 적어도 하나의 노드가 제 1 자원 관리자에 의해 제어되는 제 1 운영 체제를 갖고, 적어도 하나의 노드가 제 2 자원 관리자에 의해 제어되는 제 2 운영 체제를 갖는 하이브리드 다중-노드 컴퓨팅 환경에서 업무부하를 관리하는 시스템들, 컴퓨팅 환경들, 데이터 센터들, 방법들 및 컴퓨터 판독가능한 매체들을 포함한다. 방법은 제 1 운영 체제 및 제 2 운영 체제 사이의 컴퓨팅 환경에서 노드들의 균형을 맞추는 정책을 확립하는 단계, 확립된 정책과 얼마나 잘 조정되었는지를 결정하기 위해 컴퓨팅 환경을 주기적으로 분석하는 단계, 및 분석에 기초하여, 확립된 정책에 따라 제 1 운영 체제로부터 제 2 운영 체제로 적어도 하나의 노드를 또는 제 2 운영 체제로부터 제 1 운영 체제로 적어도 하나의 노드를 변경하도록 컴퓨팅 환경의 노드들을 준비하는 단계를 포함한다.
본 발명의 다른 측면은, 방법은 하이브리드 컴퓨팅 환경에서 업무부하를 위한 노드를 동적으로 준비하는 단계를 수반한다는 것이다. 각 노드는 제 1 운영 체제와 연관된 제 1 자원 관리자 및 제 2 운영 체제와 연관된 제 2 자원 관리자와 통신한다. 방법은 하이브리드 컴퓨팅 환경에서 제 1 운영 체제로부터 제 2 운영 체제로 적어도 하나의 노드를 준비하도록 업무부하 관리자로부터의 명령을 수신하는 단계를 포함한다. 제 2 운영 체제를 준비한 후, 시스템은 적어도 하나의 노드와 연관된 상기 제 1 자원 관리자로부터 적어도 하나의 신호를 풀링(pooling)하고, 상기 적어도 하나의 노드와 연관된 상기 제 2 자원 관리자로부터 적어도 하나의 신호를 처리하고, 제 2 운영 체제가 준비된 적어도 하나의 노드와 연관된 자원들의 소비를 가능하게 한다.
실제로 이 개념의 예는 10개의 노드 클러스터가 3개의 노드들이 윈도우즈 운영 체제가 준비되고, 7개의 노드들이 리눅스-기반 운영 체제가 준비되는 현재 상태를 갖는 경우, 윈도우즈 구동 시스템을 동작하는 5개의 노드들이 필요로 되는 작업이 제출되었다고 가정한다. 업무부하 관리자 또는 다른 소프트웨어 모듈은 컴퓨팅 환경에서 리눅스 운영 체제로부터 윈도우즈 운영 체제로 2개의 노드들을 준비하기 위한 명령을 생성할 것이다. 리눅스 노드들은 종래 기술에 알려진 torque, LSF, PBS pro와 같은 자원 관리자와 연관될 수 있다. 윈도우즈-기반 노드들은 윈도우즈-기반 자원 관리자와 통신하게 될 것이다. 어떤 자원 관리자를 활용할지에 대해 운영 체제들을 재준비할 때 및 어떻게 주어진 노드의 상태와 연관된 자원 관리자로부터 다양한 상태 신호들 또는 다른 정보 신호들을 업무부하 관리자가 관리할지 문제가 발생한다. 이 예 하에서, 리눅스 운영 체제로부터 윈도우즈 운영 체제로 준비되는 2개의 노드들 각각은 각 노드와 연관될 수 있는 자원 관리자를 각각 갖는다. 그러나, 리눅스 운영 체제가 하나의 노드에서 준비될 때, 윈도우즈-기반 자원 관리자는 그 노드를 인지하지 못할 수 있고, 따라서, 노드가 다운되었음을 나타낼 수 있는 상태 신호를 송신하게 될 것이다. 그러나, 업무부하 관리자는 실제로 발생한 것은 준비(provisioning) 또는 별개의 운영 체제의 이용이라는 것을 지능적으로 알아차리고, 대안의 운영 체제가 노드에서 기능할 때 이러한 상태 신호들을 지능적으로 풀링(pool)할 것이다. 이에 관해, 시스템은, 몇개의 노드들에서 리눅스 환경으로부터 윈도우즈-기반 환경으로 재준비시에, 노드들이 윈도우즈-기반 운영 체제로 준비될 때 윈도우즈-기반 자원 관리자로부터의 상태 신호들을 풀링하는 것으로부터 리눅스-기반 자원 관리자로부터의 신호들을 풀링하는 것으로 스위칭할 것이다. 시스템은 적절한 수의 노드들이 원하는 운영 체제로 자동으로 천이하도록, 필요한 번역, 충돌 완화 및 자원 관리자들로부터의 다양한 충돌 보고들 내부의 충돌 관리를 수행한다.
풀링된 신호들은 소비되는 업무부하에 관해서 지능적으로 무시되고, 해당 노드에서 다음에 어떤 운영 체제가 준비될 수 있는지를 인지하도록 주어진 노드의 성능들 및 이력을 이해하기 위해 그리고, 계산 또는 다른 분석들을 위해 노드에 대한 이력을 유지하기 위해 업무부하 관리자에 의해 참조 또는 액세스될 수 있다.
여기에 개시된 원리에 따른 하이브리드 클러스터 모델은 관리를 통합하고, 양 운영 체제 플랫폼들을 걸친 작업 제출을 중앙화한다. 관리자들은 하나의 단일화된 콘솔로부터 두 운영 체제 정책들 및 업무부하를 명령할 수 있다. 여기에 개시된 바와 같은 소프트웨어 또는 운영 체제는 최종 사용자가 명세할 필요 없이 운영 체제상에서 구동하는 작업을 안전하게 하는 애플리케이션 및 업무부하 정보를 적용함으써 클러스터 환경의 듀얼-운영 체제 본질을 투명하게 하고 이용한다.
본 발명의 상술한 및 다른 이점들 및 특징들이 얻어질 수 있는 방식을 기술하기 위해, 위에서 간략히 기술된 본 발명의 보다 구체적인 설명은 첨부 도면들에서 예시된 특정 실시예들을 참조하여 이루어질 것이다. 이 도면들은 본 발명의 예시적인 예들만을 도시하는 것이며, 따라서 그 범위를 제한하는 것으로 고려되면 안된다는 것을 이해하고, 본 발명은 첨부 도면을 이용하여 부가적인 특수성 및 상세들이 기술 및 설명될 것이다.
도 1은 시스템 실시예에 따른 기본적인 하드웨어 성분들의 예시하는 도면.
도 2a는 하이브리드 클러스터링으로의 종래 기술의 접근을 예시하는 도면.
도 2b는 본 발명의 측면에 따른 예시적인 환경을 예시하는 도면.
도 3은 본 발명의 측면에 따른 환경의 다른 측면을 예시하는 도면.
도 4는 본 발명의 방법의 실시예를 예시하는 도면.
도 5는 본 발명의 다른 방법의 실시예를 도시하는 도면.
본 발명의 다양한 실시예들이 이하에 상세히 논의된다. 특정 구현들이 논의되지만, 이는 예시 목적을 위해서만이라는 것을 이해해야 한다. 당업자는 다른 성분들 및 구성들이 본 발명의 사상 및 범위로부터 벗어남 없이 이용될 수 있음을 인지할 것이다.
도 1을 참조하여, 예시적인 시스템은 처리기 유닛(CPU)(120), 판독 전용 메모리(ROM)(140) 및 랜덤 액세스 메모리(RAM)(150)와 같은 시스템 메모리를 포함하는 다양한 시스템 성분들을 처리 유닛(120)에 결합하는 시스템 버스(110)를 포함하는 범용 컴퓨팅 디바이스(100)를 포함한다. 다른 시스템 메모리(130) 또한 사용을위해 이용 가능하게 될 수 있다. 본 발명은 하나 이상의 CPU(120)를 갖는 컴퓨팅 디바이스 또는 보다 훌륭한 처리 성능을 제공하기 위해 서로 네트워킹된 컴퓨팅 디바이스들의 그룹 또는 클러스터상에서 동작할 수 있다는 것이 이해된다. 시스템 버스(110)는 메모리 버스 또는 메모리 제어기, 주변 버스, 및 다양한 버스 아키텍처를 이용한 로컬 버스를 포함하는 버스 구조 몇몇 형태들 중 임의의 것이 될 수 있다. ROM(140) 등에 저장된 기본적인 입력/출력(BIOS)는 시동(start-up) 동안과 같이, 컴퓨팅 디바이스(100)내의 요소들 사이에서 정보를 전달하는 것을 돕는 기본적인 루틴을 제공할 수 있다. 컴퓨팅 디바이스(100)는 하드 디스크 드라이브(160), 마그네틱 디스크 드라이브, 광 디스크 드라이브, 테이프 드라이브 등과 같은 저장 디바이스들을 더 포함한다. 저장 디바이스(160)는 드라이브 인터페이스에 의해 시스템 버스(110)에 접속된다. 드라이브들 및 연관된 컴퓨터 판독가능 매체들은 컴퓨터 판독 가능 명령들, 데이터 구조들, 프로그램 모듈들 및 컴퓨팅 디바이스(100)를 위한 다른 데이터의 비휘발성 저장을 제공한다. 기본적인 성분들은 당업자에게 알려져 있으며, 적절한 변동물들은 디바이스가 소형의, 휴대용 컴퓨팅 디바이스, 데스크톱 컴퓨터 또는 컴퓨터 서버인지 여부 등과 같이, 디바이스의 형태에 의존하여 예상된다.
여기서 기술된 예시적인 환경들이 하드 디스크를 이용할지라도, 당업자는 마그네틱 카세트들, 플래시 메모리 카드들, 디지털 다용도 디스크들, 카트리지들, 랜덤 액세스 메모리들(RAM들), 판독 전용 메모리(ROM), 케이블 또는 비트 스트림을 포함한 무선 신호 등과 같이, 컴퓨터에 의해 액세스 가능한 데이터를 저장할 수 있는 다른 형태들의 컴퓨터 판독가능 매체들이 예시적인 동작 환경에서 이용될 수도 있다는 것을 이해해야 한다.
컴퓨팅 디바이스(100)와의 사용자 상호작용을 가능하게 하기 위해, 입력 디바이스(190)는 음성용 마이크로폰, 제스처 또는 그래픽 입력을 위한 터치-감지 스크린, 키보드, 마우스, 모션 입력, 음성 등과 같은 임의의 수의 입력 매커니즘들을 나타낸다. 디바이스 출력(170)은 또한 당업자에게 알려진 다수의 출력 매커니즘들 중 하나 이상이 될 수 있다. 일부 상황들에서, 다양한 시스템들은 사용자가 컴퓨팅 디바이스(100)와 통신하기 위해 다수의 형태들의 입력을 제공하는 것을 가능하게 한다. 통신 인터페이스(180)는 일반적으로 사용자 입력 및 시스템 출력을 운영 및 관리한다. 임의의 특정 하드웨어 장치상에서 동작한다는 제한이 본 발명에 존재하지 않고, 따라서 여기서 기본적인 특징들은 개발되는 개선된 하드웨어 또는 펌웨어 장치들로 용이하게 교체될 수 있다.
설명의 명확성을 위해, 예시적인 시스템 실시예는 개개의 기능적인 블록들("처리기"로서 이름붙여진 기능적 블록들을 포함)을 포함하는 것으로서 제공된다. 이러한 블록들이 나타내는 기능들은 소프트웨어를 실행할 수 있는 하드웨어를 포함하는(그러나, 이것으로 제한되는 것은 아님) 공유 또는 전용 하드웨어의 이용을 통해 제공될 수 있다. 예를 들어, 도 1에 제공된 하나 이상의 처리기들의 기능들은 단일의 공유 처리기 또는 다수의 처리기들에 의해 제공된다.(용어 "처리기"의 이용은 소프트웨어를 실행할 수 있는 하드웨어를 배타적으로 지칭하는 것으로 해석돼선 안 됨) 예시적인 실시예들은 마이크로처리기 및/또는 디지털 신호 처리기(DSP) 하드웨어, 이하에 논의되는 동작들을 수행하는 소프트웨어를 저장하는 판독 전용 메모리(ROM), 및 결과들을 저장하는 랜덤 액세스 메모리(RAM)를 포함할 수 있다. 초대형 집적(VLSI) 하드웨어 실시들 및 범용 DSP 회로와 조합한 일반적인 VLSI 회로가 또한 제공될 수 있다.
다음, 본 발명의 측면에 따른 하이브리드 컴퓨팅 환경을 도시하는 도 2b를 참조한다. 도 2b에서, 하이브리드 환경(220)은 리눅스와 같은 제 1 운영 체제를 구동하는 다수의 노드들(202) 및 윈도우즈-기반 운영 체제와 같은 제 2 운영 체제가 동작하는 노드들의 제 2 그룹(212)을 포함한다. 제 3 또는 제 4 운영 체제가 동작하는 노드들 또한 존재할 수 있고, 본 발명의 원리들은 환경에서 사용자들의 필요에 따라 부가적인 운영 체제들에 대한 유연성을 명확히 포함한다. 각 노드는 연관된 적어도 2개의 자원 관리자들을 갖는다. 제 1 지원 관리자(204)는 제 1 운영 체제를 구동하는 노드들상의 업무부하를 관리하도록 구성된다. 제 2 자원 관리자(214)는 제 2 운영 체제를 구동하는 노드들상의 업무부하를 관리하도록 구성된다. 앞서 언급한 봐와 같이, 상이한 형태들의 운영 체제들의 수에 의존하여 제 3 또는 제 4 및 아마도 심지어 보다 많은 자원 관리자들이 존재할 수 있다. 또한, 틀림없이 동일한 형태들의 운영 체제들에 대해 상이한 자원 관리자들이 존재할 수 있다. 예를 들어, 일부의 리눅스-기반 노드들이 LSF를 통해 업무부하 관리자와 통신할 수 있고, 다른 리눅스-기반 노드들은 TORQUE 등을 통해 업무부하 관리자와 통신할 수 있다. 본 개시는 최종 사용자들에게 투명하게 될 수 있는 원하는 유연성 레벨을 가능하게 한다. 특징(222)은 본 개시의 지능(intelligence)을 나타낸다. 이는 자원 관리자들 및 업무부하 관리자 간의 인터페이스로서 동작할 수 있거나, 업무부하 관리자에 대한 변형들을 나타낼 수 있다. 본질적으로, 작업들을 수신하고 실제로 컴퓨팅 환경내의 자원들을 소비하는 전체 과정내의 특정 위치에서, 환경 내의 자원을 실제로 효율적으로 소비하기 위해 서로 통신하는 다양한 모듈의 어디에서 특정 기능들이 발생하는지가 중요한 것은 아니다. 따라서, 모듈(222)은 일반적으로 업무부하 관리자(224) 및 2개 이상의 자원 관리자들(204, 214)간의 인터페이스를 나타낸다.
도 3은 각 노드와 연관된 다수의 자원 관리자들의 사용의 일반적인 응용을 또한 예시한다. 이 경우, 노드(302)는 제 1 자원 관리자(204) 및 제 2 자원 관리자(214)와의 통신 링크를 갖는 것으로서 도시된다. 유사하게, 노드들(304 및 306)은 각각이 인터페이스(222)를 통해 업무부하 관리자(224)와 통신하는 각각의 자원 관리자에 대한 통신 링크를 갖는 것으로서 각각 도시된다.
당 분야에 알려진 바와 같이, 자원 관리자는 컴퓨팅 환경에서의 자원들, 자원들을 소비할 작업들을 실제로 모니터링하고, 또한 업무부하에 관한 행동들에 착수한다. 자원 관리자들을 작업을 취소하거나, 특정 노드에서 작업을 시작하는 처리를 실제적으로 관리할 것이다. MOAB와 같은 업무 흐름 관리 소프트웨어는 환경에서 업무부하를 어떻게 구현하는지에 관해 자원 관리자들에 지시한다. 본 발명은 하나 이상의 자원 관리자들과 대화하고 일괄 처리 시스템(batch system) 자체에 대한 능력이 특정 작업이 특정 운영 체제를 필요로 한다고 지능적으로 결정하는 것을 가능하게 하는 인터페이스(222)의 창조에 관련된다. 인터페이스(222)는 업무부하 관리자(224)에 전체 또는 부분적으로 포함될 수 있다. 이 경우에, 시스템은 특정 운영 체제를 동적으로 준비하고, 필요한 경우에 제 1 운영 체제를 구동하는 것으로부터 제 2 운영 체제를 구동하는 것으로 한 노드를 변경하고, 동시에, 제 2 운영 체제와 연관된 자원 관리자로부터의 상태 정보를 활성화하고, 가져오거나 상이하게 처리하고 나서, 사용자에게 투명하게 작업을 구동한다. 이 처리는 준비가 발생함으로 인해, 제 1 운영 체제와 연관된 자원 관리자들이 노드가 다운(down)되었다는 상태 신호들과 같은 신호들을 송신하기 시작할 것이기 때문에, 자원 관리자들(204, 214)로부터의 충돌하는 보고들 내에서 번역, 충돌 완화 및 충돌 관리를 수반한다. 그러나, 노드가 준비된 제 2 운영 체제와 연관된 자원 관리자는 노드가 업(up)되었다는 신호를 송신하기 시작할 것이고, 특정 속성들을 가지며, 업무부하를 소비할 준비를 한다. 따라서, 인터페이스(222)는 최종 사용자가 단순히 일반적인 및 잘 알려진 인터페이스를 통해 노드들을 컴퓨팅 환경내로 제출하고 투명한 방식으로 하이브리드 컴퓨팅 환경내의 자원들을 업무부하를 위해 소비하도록 충돌 정보를 완화 및 관리한다.
일 측면에서, "다운(down)" 즉, 다른 운영 체제가 노드들 상에서 준비되는 노드로부터 신호들이 지능적으로 풀링(pool)될 것이어서, 레이턴시 정보가 노드에 관한 연역적인 지식을 참작하는데 이용될 수 있고, 정보는 상기 노드에서 앞으로 어떤 운영 체제(들)가 준비될 수 있는지를 인지하는데 도움이 된다.
듀얼 부팅(dual booting)은 이전에 수동 처리되었지만, 일괄 처리 환경들 또는 데이터 중심 환경들에서 거의 이용되지 않고, 사람들에 대해 상당히 정적인 경험이다. 예를 들어, 통상적으로 듀얼 부트 경험은 단일 컴퓨터상에 다수의 운영 체제들을 설치하는 행동이고, 그 후, 사용자 부트 업(boot up)시에 어떤 운영체제를 부팅할지를 선택하는 능력을 가능하게 한다. 본 발명은 수동 처리가 아니라 일괄 처리 환경 또는 데이터 중심 환경을 효율적으로 구동하는데 필요한 다양한 모듈들 및 소프트웨어를 수반하는 자동화된 처리이므로 상이하다. 일 측면에서, 시스템 또는 사용자는 정책들 또는 지능을 연구하여, 작업이 일정한 구성들 또는 요건들에 가담하는 경우, 주문형 자원들이 정확한 환경에서 구동하도록 스위칭 및 재준비될 수 있게 할 수 있다. 예로서, 윈도우 작업이 제출되고, 시스템이 충분한 윈도우 노드들을 발견하지 못하는 경우, 시스템은 윈도우즈 노드들을 자동으로 준비하고, 그 후 이 새롭게 준비된 자원들을 소비하도록 작업을 환경에 제출한다.
다른 측면들이 하이브리드 환경을 지능적으로 관리하기 위해 이용될 수 있다. 예를 들어, 관리자는 그 또는 그녀가 특정 형태의 운영 체제로 일정한 수의 노드들을 유지하고자 한다는 것을 결정할 수 있다. 그 후, 시스템이 제 1 운영 체제로부터 제 2 운영 체제로 재준비되는 노드를 갖는 경우, 시스템은 일정한 운영 체제를 구동하는 일정 수의 노드들을 유지하는 정책에 따르도록 하이브리드 환경 내의 다른 노드들을 자동으로 재준비할 수 있다. 정책들은 임의의 목적을 위해 설정되고 및 따르게 된다. 예를 들어, 현재에 기초하여 소비자(X)에 대한 일정 수의 노드들에 대해, 서비스 수준 협약(SLA;service level agreement)에 의해 QoS를 유지하기 위하여. 자원들의 관리와 관련된 임의의 정책은 하이브리드 환경에서 확립되고 및 따르게 될 수 있다. 시스템은 사용자/그룹 및 업무부하 서비스 레벨들에 대해 특정 운영 체제들을 구동하는 노드들의 수를 균형을 맞출 수 있는 단일의 자가 최적화 시스템으로 업무부하 쓰루풋을 최대화한다.
정책들은 컴퓨팅 자원들, 네트워크 자원들 또는 다른 자원들의 실패들과 연관된 내성 정책들(tolerance policies) 또는 강화된 가용성 정책들을 위반할 수 있고, 이러한 요건들을 처리하기 위해 또는 주문형 자원들이 이용가능함을 보장하기 위한 풀들(pools)을 재준비하고, 위반 상황들 또는 임계 스케줄링 요건들을 처리하기 위한 특정 업무부하를 준비한다. 임계치 또는 정책 요건의 예측된 위반에 대한 재준비가 행해질 수 있다. 이 예로서, 분석에 기초하여, 주문형 환경이 필요하거나 서비스 수준 협약의 특정 파라미터가 실패와 같은 일부 이벤트들에 기초하여 충족되지 않을 것이라는 정책 요건의 위반이 존재한다는 예측이 존재하는 경우, 현재 업무부하 이슈 또는 자동 재준비가 발생할 수 있는 예측된 업무부하 문제는 상기 이벤트가 발생하지 않도록 예측된 실패 또는 다른 예측된 이벤트들에 앞서 구현될 수 있는 경우를 들 수 있다. 필요한 자원들은 일부 특정 상황들에서 정책 또는 서비스 수준 협약을 충족 및 유지하기 위해 준비 및 채비될 수 있다. 이것의 다른 예는 정책 또는 서비스 수준 협약을 위반할 수 있는 어떤 미래 이벤트의 예측을 식별하기 위해 환경 및 미래의 업무부하, 연역적인 정보의 모니터링을 수반하는 것을 들 수 있다. 이러한 경우에, 시스템은 시스템 작업과 같은 명령 또는 다른 종류의 준비 명령을 시작 또는 자동으로 제출할 수 있고, 이는 재준비를 트리거하여 재준비의 부재시의 예측된 이벤트의 발생을 방지할 수 있다.
채용될 수 있는 컴퓨팅 환경을 관리하는 다른 측면들이 존재한다. 예를 들어, 관리자 또는 정책은 일정 형태의 응답 시간을 인에이블하거나, 일정 양의 쓰루풋을 인에이블하거나, 일정 성능 기준을 갖는 백로그(backlog)를 관리하도록 확립될 수 있다. 예를 들어, 백로그가 특정 목표 위아래로 상승하는 경우, 시스템은 백로그를 처리하고 소정의 파라미터들에 따라 특정 균형을 재확립하도록 노드의 재준비를 자동으로 시작할 수 있다. 예를 들어, 사용자가 상이한 운영 체제들을 구동하는 노드들의 2개의 그룹 사이에서 비례하는 균형을 유지하고자 하는 경우를 들 수 있다. 관리자는 하이브리드 환경에서, 윈도우즈 작업들이 리눅스-기반 작업들보다 20% 더 길게 대기하고, 정책 요건을 유지하기 위해 다양한 노드들에서 운영 체제들이 계속 균형이 맞도록 확립할 수 있다.
본 발명의 능력에 따라 유리한 다른 측면은 시스템이 유지를 스케줄할 수 있다는 것이다. 예를 들어, 전체 하이브리드 환경을 중단하게 하는 대신, 시스템은 준비 단계로서 작업을 실제적으로 스케줄링할 수 있다. 업무부하 관리자는 소비 작업들 사이에 운영 체제 스위치 동작을 지능적으로 배치하고, 현재에 대해 및 미래에 대해 스케줄할 수 있어서, 시스템에 최소로 영향을 준다. 이는 시스템이 가장 중요한 작업(job on top of jobs)을 스케줄링하고, 정책들에 따라 환경 내의 특정 자원 풀을 성장시키거나 수축(shrink)시키게 하는 것을 가능하게 하는 계층적 스케줄링에 관한 정보를 제공하도록 배후의 지능을 이용하는 동적 서비스 작업들을 통해 달성될 수 있다. 상기 동적 서비스 작업들의 상부에는 구동중인 실제의 컴퓨팅 작업들이 있다. 따라서, 작업 또는 시스템 작업과 연관된 준비 단계의 제출은 여기에 개시된 원리들을 이용하여 달성될 수 있다.
또한, 임의의 일정표를 설정하고, 혼합이 상기 환경에서 구현되는 것을 허용하도록 상설 예약 성능(standing reservation capability)에 편승하는 시간 프레임에 걸쳐 하이브리드 환경의 구성이 어떻게 되어야 하는지를 결정하는 것과 같은 다른 측면들이 이용될 수 있다. 예를 들어, 시스템은 표준 정책하에 구성된 보다 많은 리눅스 기반 노드들을 필요로 하는 특정 작업(텔레비전 방속국에 대한 날씨 분석과 같은)에 대해 상설 예약이 존재하므로, 토요일 오전 am 2:00에 일정한 방식으로 환경을 재준비하여 윈도우즈 및 리눅스 운영 체제들간의 균형을 변경하도록 개시할 수 있다. 이에 따라, 하이브리드 환경의 관리자는 임의의 형태의 임의의 이벤트가 준비를 트리거하는 것을 가능하게 할 수 있다. 사이베이스(cybase) 데이터베이스 서버가 다운되고, 정책이 4개 이상의 노드들을 다른 풀과 반대의 노드들의 하나의 풀에 부가할 것을 시스템에 요구하는 경우, 임의의 이벤트에 의해 트리거될 수 있는 임의의 종류의 준비 행동을 수행하기 위한 작업들 또는 명령들을 구현할 수 있다.
본 개시의 일 이점은 최종 사용자의 시점으로부터, 관리자들 또는 운영자들의 시점으로부터, 관리자가 하이브리드 환경의 상당한 유연성 및 효율적인 활용을 위해 사람의 상호작용을 매우 단순화하고 제거하기 위해 정책 공간, 단일의 응집성 계산 공간(cohesive accounting space) 및 단일의 관리 공간을 조합할 수 있는 업무부하 관리자(224)일 수 있는 단일의 응집성 자원(cohesive resource)을 활용한다는 것이다. 또한, 최종 사용자는 모두에게 단일화되어 보일 수 있고, 준비 기술을 또한 이용하는 자신의 모든 업무부하에 대한 단일의 공통 제출 및 작업 관리 공간을 가질 수 있다. 그러므로, 윈도우즈 제출용 도구(tool)를 갖는 사용자들은 최종 사용자의 리눅스 제출 도구와 상이하지만, 개별 사용자들에 대해 친숙한 인터페이스들로부터 하이브리드 컴퓨팅 환경에 대한 액세스를 제공할 수 있는 자신의 윈도우즈 제출 도구를 계속 이용할 수 있다.
또한, 사용자들은 애플리케이션 프로그래밍 인터페이스(API), 명령 라인 업(command line up), 웹-기반 또는 표준 데스크톱 GUI를 이용할 수 있고, 자신들이 선택하는 경우 업무부하 관리자를 전체적으로 우회함으로써 자원 관리자에 직접 제출하기를 또한 지속할 수 있다. 다른 이점은 여기에 개시된 접근은 낭비되는 싸이클들이 존재하지 않는다는 것이다. 운영 체제들이 자동으로 스위칭 백(switch back) 등이 되기 때문에, 운영 체제가 유휴상태에 있는 싸이클들이 전혀 또는 거의 없게 된다는 점에서 낭비되는 싸이클들이 존재하지 않는다. 예를 들어, 종종 자신들이 작업들을 처리할 운영 체제가 어떤 종류인지를 알지 못하는 사용자들로부터 관심사가 존재하고, 관리자가 작업 혼합을 어떻게 해야 할지 모를 수 있고, 따라서 동일한 시각동안 매일 또는 매시간 변경해야 하는지를 모른다. 이는 관리자들이 갖는 공통의 도전이다. 그러나, 여기에 개시된 원리들에 따른 인터페이스 또는 업무부하 관리자를 이용하여, 관리자들에게 이러한 형태의 관심사들을 관리자가 경감시키기 위해 시스템은 자동으로 준비를 제공할 수 있고, 업무부하를 이해할 수 있다.
여기에 개시된 원리들을 이용하여 환경을 제어하기 위한 무수히 많은 매커니즘들 및 기회들이 존재한다. 예를 들어, 사용자는 업무부하 관리자가 클러스터들을 자동으로 적응시키는 비율을 특수화하는 능력을 가질 수 있다. 예를 들어, 업무부하 관리자는 검출된 이벤트 등에 기초하여 시간당 한번, 분당 한번, 하루에 한번, 한주에 한번 스스로 최적화하도록 시스템에 지시할 수 있다. 이에 대해, 시스템은 정해진 시간에, 자원들의 소비와 연관된 이력, 작업 제출들과 연관된 이력, 현재 업무부하, 현재 네트워크 환경 파라미터들을 평가할 수 있고, 환경과 연관된 성능 매트릭스에서 최적의 균형을 발생시키도록 조정한다. 따라서, 제 1 운영 체제를 동작하는 노드들과 제 2 운영 체제를 동작하는 노드들간의 엄격한 균형을 설정하는 대신, 정책은 평가에 따라 제 1 운영 체제와 제 2 운영 체제(또는 제 3 및 제 4 운영 체제 또한)를 동작하는 노드들의 비율의 균형에 시스템이 유연하게 하는 일정한 파라미터들을 최적화하도록 확립될 수 있다. 따라서, 연역적인 사용, 현재 활동 및 임박한 업무부하는 환경의 최적의 균형을 제공하기 위해 일정한 시간에 또는 가변 시간에 모두 평가될 수 있다.
앞서 언급한 바와 같이, 하나의 운영 체제로부터 다른 운영 체제로 스위칭될 때, 시스템은 가상화, 디스크-풀 또는 디스크 레스 준비 또는 하나의 운영 체제로부터 다른 운영 체제로의 스위칭을 수반할 수 있는 임의의 다른 알려진 매커니즘을 이용할 수 있다. 업무부하 관리자는 바람직하게는, 시스템 작업을 이용하여 준비 동작을 스케줄링할 것이다. 시스템 작업은 예를 들어, 윈도우즈 운영 체제로부터 리눅스 운영 체제로 노드(13)를 스위칭하도록 지시할 수 있다. 그러나, 시스템은 윈도우즈 환경에서 또 다른 7분 동안 구동중인 작업이 존재한다는 것을 알고 따라서 이 작업을 7분 내에 시작하도록 스케줄링할 것이다. 스케줄링된 시스템 작업은 그때 특정 영상으로의 재부팅 또는 특정 영상으로의 넷부팅(net boot)하도록 시스템에 지시하는 동작이거나, 새로운 영상을 통해 운영 체제를 실제로 재설치하기 위한 준비 동작을 실제로 시작한다. 이 예에서, 원 작업은 완료될 것이고, 후속 시스템 작업이 개시되고 실제로 변경된다. 변경이 이루어지면, 윈도우즈로부터 리눅스로 스위칭되고, CCS 데몬과 같은 노드 데몬은, 이제 리눅스 운영 체제를 구동하는 까닭에 더이상 동작하지 않기 때문에 다운(down)으로서 보고된다. CCS는 노드가 다운되었다고 업무부하 관리자에게 보고를 계속하고, 업무부하 관리자는 리눅스 운영 체제와 연관된 상이한 자원 관리자와 통신하기 때문에, 리눅스가 이제 업(up)되어 구동중이라고 보고하는 해당 상태 정보 신호를 이해하고 및 무시하거나 풀링하기에 충분히 지능적이다. 즉, 업무부하 관리자에 대한 인터페이스 또는 업무부하 관리자는 다수의 자원 관리자들과 통신하도록 지능을 갖고 어느 자원 관리자들을 신뢰할지를 이해한다. 따라서, 적절한 자원 관리자에게만 주의를 기울이기 위해 특별한 설정들 및 지능형 설정을 이용하는 업무부하 관리자가 여기에 개시된다. 따라서, 모든 상태 정보, 속성 정보 및 새롭게 준비된 노드와 연관된 자원 관리자를 통해 정보를 제공하는 그 밖의 모든것은 새롭게 준비된 노드 또는 노드들에 업무를 제출하는 것을 계속 가능하게 하기 위해 통신되고 및 지능적으로 활용된다.
따라서, 본 발명의 중요한 측면은 최종 사용자 및 관리자에게 끊김없는 방식으로 운영 체제들을 스위칭할 시간임을 표시하도록 적절히 구성된 시스템 작업에 스케줄을 알려주고, 모든 "다운 노드들(down nodes)"을 감추고, 모든 속성들을 재맵핑하고, 이러한 변경된 환경에 걸쳐 발생한 모든 계산 통계들을 보유하는 것이다.
이 원리들을 유의하여, 이제 우리는 적어도 하나의 노드가 제 1 자원 관리자에 의해 제어되는 제 1 운영 체제를 갖고, 적어도 하나의 노드가 제 2 자원 관리자에 의해 제어되는 제 2 운영 체제를 갖는 하이브리드 다중-노드 컴퓨팅 환경에서의 업무부하를 관리하는 방법을 도시하는 도 4를 논의한다. 이 방법은 제 1 운영 체제와 제 2 운영 체제 사이의 컴퓨팅 환경에서 노드들의 균형을 맞추는 정책을 확립하고(402), 확립된 정책과 얼마나 잘 조정되었는지를 판단하도록 컴퓨팅 환경을 주기적으로 분석하고(404), 이 분석에 기초하여, 확립된 정책에 따라 제 1 운영 체제로부터 제 2 운영 체제로 적어도 하나의 노드를 또는 제 2 운영 체제로부터 제 1 운영 체제로 적어도 하나의 노드를 변경하도록 컴퓨팅 환경에서의 노드들을 준비하는(406) 단계를 포함한다. 분석은 연역적인 사용, 현재 활동, 임박한 업무부하 및 예상되는 요건들 중 적어도 하나에 기초할 수 있다. 정책들의 예상된 결함들 또는 위반들과 같은 다른 인자들이 재준비를 트리거할 수 있다. 예를 들어, 예상된 요건들은 자원들의 소비에 대해 기존의 및/또는 예상된 예약들에 따른 예측된 업무부하 요건들에 기초할 수 있다. 예상된 요건들은 업무부하 또는 예측된 업무부하에 관련되지 않을 수 있다. 예를 들어, 특정 아키텍처는 특정의 미래의 목적을 위해 컴퓨팅 환경에서 필요할 수 있다. 따라서, 미래의 요건은 미래의 환경 또는 구조의 준비에 관련될 수 있다. 예를 들어, 환경은 시험, 벤치마킹, 실패 분석, 유지 또는 일괄 처리와 상이한 임의의 특별한 사용을 위해 필요할 수 있다. 환경은 데이터 중심 서비스들 또는 지속적인 서비스들을 제공하기 위해 또한 필요할 수 있다. 정책의 다른 예는 각 특정 파티션의 응답 시간의 형태와 연관된 백로그의 양에 기초하여 부하 균형을 제공하는 것이다. 응답 시간은 쓰루풋, 부하, 일정표, 특정한 선택가능한 업무부하, 실패들 등에 관련될 수 있다. 따라서, 정책 또는 정책들은 광대한 수의 인자들과 관련될 수 있다. 바람직하게는, 준비는 준비 정책에 따라 적어도 하나의 노드를 준비하도록 자원 관리자에게 지시하는 시스템 작업을 발생시키는 업무부하 관리자에 의해 발생한다. 준비 정책은 시스템 작업으로 하여금 스케줄링된 컴퓨팅 작업들 사이에서 적어도 하나의 노드를 준비하게 할 수 있다. 이는 준비가 발생할 수 있는 시점에서 소비 작업의 완료가 발생할 때까지 시스템 작업이 7분을 대기할 수 있는 위의 경우를 피하게 되는 예이다.
준비를 가능하게 하기 위해 컴퓨팅 작업들의 균형 또는 예약이 조정될 수 있는 다른 측면들이 또한 존재할 수 있다. 예를 들어, 하나의 컴퓨팅 작업이 현재 처리되고 있고, 10분 내에 완료되도록 스케줄링되고, 다른 컴퓨팅 작업이 지금으로부터 11분에 시작하도록 스케줄링된다고 가정한다. 시스템 작업과 연관된 준비는 운영 체제들을 스위칭하는데 3분을 필요로 하고, 그 후, 방법은 시스템 작업와 연관된 준비를 완료하는데 필요한 시간을 가능하게 하기 위해 스케줄링된 컴퓨팅 작업들에 대한 약간의 변형들의 수행을 수반할 수 있다. 따라서, 시스템 작업은 현재 준비된 업무부하 정책들 모두에 따라 준비를 스케줄링 및 관리하기 위한 매커니즘으로서 이용된다. 이는 환경에 대해 모든 확립된 정책들에 따르는 준비를 달성하는 통합된 방법을 제공한다.
본 발명의 다른 측면에서, 복수의 노드들을 갖는 하이브리드 컴퓨팅 환경에서 업무부하를 위한 노드를 동적으로 준비하는 방법이 개시된다. 동적 컴퓨팅 환경에서, 각 노드는 제 1 운영 체제를 갖는 제 1 자원 관리자 및 제 2 운영 체제와 연관된 제 2 자원 관리자와 통신한다. 이 방법은 도 5에 예시된다. 방법은 제 1 운영 체제로부터 제 2 운영 체제로 하이브리드 컴퓨팅 환경에서 적어도 하나의 노드를 준비하기 위해 업무부하 관리자 또는 다른 소프트웨어 또는 하드웨어 성분 또는 모듈로부터 명령을 수신하는 단계(502)를 포함한다. 제 2 운영 체제를 준비한 후, 시스템은 적어도 하나의 노드와 연관된 제 1 자원 관리자로부터 적어도 하나의 신호를 지능적으로 필터링, 풀링 및 무시하고(504), 적어도 하나의 노드와 연관된 제 2 자원 관리자로부터 적어도 하나의 신호를 처리한다(506). 다수의 자원 관리자들이 동일한 물리적 객체 또는 노드에 대해 2개의 상이한 상태들을 동시에 보고하는 경우, 하나는 활성이 될 것이고 하나는 활성이 되지 않을 것이므로 이들은 충돌한다. 시스템은 다른 데이터와 충돌하는 어떤 데이터를 무시하기 위해 지능적이다. 따라서, 시스템은 비활성 자원 관리자로부터의 일정한 신호들을 지능적으로 필터링, 풀링 또는 무시하기 위해 인지한다. 예를 들어, 상태 정보가 활성 및 비-활성 자원 관리자에 대해 중요하다. 다른 데이터는 특징들, 성능들, 질의들, 속성들, 정책들, 노드들 및 노드에 대한 자원 관리자들 중 하나 이상과 연관된 규칙 세트들을 포함한다. 따라서, 디스에이블(disabled)된 운영 체제에 대해, 일정의 정보가 여전히 필요로 된다. 구성, 성능, 지원되는 운영 체제, 노드들이 스위칭 백할 수 있거나 준비될 수 있는 소프트웨어 및 운영 체제들이 무엇인지에 관한 것이 그것이다. 지능형 필터는 비활성 노드 신호들 및 연역적인, 계산 및 재준비 지식에 대한 데이터를 풀링하는 것을 수반하는 것이 바람직하다. 풀은 다운 노드에 대한 레이턴시 풀(latency pool)이라 칭할 수 있다. 풀은 풀(및 특정 자원 관리자)과 연관된 운영 체제가 노드 상에서 준비되는지 여부에 의존하여 레이턴시로부터 활성으로 스위칭할 수 있다.
시스템은 지능을 갖는 업무부하 관리자가 노드를 위해 다른 환경으로 스위칭 백할 지를 알 수 있기 위해 어떤 속성들이 지속적이 되어야 하는지를 식별하고, 그것이 좋은 판단인지를 알기 위해 환경과 연관된 속성들, 정책들 및 제약들의 모음(collection)이 존재한다. 그러나, 업무부하 관리자는 정보의 모음이 노드에 대한 속성, 정책 및 제약에 관한 레이턴시 정보임을 안다. 이 정보는 적절한 준비가 발생한 후 환경만을 초래하도록 알려진다. 이에 관해, 시스템은 개념적으로 정보를, 노드를 재준비하는 것이 좋은 생각이라고 시스템이 결정한 경우 액세스될 수 있는 정보의 레이턴시 풀에 위치시킨다. 속성 정보는 재지향되고, 준비가 좋은 단계인지 여부 및 후속 업무부하가 특정 노드에 정합(fit)할 수 있는지 여부에 관련된 평가의 서브세트에 대해 이 정보를 고립시킨다. 일 예에서, 시스템은 자원들의 가능한 버전들 또는 가능한 영상들의 리스트를 생성한다. 시스템은 노드가 현재 운영 체제, 작업 큐(job queue), 특징들의 세트 및 정책들(이들 모두는 노드의 자원들을 소비하는 업무부하에 대해 활성임)로 활성임을 안다. 그러나, 시스템이 노드를 다르게 준비하도록 스위칭을 해야 하는 경우, 새로운 노드는 새로운 운영 체제를 픽업하고, 레이턴시 풀로부터 속성, 정책들 등의 다른 모음도 픽업한다. 그러므로, 시스템은 각각의 잠재적인 운영 체제에 대한 속성 풀들의 리스트를 유지한다. 각 노드는 하나, 둘, 셋 또는 그 이상의 정보의 레이턴시 풀들을 가질 수 있다.
그러면, 컴퓨팅 환경은 제 2 운영 체제가 준비된 적어도 하나의 노드와 연관된 자원들을 소비할 수 있다(508). 앞서 언급한 바와 같이, 업무부하 관리자는 적어도 하나의 노드와 연관된 제 1 자원 관리자로부터 적어도 하나의 신호를 수신하고 지능적으로 필터링 또는 레이턴시 풀내로 풀링할 수 있고, 그 후, 업무부하 관리자는 제 2 운영 체제가 준비된 적어도 하나의 노드상의 자원들의 소비를 관리하도록 제 2 자원 관리자로부터 적어도 하나의 신호를 처리할 수 있다. 신호들은 운영 체제들을 스위칭할 때 해당 노드에 대한 상태들, 속성들, 정책들 및 제약들과 관련된다. 시스템은 레이턴시 풀로부터 활성 풀로 데이터를 활용하기를 시작할 것이고 또한, 나가는(outgoing) 운영 체제로부터 레이턴시 풀로 데이터를 풀링하기를 시작할 것이다. 따라서, 시스템은 정보의 레이턴시 풀 및 정보의 활성 풀 사이를 어떻게 스위칭할지를 알고 있다. 일단 노드가 준비되고, 정보의 활성 풀이 노드들과 연관되면, 업무부하는 해당 공간으로 스케줄링되기 시작한다. 시스템이 변경 단계 또는 노드 준비 단계를 스케줄링해야 하는 경우 해당 변경 업무부하와 연관된 것은 속성 풀의 변경이 된다는 이해가 항상 존재한다.
일 측면에서, 제 2 운영 체제 또는 제 1 운영 체제는 마이크로소프트 운영 체제일 수 있다. 방법은 제 1 운영 체제로부터 제 2 운영 체제로 속성을 재맵핑하고, 계산 통계들을 보유하는 것을 더 포함한다. 이에 대해, 시스템이 속성들을 재맵핑할때, 통계들을 무시하지 않는다. 시스템은 운영 체제 레벨 통계들 및 물리적인 노드 통계들을 유지하여, 시스템이 그 라이프 싸이클을 통해 특정 자원 또는 특정 노드에 대한 통계들의 시야(view)를 유지할 수 있게 된다. 따라서, 라이프 싸이클을 통한 특정 노드 및 운영 체제들간의 스위칭으로 인해, 시스템은 라이프 싸이클을 통해 해당 자원의 사용의 이해를 유지할 수 있다. 다른 측면에서, 방법은 번역(translation), 충돌 완화 및 제 1 자원 관리자 및 제 2 자원 관리자로부터 상이한 정보와 연관된 충돌 관리를 수행하는 것을 포함한다. 이는 각 자원 관리자가 미묘하게 다른 방식으로 정보를 어떻게 보고하는지와 연관된다. 예를 들어, 마이크로소프트 운영 체제와 연관된 자원 관리자는 리눅스 운영 체제와 연관될 수 있는 자원 관리자로부터의 상이한 파라미터들에 따라 속성들 및 통계들을 보고할 수 있다. 따라서, 업무부하 관리자 판단 결정 정책들(workload manager decision making policies)이 미래의 준비 및 업무부하 할당에 대한 판단을 내리는 공통의 속성들을 갖도록 서비스를 수행하는, 업무부하 관리자(224) 내에 또는 지능형 전단층(front-end layer:222)내에 설치된 지능층이 존재한다. 즉, 업무부하 관리자에 의해 보여지는 시야가 일정하게 되기 위해 다양한 속성들의 조화 또는 정규화가 존재하도록 발생할 수 있는 필터링 및 처리가 존재한다. 이것의 단순화된 예는 하나의 업무부하 관리자가 메트릭 시스템에 따라 통계들 및 속성들을 보고되고, 다른 자원 관리자가 영어 시스템에 따라 통계들을 보고되는 경우일 수 있는데, 그러면 궁극적으로 업무부하 관리자에 의해 보여지는 통계들은 정규화되고 이에 따라 일정하게 되도록 조화될 필요가 있다. 명확하게, 이는 다양한 통계들의 조화가 어떻게 이루어지는지에 관한 개념적인 예이다.
본 개시의 측면은 업무부하 관리자 또는 다른 인터페이스가 단일의 응집성 자원 공간, 단일의 응집성 정책 공간 및 단일의 응집성 계산 공간을 이용하여 하이브리드 컴퓨팅 환경에서 업무부하를 관리하는 것을 가능하게 하여서, 단일 및 응집성의 관리 공간 또한 존재하게 된다. 따라서, 본 개시의 목적은 업무부하의 제출 관리 모니터링을 위한 단일의 방법, 단일의 인터페이스 및 모든 정책들이 규정, 구성, 제어 및 최적화되는 단일의 공간 및, 영상들 및 컴퓨팅 환경이 일정하게 변하고, 다양한 노드들이 이전에 구동했던 상이한 운영 체제들로 재준비될 지라도, 기록들이 계산 처리 동안 유지되는 단일의 공간인 단순화된 환경을 관리자 또는 운영자에게 제공하는 것이다. 그러므로, 본 발명은 공통점이 존재할 수 있고, 모든 이러한 공간들의 수퍼세트(superset)를 관리할 수 있다.
가상 시나리오에서, 자원 관리자에 통신되는 상태 데이터는 본질적으로 여기에 개시된 바와 같이 동작한다. 각 운영 체제로부터의 모든 데이터는 그들의 공간 내에 전체적으로 존재한다. 따라서, 제 1 운영 체제는 리눅스일 수 있고, 데이터를 그 연관된 자원 관리자에 통신한다. 제 1 운영 체제 위에 계층화된 제 2 운영 체제는 그 자원 관리자에 데이터를 통신한다.
일 측면에서, 가상의 호스트 운영 체제는 별개의 자원 관리자를 유지하지 않는다. 그러면, 각 계층화된 운영 체제는 각 자원 관리자를 갖는다. 대안으로, 모니터-전용 자원 관리자는 호스트 운영 체제와 통신할 수 있다. 모니터-전용 자원 관리자는 노드가 동작하고, 건강하며, 업무를 수행할 수 있고, 가상이라는 것과 같은 기본 정보를 보고한다. 모니터-전용 자원 관리자는 업무부하를 노드에 제출하는데 이용되지 않을 것이고, 이를 변형하거나 조정하는데 이용되지 않을 것이다. 모니터-전용을 위한 보고들은 노드에 대한 건강-확인 및 가상화가 양호함을 보고하는 것과 관련될 것이다. 가상화는 윈도우 서버 2008내의 하이퍼-V, VMWare, Xen을 이용하거나 또는 알려진 다른 방법들을 통해 채용될 수 있다.
준비 자원 관리자는 노드상에서 운영 체제들의 실제의 준비 또는 변경, 새롭게 준비된 노드를 위한 소프트웨어 스택의 변경 등을 관리하기 위해 업무부하 관리자에 의해 이용될 수 있다.
본 발명의 범위 내의 실시예들은 컴퓨터-실행가능 명령들 또는 데이터 구조들이 저장된 또는 포함하는 컴퓨터-판독가능 매체들을 또한 포함할 수 있다. 이러한 컴퓨터-판독가능 매체들은 범용 또는 특별한 용도의 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능한 매체들일 수 있다. 예로서(제한이 아님), 이러한 판독가능한 매체들은 RAM, ROM, EEPROM, CD-ROM, 또는 다른 광 디스크 저장매체, 마그네틱 디스크 저장매체 또는 다른 마그네틱 저장 디바이스 또는 컴퓨터-실행가능 명령들 또는 데이터 구조들의 형태로 소정의 프로그램 코드 수단을 포함 또는 저장하는데 이용될 수 있는 임의의 다른 매체를 포함할 수 있다. 정보가 네트워크 또는 다른 통신 접속(유선(hardwired), 무선 또는 그 조합)을 통해 컴퓨터에 전달 또는 제공될 때, 컴퓨터는 컴퓨터 판독가능 매체로서 접속을 적절히 인식한다. 따라서, 임의의 이러한 접속은 컴퓨터-판독가능 매체로 칭해지는 것이 적절하다. 상기의 조합들이 컴퓨터-판독가능 매체들의 범위내에 또한 포함되어야 한다.
컴퓨터-실행가능 명령들은 예를 들어, 범용 컴퓨터, 특수 용도 컴퓨터, 또는 특수 용도 처리 디바이스로 하여금 일정한 기능 또는 기능들의 그룹을 수행하게 하는 명령들 및 데이터를 포함한다. 컴퓨터-실행가능 명령들은 또한 독립형 컴퓨터들 또는 네트워크 환경들에 의해 실행되는 프로그램 모듈들을 포함한다. 일반적으로 프로그램 모듈들은 특별한 업무들을 수행하거나 특별한 압축 데이터 형태들을 구현하는 루틴들, 프로그램들, 객체들, 성분들 및 데이터 구조들 등을 포함한다. 컴퓨터-실행가능 명령들, 연관된 데이터 구조들, 및 프로그램 모듈들은 여기에 개시된 방법들의 단계를 실행하기 위한 프로그램 코드 수단의 예들을 나타낸다. 이러한 실행가능 명령들의 특정 시퀀스 또는 연관된 데이터 구조들은 이러한 단계들에서 기술된 기능들을 구현하는 대응하는 행위들의 예들을 나타낸다. 프로그램 모듈들은 매체에 포함된 프로그램의 명령들에 기초하여 특정 기능을 수행하도록 동작할 때, 여기에 개시된 다양한 하드웨어 컴퓨터 성분들과 연계하여 임의의 실제적인 컴퓨터-판독가능 매체를 또한 포함할 수 있다.
당업자는 본 발명의 다른 실시예들이 개인용 컴퓨터들, 휴대용 디바이스들, 다중-처리기 시스템들, 마이크로프로세서-기반 또는 프로그래밍 가능한 소비자 전자기기들, 네트워크 PC들, 미니컴퓨터들, 메인프레임 컴퓨터들을 포함하는 다수의 형태들의 컴퓨터 시스템 구성들을 갖는 네트워크 컴퓨팅 환경에서 실시될 수 있다는 것을 이해할 것이다. 실시예들은 또한 업무들이 통신 네트워크를 통해 링크된(유선 링크들, 무선 링크들에 의해, 또는 그 조합에 의해) 로컬 및 원격 처리 디바이스들에 의해 수행되는 분산된 컴퓨팅 환경에서 실시될 수 있다. 분산된 컴퓨팅 환경에서, 프로그램 모듈들은 로컬 및 원격 메모리 저장 디바이스에 위치할 수 있다.
상기 설명이 특정 상세들을 포함할 수 있지만, 이들은 어떤 방식으로도 청구범위를 제한하는 것으로서 해석되선 안된다. 본 발명의 기술된 실시예들의 다른 구성들은 본 발명의 범위의 일부이다. 따라서, 제공된 임의의 특정 예들이 아니라, 첨부된 청구범위 및 그 법적인 등가물들만이 본 발명을 규정할 수 있다.

Claims (20)

  1. 적어도 하나의 노드는 제 1 자원 관리자에 의해 제어되는 제 1 운영 체제를 갖고, 적어도 하나의 노드는 제 2 자원 관리자에 의해 제어되는 제 2 운영 체제를 갖는 하이브리드 다중-노드 컴퓨팅 환경에서 업무부하를 관리하는 방법에 있어서,
    상기 제 1 운영 체제와 상기 제 2 운영 체제 사이에서 상기 컴퓨팅 환경의 노드들의 균형을 맞추는 정책을 확립하는 단계;
    확립된 정책과 얼마나 잘 조정되었는지를 결정하기 위해 상기 컴퓨팅 환경을 주기적으로 분석하는 단계; 및
    상기 분석에 기초하여, 상기 확립된 정책에 따라 상기 제 1 운영 체제로부터 상기 제 2 운영 체제로 적어도 하나의 노드를 또는 상기 제 2 운영 체제로부터 상기 제 1 운영 체제로 적어도 하나의 노드를 변경하도록 상기 컴퓨팅 환경의 노드들을 준비하는 단계를 포함하는, 업무부하 관리 방법.
  2. 제 1 항에 있어서,
    상기 분석은 연역적 사용, 현재 활동, 임박한 업무부하 및 예상된 요건들 중 적어도 하나에 기초하는, 업무부하 관리 방법.
  3. 제 1 항에 있어서,
    준비 정책에 순응하는 상기 적어도 하나의 노드를 준비하는 시스템 작업(system job)를 발행하는 업무부하 관리자에 의해 준비가 발생하는, 업무부하 관리 방법.
  4. 제 3 항에 있어서,
    상기 준비 정책은 상기 시스템 작업으로 하여금 스케줄링된 컴퓨팅 작업들 사이에서 상기 적어도 하나의 노드를 준비하게 하는, 업무부하 관리 방법.
  5. 제 1 항에 있어서,
    상기 준비는 가상화, 디스크풀 준비(discfull provisioning), 디스크-레스 준비(discless provisioning) 또는 듀얼-부팅을 이용하여 수행되는, 업무부하 관리 방법.
  6. 제 1 항에 있어서,
    상기 준비 노드에 사용자 소프트웨어 스택을 로딩하는 단계를 더 포함하는, 업무부하 관리 방법.
  7. 각각의 노드가 제 1 운영 체제와 연관된 제 1 자원 관리자 및 제 2 운영 체제와 연관된 제 2 자원 관리자와 통신하는 복수의 노드들을 갖는 하이브리드 컴퓨팅 환경에서, 업무부하의 노드를 동적으로 준비하는 방법에 있어서,
    하이브리드 컴퓨팅 환경에서 상기 제 1 운영 체제로부터 상기 제 2 운영 체제로 적어도 하나의 노드를 준비하기 위한 업무부하 관리자로부터의 명령을 수신하는 단계;
    상기 제 2 운영 체제를 준비한 후, 상기 적어도 하나의 노드와 연관된 상기 제 1 자원 관리자로부터 적어도 하나의 신호를 풀링(pooling)하는 단계;
    상기 적어도 하나의 노드와 연관된 상기 제 2 자원 관리자로부터 적어도 하나의 신호를 처리하는 단계; 및
    상기 제 2 운영 체제가 준비된 적어도 하나의 노드와 연관된 자원들을 소비하는 단계를 포함하는, 동적 준비 방법.
  8. 제 7 항에 있어서,
    상기 업무부하 관리자는 상기 적어도 하나의 노드와 연관된 상기 제 1 자원 관리자로부터 적어도 하나의 신호를 수신하고 레이턴시 풀(latency pool)에 풀링하는, 동적 준비 방법.
  9. 제 8 항에 있어서,
    상기 업무부하 관리자는 상기 제 2 운영 체제가 준비된 적어도 하나의 노드의 자원들의 소비를 관리하도록 상기 제 2 자원 관리자로부터 적어도 하나의 신호를 처리하는, 동적 준비 방법.
  10. 제 7 항에 있어서,
    상기 제 2 운영 체제는 마이크로소프트 운영 체제인, 동적 준비 방법.
  11. 제 7 항에 있어서,
    상기 제 1 운영 체제로부터 상기 제 2 운영 체제로 속성들을 재맵핑하고 계산 통계들을 보유하는 단계를 더 포함하는, 동적 준비 방법.
  12. 제 7 항에 있어서,
    번역, 충돌 완화 및 상기 제 1 자원 관리자 및 상기 제 2 자원 관리자로부터 상이한 정보와 연관된 충돌 관리를 더 포함하는, 동적 준비 방법.
  13. 제 7 항에 있어서,
    관리자는 단일의 응집성 자원 공간, 단일의 응집성 정책 공간, 단일의 응집성 계산 공간 및 단일의 관리 공간을 이용하여 상기 하이브리드 컴퓨팅 환경에서 업무부하를 관리하는, 동적 준비 방법.
  14. 적어도 하나의 노드는 제 1 자원 관리자에 의해 제어되는 제 1 운영 체제를 갖고, 적어도 하나의 노드는 제 2 자원 관리자에 의해 제어되는 제 2 운영 체제를 갖는 하이브리드 다중-노드 컴퓨팅 환경에서 업무부하를 관리하도록 컴퓨팅 디바이스를 제어하는 명령들을 저장한 컴퓨터-판독가능 매체들에 있어서, 상기 명령들은,
    상기 제 1 운영 체제와 상기 제 2 운영 체제 사이에서 상기 컴퓨팅 환경의 노드들의 균형을 맞추는 정책을 확립하는 것;
    확립된 정책과 얼마나 잘 조정되었는지를 결정하기 위해 상기 컴퓨팅 환경을 주기적으로 분석하는 것; 및
    상기 분석에 기초하여, 상기 확립된 정책에 따라 상기 제 1 운영 체제로부터 상기 제 2 운영 체제로 적어도 하나의 노드를 또는 상기 제 2 운영 체제로부터 상기 제 1 운영 체제로 적어도 하나의 노드를 변경하도록 상기 컴퓨팅 환경의 노드들을 준비하는 것을 포함하는, 컴퓨터-판독가능 매체들.
  15. 제 14 항에 있어서,
    상기 분석은 연역적 사용, 현재 활동, 임박한 업무부하 및 예상된 요건들 중 적어도 하나에 기초하는, 컴퓨터-판독가능 매체들.
  16. 제 14 항에 있어서,
    준비 정책에 순응하는 상기 적어도 하나의 노드를 준비하는 시스템 작업을 발행하는 업무부하 관리자에 의해 준비가 발생하는, 컴퓨터-판독가능 매체들.
  17. 제 16 항에 있어서,
    상기 준비 정책은 상기 시스템 작업으로 하여금 스케줄링된 컴퓨팅 작업들 사이에서 상기 적어도 하나의 노드를 준비하게 하는, 컴퓨터-판독가능 매체들.
  18. 각각의 노드가 제 1 운영 체제와 연관된 제 1 자원 관리자 및 제 2 운영 체제와 연관된 제 2 자원 관리자와 통신하는 복수의 노드들을 갖는 하이브리드 컴퓨팅 환경을 관리하도록 컴퓨팅 디바이스를 제어하는 명령들을 저장한 컴퓨터-판독가능 매체들에 있어서, 상기 명령들은,
    하이브리드 컴퓨팅 환경에서 상기 제 1 운영 체제로부터 상기 제 2 운영 체제로 적어도 하나의 노드를 준비하기 위한 업무부하 관리자로부터의 명령을 수신하는 것;
    상기 제 2 운영 체제를 준비한 후, 상기 적어도 하나의 노드와 연관된 상기 제 1 자원 관리자로부터 적어도 하나의 신호를 풀링하는 것;
    상기 적어도 하나의 노드와 연관된 상기 제 2 자원 관리자로부터 적어도 하나의 신호를 처리하는 것; 및
    상기 제 2 운영 체제가 준비된 적어도 하나의 노드와 연관된 자원들을 소비하는 것 포함하는, 컴퓨터-판독가능 매체들.
  19. 제 18 항에 있어서,
    상기 업무부하 관리자는 상기 적어도 하나의 노드와 연관된 상기 제 1 자원 관리자로부터 적어도 하나의 신호를 수신하고 레이턴시 풀에 풀링하는, 컴퓨터-판독가능 매체들.
  20. 제 19 항에 있어서,
    상기 업무부하 관리자는 상기 제 2 운영 체제가 준비된 적어도 하나의 노드의 자원들의 소비를 관리하도록 상기 제 2 자원 관리자로부터 적어도 하나의 신호를 처리하는, 컴퓨터-판독가능 매체들.
KR1020107019071A 2008-01-31 2008-01-31 하이브리드 컴퓨팅 환경을 관리하는 시스템 및 방법 KR20100113601A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2008/052627 WO2009096971A1 (en) 2008-01-31 2008-01-31 System and method for managing a hybrid compute environment

Publications (1)

Publication Number Publication Date
KR20100113601A true KR20100113601A (ko) 2010-10-21

Family

ID=40913103

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107019071A KR20100113601A (ko) 2008-01-31 2008-01-31 하이브리드 컴퓨팅 환경을 관리하는 시스템 및 방법

Country Status (10)

Country Link
EP (1) EP2255281B1 (ko)
JP (1) JP5355592B2 (ko)
KR (1) KR20100113601A (ko)
CN (1) CN101971141A (ko)
AU (1) AU2008349549A1 (ko)
BR (1) BRPI0822147A2 (ko)
CA (1) CA2713994A1 (ko)
IL (1) IL207306A0 (ko)
WO (1) WO2009096971A1 (ko)
ZA (1) ZA201006154B (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4913913B2 (ja) * 2010-04-28 2012-04-11 新日鉄ソリューションズ株式会社 情報処理システム、情報処理方法及びプログラム
US9098521B2 (en) 2010-09-15 2015-08-04 Qualcomm Incorporated System and method for managing resources and threshsold events of a multicore portable computing device
US9152523B2 (en) 2010-09-15 2015-10-06 Qualcomm Incorporated Batching and forking resource requests in a portable computing device
US8615755B2 (en) * 2010-09-15 2013-12-24 Qualcomm Incorporated System and method for managing resources of a portable computing device
US8949308B2 (en) * 2012-01-23 2015-02-03 Microsoft Corporation Building large scale infrastructure using hybrid clusters
CN103077076B (zh) * 2013-01-06 2015-10-28 北京航空航天大学 在Linux上模拟实现Windows堆管理的方法
EP3364623B1 (en) 2016-02-25 2022-05-04 Huawei Technologies Co., Ltd. Method for automatically deploying application, and cloud management node
CN115617411B (zh) * 2022-12-20 2023-03-14 苏州浪潮智能科技有限公司 电子设备数据处理方法、装置、电子设备和存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331333A (ja) * 2000-05-18 2001-11-30 Hitachi Ltd 計算機システム及び計算機システムの制御方法
US7249179B1 (en) * 2000-11-09 2007-07-24 Hewlett-Packard Development Company, L.P. System for automatically activating reserve hardware component based on hierarchical resource deployment scheme or rate of resource consumption
US7779415B2 (en) * 2003-11-21 2010-08-17 International Business Machines Corporation Adaptive load distribution in managing dynamic and transient data for distributed applications
US7380039B2 (en) * 2003-12-30 2008-05-27 3Tera, Inc. Apparatus, method and system for aggregrating computing resources
US7448037B2 (en) * 2004-01-13 2008-11-04 International Business Machines Corporation Method and data processing system having dynamic profile-directed feedback at runtime
US7937455B2 (en) 2004-07-28 2011-05-03 Oracle International Corporation Methods and systems for modifying nodes in a cluster environment
US8244882B2 (en) * 2004-11-17 2012-08-14 Raytheon Company On-demand instantiation in a high-performance computing (HPC) system
US20060129667A1 (en) * 2004-12-10 2006-06-15 Eric Anderson Method of and system for sharing access to cluster of computers
US7934215B2 (en) * 2005-01-12 2011-04-26 Microsoft Corporation Smart scheduler
EP2362310B1 (en) * 2005-03-16 2017-10-04 III Holdings 12, LLC Automatic workload transfer to an on-demand center
JP2006309439A (ja) * 2005-04-27 2006-11-09 Fujitsu Ltd フレキシブルクラスタシステム

Also Published As

Publication number Publication date
JP2011511360A (ja) 2011-04-07
ZA201006154B (en) 2012-01-25
EP2255281A1 (en) 2010-12-01
EP2255281B1 (en) 2020-07-29
EP2255281A4 (en) 2011-11-09
AU2008349549A2 (en) 2010-11-11
CA2713994A1 (en) 2009-07-23
WO2009096971A1 (en) 2009-08-06
AU2008349549A1 (en) 2009-08-06
JP5355592B2 (ja) 2013-11-27
CN101971141A (zh) 2011-02-09
BRPI0822147A2 (pt) 2015-06-30
IL207306A0 (en) 2010-12-30

Similar Documents

Publication Publication Date Title
US11650857B2 (en) System and method for managing a hybrid computer environment
US10255095B2 (en) Temporal dynamic virtual machine policies
Marshall et al. Improving utilization of infrastructure clouds
US10394594B2 (en) Management of a virtual machine in a virtualized computing environment based on a concurrency limit
US9176785B2 (en) System and method for providing multi-resource management support in a compute environment
KR20100113601A (ko) 하이브리드 컴퓨팅 환경을 관리하는 시스템 및 방법
CN107209697B (zh) 动态控制的工作负载执行
US9027021B2 (en) Controlling depth and latency of exit of a virtual processor's idle state in a power management environment
Alvarruiz et al. An energy manager for high performance computer clusters
US20120144389A1 (en) Optimizing virtual image deployment for hardware architecture and resources
US8977752B2 (en) Event-based dynamic resource provisioning
CN115102851B (zh) 一种面向hpc与ai融合计算的融合平台及其资源管理方法
US20240202044A1 (en) System and method for dynamic provisioning of cloud desktop pools from multiple public cloud providers
US20230266979A1 (en) Method and system for maximizing resource utilization and user experience for a pool of virtual desktops
KR20110099617A (ko) 가상화 지원 단말 플랫폼을 위한 가상머신 관리장치 및 방법
CN115878257A (zh) 用于优化网络设备队列管理的方法和计算装置
Richard I-cluster: the execution sandbox

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid