JP6114829B2 - 仮想環境における演算インフラストラクチャのリアルタイム最適化 - Google Patents

仮想環境における演算インフラストラクチャのリアルタイム最適化 Download PDF

Info

Publication number
JP6114829B2
JP6114829B2 JP2015534760A JP2015534760A JP6114829B2 JP 6114829 B2 JP6114829 B2 JP 6114829B2 JP 2015534760 A JP2015534760 A JP 2015534760A JP 2015534760 A JP2015534760 A JP 2015534760A JP 6114829 B2 JP6114829 B2 JP 6114829B2
Authority
JP
Japan
Prior art keywords
virtual machine
job
queue
metadata
requirements
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2015534760A
Other languages
English (en)
Other versions
JP2015530676A (ja
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 JP2015530676A publication Critical patent/JP2015530676A/ja
Application granted granted Critical
Publication of JP6114829B2 publication Critical patent/JP6114829B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/466Transaction processing
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • G06F9/4868Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate with creation or replication
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release 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/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/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/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/5055Allocation 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 software capabilities, i.e. software resources associated or available to the machine
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold

Description

本開示は、公的、私的、および公私のハイブリッド環境における仮想演算インフラストラクチャ(virtualized compute infrastructure)に関し、その環境内で実行しようとするジョブの特徴に基づいて、上記仮想演算インフラストラクチャを自動的かつリアルタイムに最適化する方法およびシステムに関する。
クラウドベースのリソースは、典型的には仮想演算環境である。この仮想演算環境では、各物理マシン(physical machine)の全リソースのサブセットを利用して、一連の物理サーバ(physical severs)がプロビジョニングされ(provisioned;準備、供給、配置)、一時的に使用可能な1つまたは複数の仮想サーバとなる。1つまたは複数のinfrastructure-as-a-service(IaaS)プロバイダを用いる場合、ユーザは、典型的には、仮想インフラストラクチャの所望の構成を制御することができる。この制御の例としては、所定の構成のリストから仮想ハードウェアを選択すること、あるいは所望の仮想ハードウェア構成に必要とされるリソースを厳密に特定することが含まれよう。クラウドベースの演算インフラストラクチャは、典型的には、異なるタイプの仮想マシンによって提供されるリソースに基づいて、異なる価格設定ポイントを有する。提供されるリソースが多ければ多いほど、単位時間当たりのコストが高くなる。
伝統的な演算環境は、典型的には、購入時の限られたハードウェア構成に基づいているため、サイズが固定されており、異種性(heterogeneity)が限定されている。その結果、マシンは、プラットホームとの互換性の欠如、ディスクの空き容量、メモリ、またはネットワーク相互接続等の限定要因のために、ジョブの要求する作業を行うことが出来ることもあり、出来ないこともある。逆に、単一のマシンで実行されているジョブがマシンを十分に活用しておらず、リソースが無駄になっている可能性もある。
アプリケーションのための現行の自動スケーリング演算リソース(auto-scaling compute resources)は、米国特許第8,346,921号に示されるように、RAM、CPU数、またはインスタンスタイプ等に関する単一の仮想マシン構成の使用履歴に基づく、予測型の自動スケーリングに焦点を当てている。一方、演算環境に多数のアプリケーションがサブミットされ(submited;提出、委託、送信)、各アプリケーションがそれぞれに最適なVM(仮想マシン)構成または複数のVM構成を要求するような状況は無視されている。
CycleCloud等の、これと似た現行のクラウドベースのソリューションは、キューイングシステム、メッセージングシステム、またはCondorまたはGridEngine等のバッチスケジューリングシステムにおけるアイドルジョブ(idel jobs;実行されていないジョブ)の数に基づいて、仮想ハードウェアをプロビジョニングする。これらのソリューションは、ジョブの実行に用いられる実行ノードの仮想構成を予め決めておくことを要求し、それから、キュー(queue;待ち行列)、メッセージバスまたはスケジューラにおけるアイドルジョブを実行するために、この1つの構成に適合する仮想マシンを自動的にプロビジョニングする。その結果、ワークフロー内のあらゆるジョブを実行することの出来る仮想マシン構成、すなわち全ジョブのための最小公倍数的なマシン構成を定義する必要が、しばしば生じる(たとえ、この構成が大多数のジョブが必要とするよりも過剰なリソースを含んでいたとしても)。
現代の仮想演算環境の、異なるハードウェア構成をリアルタイムに特定する能力を活用して、ジョブのキュー(待ち行列)における各ジョブの特定のニーズと特徴に基づいて、インフラストラクチャの自動プロビジョニングが出来るようにすることが望ましい。キューに投入されたジョブからメタデータを用いて作成される仮想インスタンスのタイプを最適化することにより、より速く、より低コストで、より少ないエラーでジョブを完了することが可能になる。本発明はそのような方法とシステムを記述する。
本システムは、演算インフラストラクチャをジョブ実行要件に基づいてリアルタイムに自動的に最適化する方法について、情報に基づいた判断をするための要件エンジン(requirements engine)を提供する。この要件エンジンに加えて、本システムはジョブメタデータの格納メカニズムを提供する。この格納メカニズムは、ジョブが利用すると考えられる種々のソフトウエアアプリケーションのランタイム要件、または、サブミッション時に分かっている場合はキューの中の特定のジョブの特徴(characteristics)、を取り込む。本システムによって格納されたメタデータは、ジョブを適切に実行するために必要とする環境を記述した論理式を含む。これは、1つまたは複数の仮想サーバの測定可能ないかなる特性を含んでいてもよく、例えば以下のメトリックのいずれでもよいが、これに限定されない。
CPUのパフォーマンスの総計(aggregate)
利用可能なCPUの数
利用可能な最大メモリ
利用可能な最大ディスク空き容量
ディスクのパフォーマンスの総計
ネットワーク帯域幅の総計
ベースオペレーティングシステム
追加的に要求されるソフトウエア構成
IaaSプロビジョニングされたハードウェアの1時間当たりの最大コスト
物理ハードウェアの地理的ロケーション
ジョブが投入されたスケジューリングシステムのキュー
物理ハードウェアの管轄権(法的管轄圏;jurisdiction)(例えば、米国愛国者法で管理されているサーバでは実行出来ない)、および
使用する可能性のある1つまたは複数のIaaSプロバイダの名前
上記プロパティの一部を用いて、4つ以上のCPUと2ギガバイト以上のRAMを要求するジョブを記述した論理式の例は、以下のようになろう。
CPUCount>4&&Memory>2G
上記プロパティの一部を用いて、複数のマシン(1つのマシンは4つ以上のCPUと2ギガバイト以上のRAMを有し、もう1つのマシンは8つのCPUと8ギガバイトのRAMを有する)を要求するジョブを記述した一組の論理式の例は、以下のようになろう。
[“CPUCount>4&&Memory>2G”,“CPUCount>8&&Memory>8G”]
論理式はまた、ジョブを実行するのに要求される仮想マシン構成のタイプ“m1.small”等)であってもよく、またはジョブを実行するのに要求される一組のノード[“m1.small”, “cl.xlarge”, “m1.xlarge”]であってもよい。
要件エンジンは、キューにおける各ジョブのためのメタデータをリアルタイムに処理し、メタデータで特定された要件に基づいて、そのジョブを実行するのに最適な仮想マシン構成を決定する。オプションで、このプロセスは、ジョブが入っているキューの名前から、それらのジョブのために作成された1つまたは複数の仮想マシンの構成のタイプへの、ダイレクトマッピングであってもよい。さらにジョブがキューに追加されると、本システムは各アイドルジョブと関連したメタデータを処理し続け、追加の仮想マシン(ジョブあたり1つのマシンまたはリソース、またはジョブあたり複数のリソース)をプロビジョニングする。各リソースは各ジョブ固有のランタイム要件に合わせて最適化される。
キューまたはスケジューリングシステム内のアイドルジョブに基づいてノードを開始および停止させることに加えて、要件エンジンは、どの仮想インスタンスがすでにプロビジョニングされ、開始されたかに基づいて、新しいプロビジョニングの決定をする。そして、現在のインスタンスのワークの未処理分(バックログ;backlog)が何らかのユーザ定義の閾値を超えた時のみ、追加のインスタンスを開始させる。メタデータに基づいてジョブのハードウェア要件を決定する際、本システムは、前にプロビジョニングされたハードウェアであって、最初に委託された何らかのジョブを完了または完了間近なハードウエアを検査し、このハードウェアが現在アイドル状態にあるジョブを実行するのに適しているか否かを判断する。このハードウェアを再び利用することが出来る場合、本システムは、新しい仮想マシンのプロビジョニングは行わず、代わりに、このジョブがアイドル状態にあるかアイドル状態間近なノードに割り当てられることを許容する。
さらに、要件エンジンは、ユーザからの要求があれば、前にジョブを実行するようプロビジョニングされ、そのジョブがもう完了してマシンのプールの中で使用されない状態でいる、あらゆる仮想マシンを終了させることが出来る。ほとんどのIaaS環境において、レンタルされた仮想マシンは、特定の時間間隔で、典型的にはマシンがプロビジョニングされた時から1時間毎に課金される。本願で提案するシステムは、開始させた各インスタンスについて、この課金間隔を追跡し、アイドル状態にある仮想マシンを次の課金期間の前に必ず終了させることが出来る。もはやジョブを実行しておらず、キュー内にジョブがない時に仮想マシンを終了させることにより、IaaSクラウド環境における全体のコストが低減され、演算環境のライフスパンにわたってクラスタトポグラフィが最小限に保たれる。
ジョブを実行するのに要求されるハードウェアを決定するために、要件エンジンが提供するアルゴリズムは、ジョブの実行ための最低要件(minimum requirements)のみならず、そのジョブの実行には要求されない優先メトリック(preferential metrics)も含むように拡張することが出来る。その結果、利用可能な仮想マシン構成に対する動的ランク付けシステムが出来る。例えば、ジョブを記述するメタデータが、そのジョブを実行するのに2ギガバイトのメモリしか要求しないが、利用可能であればより大きなメモリを好むシステムを記述するとする。そして、2ギガバイトのRAMの仮想マシンと4ギガバイトのRAMの仮想マシンとの選択を与えられた場合、どちらのマシンをプロビジョニングするかを決めるに当たっては、RAMの容量がより大きい仮想マシンをより高位にランク付けすべきである。
ジョブとそれに伴うメタデータのサブミッションの両プロセスを、要件エンジンと共に示すブロック図である。上記サブミッションは、エンドユーザまたはジョブサブミッションポータル、コマンドラインツール、APIまたはウェブページ/サービス(CycleServer、shell commands、RESTfulAPI等であるが、それらに限定されない。)による。上記要求エンジンは、1つまたは複数のIaaSプロバイダから、適合する仮想マシン構成を決定する。
どの利用可能な仮想ハードウェアをプロビジョニングするかを決定するアルゴリズムを作動させることの出来る、要件エンジンと変数を示すブロック図である。
アイドルジョブとそのジョブに関連したメタデータを、前にプロビジョニングされた、ジョブ完了または完了間近の仮想マシンセットとマッチングさせる工程を示すブロック図である。
アイドルジョブを、そのジョブに関連したメタデータを用いて、仮想マシンとマッチングさせる工程を示すブロック図である。このマッチングは、最低要件式(minimum requirements expression)と、複数のマシン構成が要件に適合した時の選択に用いられるランク式(ranking expression)との両者に基づいて行われる。
発明の詳細な説明
本発明に係るプロセスおよびシステムの好ましい実施形態を以下に述べる。ただし、本発明はこの実施形態に限定されるものではない。
ジョブを実行するために要求される仮想のマシン構成またはインスタンス/ノードタイプは、マシンの単一のプロセッサ、複数のプロセッサ、または様々なタイプの複数の仮想マシンであってよいことが理解される。
この好ましい実施形態において、要件エンジンは、スケジューラまたはメッセージングミドルウェアにおける個々のジョブキューまたは複数のジョブキューを見て、それらのキューにおけるタスクまたはジョブのために要求されるインフラストラクチャを演算し、様々な構成の仮想マシンの現行の数、予期される数および理想的な数の間の相違に基づいて、要求される新しいインフラストラクチャを開始させる。ここで、スケジューラまたはメッセージングミドルウェアは、例えば、Condor、GridEngine、Platform LSF、Platform Symphony、AMQPqueue、MQseries、AWS SQS等を含むが、これらに限定されない。
図1を参照すると、このブロック図は、エンドユーザまたはCycleServer等のジョブサブミッションポータルによる、ジョブとそれに伴うメタデータの両方のサブミッションプロセスを、要件エンジンと共に示すものである。この要件エンジンは、1つまたは複数のIaaSプロバイダから、適合する仮想マシン構成を決定する。
このシステムのプロセスおよび構成要素は次の通りである。
・エンドユーザまたはサブミッションポータル、コマンドライン、APIまたはウェブページ/サービス(A1)がジョブを生成してキュー/バッチスケジューラ(A2)にサブミットし、それに加えて、そのジョブの論理要件を記述したメタデータを生成してメタデータ格納システム(A3)に格納する。
・これにより要件エンジン(A4)を作動させ、要件エンジンは、キュー/スケジューリングシステム(A2)におけるアイドルジョブおよび適合するメタデータ(A3)を見つける。
・要件エンジンは、1つまたは複数のIaaSプロバイダ(A5)とやり取りして、利用可能な仮想マシン構成(A5)を決定する。
・要件エンジン(A4)は、上記のリスト(A5)から、メタデータ(A3)に定義された全ての論理要件に適合する仮想構成を選択し、新しい仮想マシン(A6)をプロビジョニングする。この新しい仮想マシン上でジョブ(A2)が実行される。
図2は、利用可能な仮想ハードウェアの中からどれをプロビジョニングするかを決定するアルゴリズムを作動させることの出来る、要件エンジンと変数を示すブロック図である。
このシステムのプロセスおよび構成要素は次の通りである。
・ジョブキュー/バッチスケジューラ(B1)は、まだ完了していないジョブを含む。一方、メタデータ格納部(B2)はキューにおける各ジョブのマッチング要件を含む。
・要件エンジン(B3)は、1つまたは複数のIaaSプロバイダ(B4a&B4b)によりプロビジョニングできる利用可能な仮想マシンの各々のメトリックを格納する。
・要件エンジンのアルゴリズムは、ジョブメタデータ(B2)における要件に適合する仮想マシン構成(B5)を決定し、ジョブを実行するために、適切なIaaSプロバイダの適合する構成をプロビジョニングする。
図3は、アイドルジョブとそのジョブに関連したメタデータを、以前にプロビジョニングされジョブ完了または完了間近の仮想マシンのセットとマッチングさせる工程を示すブロック図である。
このシステムのプロセスおよび構成要素は次の通りである。
・ジョブキュー/バッチスケジューラ(C1)は、まだ完了していないジョブを含み、メタデータ格納部(C2)は、各アイドルジョブのマッチング要件を含む。
・これら情報は要件エンジン(C3)に供給され、要件エンジンは、1つまたは複数のIaaSプロバイダ(C5)からの利用可能なマシン構成のリストと、現在プロビジョニングされている全仮想マシン(C6)の構成の両方を処理する。
既にプロビジョニングされアイドルになっているか又はアイドルになろうとしているインスタンス(C3b/C4c)で、キュー(C1)内のジョブが実行可能である場合には、新しい仮想マシンはプロビジョニングされず、ジョブメタデータで特定された要件に適合する既にプロビジョニングされたハードウェアで、ジョブの実行が許可される。
図4は、アイドルジョブを、それに関連したメタデータを用いて、仮想マシンとマッチングさせる工程を示すブロック図である。このマッチングは、最低要件式(minimum requirements expression)と、複数のマシン構成が要件に適合した時の選択のために用いられるランク式との両者に基づいて行われる。
このシステムのプロセスおよび構成要素は次の通りである。
・ジョブキュー/バッチスケジューラはまだ完了していないジョブ(D1)を含み、メタデータ格納部はアイドルジョブのマシン要件(D2)を含む。
・上記情報は、要件エンジン(D3)に供給され、この要件エンジンは、1つまたは複数のIaaSプロバイダからの利用可能なマシン構成のリスト(D4)を格納する。
・要件エンジン(D3)は、メタデータ(D2)を用いて、上記ジョブ(D1)に適合する構成(D4b&D4c)を見つける。
・要件エンジン(D3)は、メタデータで定義されたランク式に従って、上記適合する構成(D4b&D4c)のそれぞれをランク付けする。
・ジョブメタデータ(D2)による最高ランクの適合構成(D4c)に基づいて、マシンがプロビジョニングされる(D5)。
仮想演算クラウド環境を利用するあらゆる当事者のために、キュー環境またはスケジューリング環境におけるジョブのランタイム構成(実行時構成;runtime configuration)に基づいて、演算クラスタのトポグラフィーをリアルタイムに動的に最適化するシステムおよび方法を提供する。ランタイム構成はメタデータとして定められる。上記当事者とは、このようなクラウド環境を提供するプロバイダを含む。
本システムは、現在のキューにおけるジョブの全てのアプリケーションのプロファイルに基づいて、関連するメタデータ内の要件およびランク式として定義されたランタイム構成の集合(aggregate runtime configuration)に基づいて、クラウド中の複数タイプの仮想リソースをプロビジョニングしたり終了させる。
ジョブがキューを出入りすると、本システムは、継続的に演算リソースを要求し終了させ、クラスタを、キュー内の全てのジョブを完了させるために最適化しつつ、最小限に維持する。コスト、ランタイムその他のメトリックを最適化する。
本システムは、エンドユーザに、ジョブのランタイム要件を特定する方法を提供するが、この方法では、エンドユーザは、ジョブを実行するシステムに対してジョブを具体的に設計するために、演算クラスタの物理プロファイルについて知る必要がない。
好ましい実施例を参照して本発明を具体的に記載してきたが、本発明の精神および範囲を逸脱することなく、形態および詳細を種々変更してもよいことは、当業者に理解されよう。

Claims (13)

  1. (a)演算インフラストラクチャの利用を要求するジョブをキューに受け入れる工程と、
    (b)キューに投入されたジョブと関連するメタデータを処理する工程と、
    (c)動的に選択された仮想マシンおよび仮想マシンセットの少なくとも一方をプロビジョニングする工程であって、これら仮想マシンおよび仮想マシンセットが、キューの中のジョブの数と、存在する仮想マシンの利用情報のうちの少なくとも1つと、処理されたメタデータに基づいて、キューに投入されたジョブの実行のために最適化されている工程と、
    を備えた方法。
  2. 上記動的に選択された仮想マシンおよび仮想マシンセットの少なくとも一方は、上記キューに投入されたジョブの最低要件に対応して、可能な構成のセットから最適化されることを特徴とする請求項1に記載の方法。
  3. 上記動的に選択された仮想マシンおよび仮想マシンセットの少なくとも一方は、上記キューに投入されたジョブの優先要件に対応して、可能な構成のセットから最適化されることを特徴とする請求項1に記載の方法。
  4. 上記プロビジョニングが、以前にプロビジョニングされたマシンおよび以前にプロビジョニングされたマシンセットの少なくとも一方に、対応していることを特徴とする請求項1に記載の方法。
  5. キューに投入されたジョブの所定の数に応答して、追加の仮想マシンを提供する工程をさらに備えたことを特徴とする請求項1に記載の方法。
  6. (a)利用可能なIaaSリソース、ジョブに関連したメタデータおよびキューにおける追加のジョブのインジケーションを、要件エンジンに入力する工程と、
    (b)上記要件エンジンへの入力に対応して、仮想マシンと仮想マシンセットの少なくとも一方をプロビジョニングする工程と、
    を備えた方法。
  7. 上記メタデータが、CPUパフォーマンスの総計、利用可能なCPUの数、利用可能な最大メモリ、利用可能な最大ディスク空き容量、ディスクパフォーマンスの総計、ネットワーク帯域幅の総計、ベースオペレーティングシステム、IaaSプロビジョニングされたハードウェアの最大コスト、物理ハードウェアの地理的ロケーション、スケジューリングシステムのキューおよび物理ハードウェアの管轄権のうちの少なくとも1つを含むことを特徴とする請求項6に記載の方法。
  8. 上記仮想マシンと仮想マシンセットの少なくとも一方のプロビジョニングが、以前にプロビジョニングされたインスタンスと以前にプロビジョニングされた複数のインスタンスの少なくとも一方含むことを特徴とする請求項6に記載の方法。
  9. 上記仮想マシンと仮想マシンセットの少なくとも一方のプロビジョニングが、新しいインスタンスと複数の新しいインスタンスの少なくとも一方の作成を含むことを特徴とする請求項6に記載の方法。
  10. 利用可能な仮想マシン構成のリストを格納する工程をさらに備えたことを特徴とする請求項6に記載の方法。
  11. 利用可能な仮想マシン構成のリストを、上記要件エンジンに格納する工程をさらに備えたことを特徴とする請求項6に記載の方法。
  12. 上記プロビジョニングが、上記ジョブに関連したメタデータに対応してランク付けされ適合した構成に、対応していることを特徴とする請求項6に記載の方法。
  13. 上記メタデータがランク式を含むことを特徴とする請求項6に記載の方法。
JP2015534760A 2012-09-28 2013-09-27 仮想環境における演算インフラストラクチャのリアルタイム最適化 Active JP6114829B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261707564P 2012-09-28 2012-09-28
US61/707,564 2012-09-28
PCT/US2013/062328 WO2014052843A1 (en) 2012-09-28 2013-09-27 Real time optimization of compute infrastructure in a virtualized environment

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017054221A Division JP6373432B2 (ja) 2012-09-28 2017-03-21 仮想環境における演算インフラストラクチャのリアルタイム最適化

Publications (2)

Publication Number Publication Date
JP2015530676A JP2015530676A (ja) 2015-10-15
JP6114829B2 true JP6114829B2 (ja) 2017-04-12

Family

ID=50389018

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2015534760A Active JP6114829B2 (ja) 2012-09-28 2013-09-27 仮想環境における演算インフラストラクチャのリアルタイム最適化
JP2017054221A Active JP6373432B2 (ja) 2012-09-28 2017-03-21 仮想環境における演算インフラストラクチャのリアルタイム最適化

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2017054221A Active JP6373432B2 (ja) 2012-09-28 2017-03-21 仮想環境における演算インフラストラクチャのリアルタイム最適化

Country Status (4)

Country Link
US (1) US9940162B2 (ja)
EP (1) EP2901312B1 (ja)
JP (2) JP6114829B2 (ja)
WO (1) WO2014052843A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104424013B (zh) * 2013-08-26 2018-03-09 国际商业机器公司 在计算环境中部署虚拟机的方法和设备
US20150154048A1 (en) * 2013-12-04 2015-06-04 International Business Machines Corporation Managing workload to provide more uniform wear among components within a computer cluster
WO2015099035A1 (ja) * 2013-12-27 2015-07-02 株式会社Nttドコモ 管理システム、仮想通信機能管理ノード及び管理方法
US20170132042A1 (en) * 2014-04-23 2017-05-11 Hewlett Packard Enterprise Development Lp Selecting a platform configuration for a workload
GB201409056D0 (en) * 2014-05-21 2014-07-02 Univ Leeds Datacentre
US11093279B2 (en) * 2014-06-09 2021-08-17 International Business Machines Corporation Resources provisioning based on a set of discrete configurations
US10402762B2 (en) 2015-01-23 2019-09-03 Hewlett Packard Enterprise Development Lp Heterogeneous platform configurations
US9699109B1 (en) * 2015-03-27 2017-07-04 Amazon Technologies, Inc. Assessing performance of networked computing environments
US10216744B2 (en) * 2015-05-01 2019-02-26 Microsoft Technology Licensing, Llc Data migration to a cloud computing system
US9760398B1 (en) * 2015-06-29 2017-09-12 Amazon Technologies, Inc. Automatic placement of virtual machine instances
CN107710158A (zh) * 2015-06-30 2018-02-16 瑞典爱立信有限公司 虚拟化实体的启用
JP2017111581A (ja) * 2015-12-15 2017-06-22 キヤノン株式会社 情報処理システム、制御方法
WO2017209876A1 (en) 2016-05-31 2017-12-07 Brocade Communications Systems, Inc. Buffer manager
US10387198B2 (en) 2016-08-11 2019-08-20 Rescale, Inc. Integrated multi-provider compute platform
TWI620075B (zh) * 2016-11-23 2018-04-01 財團法人資訊工業策進會 用於雲端巨量資料運算架構之伺服器及其雲端運算資源最佳化方法
KR101899298B1 (ko) * 2016-12-12 2018-09-17 (주)아이엔소프트 클라우드 및 가상화 기반의 프로세스 자동화 처리 시스템 및 그 처리 방법
US10423455B2 (en) 2017-02-03 2019-09-24 Microsoft Technology Licensing, Llc Method for deploying virtual machines in cloud computing systems based on predicted lifetime
US10942760B2 (en) 2017-02-03 2021-03-09 Microsoft Technology Licensing, Llc Predictive rightsizing for virtual machines in cloud computing systems
US10296367B2 (en) * 2017-02-03 2019-05-21 Microsoft Technology Licensing, Llc Resource management for virtual machines in cloud computing systems
US10372362B2 (en) 2017-03-30 2019-08-06 Intel Corporation Dynamically composable computing system, a data center, and method for dynamically composing a computing system
KR20210020570A (ko) * 2019-08-16 2021-02-24 삼성전자주식회사 전자 장치 및 이의 제어 방법
US20220156124A1 (en) * 2020-08-31 2022-05-19 Turbonomic, Inc. Systems and methods for managing resources in a virtual desktop infrastructure

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050060704A1 (en) * 2003-09-17 2005-03-17 International Business Machines Corporation Managing processing within computing environments including initiation of virtual machines
US20070266388A1 (en) * 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US20060037021A1 (en) * 2004-08-12 2006-02-16 International Business Machines Corporation System, apparatus and method of adaptively queueing processes for execution scheduling
US20060143617A1 (en) 2004-12-29 2006-06-29 Knauerhase Robert C Method, apparatus and system for dynamic allocation of virtual platform resources
US7958509B2 (en) * 2005-12-21 2011-06-07 International Business Machines Corporation Method and system for scheduling of jobs
JP2007293603A (ja) 2006-04-25 2007-11-08 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
US7761538B2 (en) 2006-08-30 2010-07-20 Microsoft Corporation Dynamically configuring, allocating and deploying computing systems
US20110154327A1 (en) * 2009-09-11 2011-06-23 Kozat Ulas C Method and apparatus for data center automation
US9135283B2 (en) * 2009-10-07 2015-09-15 Amazon Technologies, Inc. Self-service configuration for data environment
GB2475897A (en) * 2009-12-04 2011-06-08 Creme Software Ltd Resource allocation using estimated time to complete jobs in a grid or cloud computing environment
US8875143B2 (en) * 2009-12-31 2014-10-28 Bmc Software, Inc. Utility-optimized scheduling of time-sensitive tasks in a resource-constrained environment
US8631403B2 (en) * 2010-01-04 2014-01-14 Vmware, Inc. Method and system for managing tasks by dynamically scaling centralized virtual center in virtual infrastructure
JP5533315B2 (ja) * 2010-06-16 2014-06-25 富士ゼロックス株式会社 情報処理システム、管理装置、処理要求装置及びプログラム
US8869164B2 (en) * 2010-09-02 2014-10-21 International Business Machines Corporation Scheduling a parallel job in a system of virtual containers
US8661120B2 (en) * 2010-09-21 2014-02-25 Amazon Technologies, Inc. Methods and systems for dynamically managing requests for computing capacity
US9069610B2 (en) * 2010-10-13 2015-06-30 Microsoft Technology Licensing, Llc Compute cluster with balanced resources
US8429659B2 (en) * 2010-10-19 2013-04-23 International Business Machines Corporation Scheduling jobs within a cloud computing environment
US8418185B2 (en) * 2010-10-19 2013-04-09 International Business Machines Corporation Memory maximization in a high input/output virtual machine environment
CN102232282B (zh) * 2010-10-29 2014-03-26 华为技术有限公司 一种实现数据中心资源负载均衡的方法及装置
US8346921B1 (en) 2010-11-19 2013-01-01 Amazon Technologies, Inc. Predictive governing of dynamic modification of program execution capacity
US8776069B2 (en) * 2010-12-07 2014-07-08 International Business Machines Corporation Energy and performance optimizing job scheduling
US9058211B2 (en) * 2010-12-09 2015-06-16 Verizon Patent And Licensing Inc. Pre-validation in a computing on demand system
JP5614318B2 (ja) * 2011-02-15 2014-10-29 富士通株式会社 スケジューリングプログラム,方法および装置
CN102103518B (zh) * 2011-02-23 2013-11-13 运软网络科技(上海)有限公司 一种在虚拟化环境中管理资源的系统及其实现方法
US8949428B2 (en) * 2011-06-17 2015-02-03 International Business Machines Corporation Virtual machine load balancing
US8954586B2 (en) * 2011-07-13 2015-02-10 International Business Machines Corporation Pre-provisioning virtual machines in a networked computing environment
US9128763B2 (en) * 2011-08-23 2015-09-08 Infosys Limited System and method for job scheduling optimization
CN102958166B (zh) * 2011-08-29 2017-07-21 华为技术有限公司 一种资源分配方法及资源管理平台
US8612599B2 (en) * 2011-09-07 2013-12-17 Accenture Global Services Limited Cloud service monitoring system
US9158586B2 (en) * 2011-10-10 2015-10-13 Cox Communications, Inc. Systems and methods for managing cloud computing resources
US8914515B2 (en) * 2011-10-28 2014-12-16 International Business Machines Corporation Cloud optimization using workload analysis
US8656002B1 (en) * 2011-12-20 2014-02-18 Amazon Technologies, Inc. Managing resource dependent workflows
US20130179289A1 (en) * 2012-01-09 2013-07-11 Microsoft Corportaion Pricing of resources in virtual machine pools
US9372735B2 (en) * 2012-01-09 2016-06-21 Microsoft Technology Licensing, Llc Auto-scaling of pool of virtual machines based on auto-scaling rules of user associated with the pool
US20130268672A1 (en) * 2012-04-05 2013-10-10 Valerie D. Justafort Multi-Objective Virtual Machine Placement Method and Apparatus
US8892779B2 (en) * 2012-05-10 2014-11-18 International Business Machines Corporation Virtual machine allocation at physical resources
US8954529B2 (en) * 2012-09-07 2015-02-10 Microsoft Corporation Smart data staging based on scheduling policy
EP2763039A1 (de) * 2013-01-30 2014-08-06 Siemens Aktiengesellschaft Verfahren und Virtualisierungssteuerung zur Verwaltung einer Ressource eines Computers mit zumindest zwei virtuellen Maschinen

Also Published As

Publication number Publication date
EP2901312B1 (en) 2019-01-02
JP6373432B2 (ja) 2018-08-15
JP2015530676A (ja) 2015-10-15
US20150242234A1 (en) 2015-08-27
WO2014052843A1 (en) 2014-04-03
US9940162B2 (en) 2018-04-10
JP2017142824A (ja) 2017-08-17
EP2901312A1 (en) 2015-08-05
EP2901312A4 (en) 2016-08-17

Similar Documents

Publication Publication Date Title
JP6373432B2 (ja) 仮想環境における演算インフラストラクチャのリアルタイム最適化
US20210349755A1 (en) Utilization-aware resource scheduling in a distributed computing cluster
US10545796B2 (en) Systems, methods, and apparatuses for implementing a scheduler with preemptive termination of existing workloads to free resources for high priority items
US11294726B2 (en) Systems, methods, and apparatuses for implementing a scalable scheduler with heterogeneous resource allocation of large competing workloads types using QoS
Ge et al. GA-based task scheduler for the cloud computing systems
US10191771B2 (en) System and method for resource management
JP6386165B2 (ja) 分散コンピュータシステムへの電力割り振りに変更がある場合に中断され得るジョブ及び中断され得ないジョブを管理するための方法並びに装置
US20190324819A1 (en) Distributed-system task assignment method and apparatus
JP6254949B2 (ja) 仮想マシンプールにおけるリソースの価格設定
WO2017167025A1 (zh) 一种实现任务调度的方法、装置及计算机存储介质
RU2697700C2 (ru) Равноправное разделение системных ресурсов в исполнении рабочего процесса
Chard et al. Cost-aware cloud provisioning
CN109564528B (zh) 分布式计算中计算资源分配的系统和方法
WO2013107012A1 (zh) 分布式计算任务处理系统和任务处理方法
KR101471749B1 (ko) 클라우드 서비스의 가상자원 할당을 위한 퍼지 로직 기반의 자원평가 장치 및 방법
US10606650B2 (en) Methods and nodes for scheduling data processing
Selvi et al. Resource allocation issues and challenges in cloud computing
JP2012198843A (ja) 仮想サーバ調整システム、仮想サーバ制御装置及びプログラム
Begam et al. Timer-cloud: Time-sensitive vm provisioning in resource-constrained clouds
CN114816709A (zh) 任务调度方法、装置、服务器及可读存储介质
Wu et al. Abp scheduler: Speeding up service spread in docker swarm
Guo et al. The improved job scheduling algorithm of Hadoop platform
TWM583564U (zh) 雲端資源管理系統
JP5045576B2 (ja) マルチプロセッサシステム及びプログラム実行方法
JP7037059B2 (ja) リソース管理システム、および、リソース割当プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150424

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151002

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160426

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160906

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170317

R150 Certificate of patent or registration of utility model

Ref document number: 6114829

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250