JP2020074101A - コンピュータ処理のためのリソース割当て - Google Patents
コンピュータ処理のためのリソース割当て Download PDFInfo
- Publication number
- JP2020074101A JP2020074101A JP2019229115A JP2019229115A JP2020074101A JP 2020074101 A JP2020074101 A JP 2020074101A JP 2019229115 A JP2019229115 A JP 2019229115A JP 2019229115 A JP2019229115 A JP 2019229115A JP 2020074101 A JP2020074101 A JP 2020074101A
- Authority
- JP
- Japan
- Prior art keywords
- amount
- backlog
- job
- determined
- processing resources
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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/5016—Allocation 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 the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本願は、2016年3月4日に出願された米国仮出願第62/303,827号に基づく優先権を主張し、その開示を本明細書に引用により援用する。
コンピュータネットワークは、リソースおよび情報の共有を可能にする通信チャネルによって相互接続されたコンピュータおよび他のハードウェアの集合である。通信プロトコルは、コンピュータネットワークにおいて情報を交換するための規則およびデータフォーマットを規定する。
一局面において、方法はコンピュータシステムによって行なわれる。方法は、複数の処理リソースを備えるコンピュータシステムにおいて、データストリームを入力として受信するジョブを実行するステップを備える。データストリーム内のデータ量は、無限である。方法は、ジョブについて、ジョブに入力される受信されたデータストリームにおける未処理データの増大量である、第1の期間にわたるバックログ増大と、ジョブに入力される受信されたデータストリームにおける未処理データの量であるバックログ量と、バックログ増大およびバックログ量に基づいて、ジョブに割当てる処理リソースの量を調整するか否か、とを繰り返し判定するステップを含む。方法は、ジョブに割当てる処理リソースの量を調整すると判定された繰り返し毎に、ジョブに割当てる処理リソースの量を調整するステップを含む。方法は、ジョブに割当てる処理リソースの量を調整しないと判定された繰り返し毎に、ジョブに割当てる処理リソースの量を維持するステップを含む。
グ量が目標未満であると判定されたことに応答して、ジョブに割当てる処理リソースの量を調整しないと判定される。判定の繰り返しについて、バックログ増大は正であると判定され、バックログ量は目標以上であると判定され、バックログ増大が正であると判定され、かつ、バックログ量が目標未満であると判定されたことに応答して、ジョブに割当てる処理リソースの量を調整すると判定され、ジョブに割当てる処理リソースの量を調整するステップは、バックログ増大が正であると判定され、かつ、バックログ量が目標未満であると判定されたことに応答して、ジョブに割当てる処理リソースの量を増加させるステップを含む。バックログ増大はデータサイズの大きさである。データサイズの単位は、ビット、バイト、メガバイト、ギガバイト、レコード、および基数からなる群のうちの少なくとも1つである。バックログ増大は処理時間の長さである。処理時間の単位は、マイクロ秒、秒、分、時間、および日からなる群のうちの少なくとも1つである。バックログ量はデータサイズの大きさである。データサイズの単位は、ビット、バイト、メガバイト、ギガバイト、レコード、および基数からなる群のうちの少なくとも1つである。バックログ量は処理時間の長さである。処理時間の単位は、マイクロ秒、秒、分、時間、および日からなる群のうちの少なくとも1つである。方法は、ジョブについて、プロセッサ使用率を繰り返し判定するステップをさらに含み、ジョブに割当てる処理リソースの量を調整するか否かを繰り返し判定するステップは、さらにプロセッサ使用率に基づく。判定の繰り返しについて、プロセッサ使用率はある値未満であり、プロセッサ使用率がある値未満であると判定されたことに応答して、ジョブに割当てる処理リソースの量を調整すると判定され、ジョブに割当てる処理リソースの量を調整するステップは、プロセッサ使用率がある値未満であると判定されたことに応答してジョブに割当てる処理リソースの量を削減するステップを含む。プロセッサ使用率がある値未満であると判定されたことに応答してジョブに割当てる処理リソースの量を削減するステップは、ジョブに割当てるリソースの離散数を減少させるステップを含み、離散数はプロセッサ使用率に基づく。離散数はコンピュータメモリディスクの数である。バックログ増大およびバックログ量に基づいてジョブに割当てる処理リソースの量を調整するか否かを判定するステップは、ジョブに割当てる処理リソースの量の変動を生じさせる判定するステップを平滑化するステップを含む。判定するステップを平滑化するステップは、第2の期間待つステップを含む。判定するステップを平滑化するステップは、ジョブに割当てる処理リソースの量を調整するか否かの複数の判定を平均化するステップを含む。
し、処理可能なジョブ数が減少する。作業負荷に合わせてリソース割当てを削減することによって、使用されていないリソースが他のジョブのために自由に使えるようになり得る。過少供給はバックログの増加につながり、データ損失およびレイテンシの増大を生じさせるおそれがある。作業負荷に合わせてリソース割当てを増加させることによって、入力が増加した際にジョブをより速く処理することができる。多くの場合において、データは、予測不能に増加または減少し得るストリーム、または連続する無限のデータの流れとしてジョブに入力される。この入力を一括として扱い、または最悪のシナリオのために計画するのではなく、この入力に動的に応答することによって、入力の大きな急上昇または低下への柔軟な応答が可能になる。
さまざまな図面における同様の参照符号は、同様の要素を指す。
共用並列コンピューティング環境において、コンピューティングリソースは、異なるタスク(単一のジョブ内の異なる並列実行タスク、および、同時に処理され得る異なるジョブの両方)に割当てられ得る。それらのリソースの割当て方を決定するために、ジョブには、許容される入力バックログの量を規定するバックログサイズが割当てられ得る。次いで、実際のバックログを割当てられたバックログレベル以下に保つために、バックログの実際のサイズに基づいてリソースが動的に割当てられたり除去されたりする。これにより、例えば、特定のジョブの要求に経時的に合致するリソースの動的割当てを可能にすることができる。
プデートは、1年のうちの時期および買い物シーズン次第で速くなったり遅くなったりし得る。バーストデータは、現在のデータ生成レートが平均のデータ生成レートに近いことがほとんどないデータを含む。言い換えると、多くの場合、バーストデータは、高度に分散されたコンピューティング環境100によってバーストで大量受信され、その後に少ない量のデータ受信が続く。
ートチューニングし、同様に作業負荷の減少時にワーカーの数を削減すると、需要に従ってリソースを動的に調整することが可能である。
CPU使用率:ジョブにおけるすべてのワーカーVMの平均CPU使用率
ステージバックログ増大:未処理データのサイズ
ステージバックログ量:ジョブに入力される受信されたデータストリームにおける未処理データの量
いくつかの実現例では、バックログ量はバックログ時間であってもよい。バックログ時間とは、現在のスループットで追加の入力がない場合に、そのバックログを処理するのに必要となるであろう時間の長さである。他の信号が使用されてもよい。
)未満である場合、オートチューニングは、割当てをw2まで削減することを試みる。
1)ワーカー変更の後、入力信号が安定するまである期間待つ。
2)出力信号を平滑化して、スケール拡大時の時間枠内の望ましいワーカーの平均値を選択する(その時間枠において要求される最少のワーカー数が現在の数よりも多いと想定した場合)。
最少値が増加するまで時間枠の全体にわたって待つことにより、入力レートにおける短期のノイズへの反応が回避される。例えば、現在のワーカー数が10未満であり、時間枠が望ましいワーカー数[11、12、10]を含む場合、割当て増加は、(均等なディスク分散を得るために数を正規化する前に)作動させるワーカーの数として11を選択するであろう。
per_stage信号
input_size:絶えず増加する、処理されたバイトの合計
スループットとして計算された派生信号(derivative)(以下参照)
backlog_size:バックログの現在のバイトサイズ
バックログ増大として計算された派生信号(以下参照)
active_size:そのステージで現在処理中のバイト
ステージの固有のレイテンシを判定するために使用される
system_watermark:ステージのシステム透かし
いくつかの実現例では、1M/sで増加する。
active_workers:現在のアクティブなワーカー数
ストリーミングの文脈において、ワーカーは、ワーカー処理、および/またはワーカースレッドであり得る。いくつかの実現例では、構成アップデートを受信した後にチェックインするワーカー数として計算される。カウントは、動作可能なワーカー数(例えば、すべてのディスク割当て、スキャニングが行なわれた後)を反映し得る。
attached_disks:すべてのディスクが装着されているわけではないため、スケール変更の決定を行なうべきではないと判定するために使用される。
平均CPU使用率:ジョブにおけるすべてのワーカーVMの平均CPU使用率
例えばジョブのステージ毎の派生信号
input_sizeからのスループット(前回のアップデート以降、かつ指数平滑平均)
バックログサイズからのbacklog_growth(前回のアップデート以降、かつ指数平滑平均)
backlog_time:(backlog_size active_size)/
スループット
追加の入力がない場合にバックログを処理するのに必要となるであろう時間(現在処理中の分を割引いてもよい)
いくつかの実現例では、システムが実時間に近づくにつれて、効率が低下し、ひいては事実上のバックログ時間が長くなり得る。
min_throughput=スループット+max(0、backlog_growth):遅延しないために必要な最小スループット。
backlog_growth≦平均0(つまり、バックログ長さが増大せずに安定している)
backlog_time≦acceptable_backlog_time(構成パラメータ)
backlog_time≧max_backlog_to_downscale(構成パラメータ)
backlog_time条件は、レイテンシが許容可能範囲内となることを保証し、バックログが極めて大きい安定バックログ状態となることを回避することを試みる。max
_backlog_to_downscale条件は、割当てを削減することを試みる信号である。システムがその閾値未満である場合、システムはリソースを無駄にする可能性が高く、より少ないシステムワーカーで対処可能であろう。
1)ワーカー変更の後、入力信号が安定するまである期間待つ。
2)出力信号を平滑化して、スケール拡大時の時間枠内の望ましいワーカーの平均値を選択する(最少値が現在の数よりも多いと想定した場合)。
最少値が増加するまで時間枠の全体にわたって待つことにより、min_throughputの短期間の急上昇への反応を回避することができる。
、次いで減少し始めて4MB/s未満となることを示す。レートの***は、チャート408で減少として示されるサイズ変更点に起因するものである。サイズ変更はパイプラインを滞らせ、ひいてはバックアップおよびその後の取戻し作業につながる。したがって、これらの過渡事象は派生信号に現れる。
ソース、または他の要因が含まれるが、それらに限定されない。
、プロセッサ値がある値未満であると判定されたことに応答して、ジョブに割当てる処理リソースの量を調整すると判定してもよい。次いで、システムは、ジョブに割当てる処理リソースの量を調整し得る。これは、プロセッサ値がある値未満であると判定されたことに応答して、ジョブに割当てる処理リソースの量を削減することを含む。例えば、多くのワーカーのプロセッサのプロセッサ使用率が低い場合には、これは過剰供給を示すものとして解釈され、システムは割当てリソースを削減することによって割当てリソースをオートチューニングし得る。
図6A、図6B、図6Cは、タスクのセットアップ、サイズ変更、および休止のための処理例のフローチャートである。
ランサと上述のミニワークフローステップとの間の組織化は、初期セットアップ時と同じ方法で行なわれ得る。すなわち、最後のステップが完了した後、ストリーミングロードバランサが新たな最終セットアップタスクを送出する前に使うディスク移行アップデート結果が生成され得る。
際にはディスクを含まない)。新たなワーカーは最初は空のセットアップタスクを得てもよいが、そうすると、それらが使用可能になるまで待つことになる。
イス808、ならびに低速拡張ポート814および記憶装置806に接続している低速インターフェイス812を含む。プロセッサ802、メモリ804、記憶装置806、高速インターフェイス808、高速拡張ポート810、および低速インターフェイス812の各々はさまざまなバスを用いて相互に接続されており、共通のマザーボード上にまたは他の態様で適宜搭載され得る。プロセッサ802は、コンピューティングデバイス800内で実行される命令を処理可能であり、この命令には、GUIのためのグラフィック情報を高速インターフェイス808に結合されているディスプレイ816などの外部入出力デバイス上に表示するためにメモリ804内または記憶装置806上に記憶されている命令が含まれる。他の実現例では、複数のプロセッサおよび/または複数のバスが、複数のメモリおよび複数種類のメモリとともに必要に応じて用いられ得る。また、複数のコンピューティングデバイスが接続され得て、各デバイスは(例えば、サーババンク、ブレードサーバ群、またはマルチプロセッサシステムとして)必要な動作の一部を提供する。
(図示せず)内の他のコンポーネントと組み合わされてもよい。そのようなデバイスの各々が1つ以上のコンピューティングデバイス800およびモバイルコンピューティングデバイス850を含んでいてもよく、システム全体が、互いに通信する複数のコンピューティングデバイスで構成されてもよい。
division multiple access)、TDMA(時分割多元接続:time division multiple access)、PDC(Personal Digital Cellular)、WCDMA(登録商標、Wideband Code
Division Multiple Access)、CDMA2000、またはGPRS(General Packet Radio Service)などの、さまざまなモードまたはプロトコル下の通信を提供し得る。その
ような通信は、例えば無線周波数トランシーバ868を介して起こり得る。さらに、ブルートゥース、Wi−Fi、または他のそのようなトランシーバ(図示せず)を用いるなどして、短距離通信が起こり得る。さらに、GPS(全地球測位システム)レシーバモジュール870が付加的なナビゲーション関連および位置関連の無線データをモバイルコンピューティングデバイス850に提供し得て、当該データはモバイルコンピューティングデバイス850上で実行されるアプリケーションによって適宜用いられ得る。
例1:コンピュータシステムにおいて実現される方法であって、複数の処理リソースを備えるコンピュータシステムにおいて、データストリームを入力として受信するジョブを実行するステップを備え、データストリーム内のデータ量は、無限であり、ジョブについて、ジョブに入力される受信されたデータストリームにおける未処理データの増大量である、第1の期間にわたるバックログ増大と、ジョブに入力される受信されたデータストリームにおける未処理データの量であるバックログ量と、バックログ増大およびバックログ量に基づいて、ジョブに割当てる処理リソースの量を調整するか否か、とを繰り返し判定するステップと、ジョブに割当てる処理リソースの量を調整すると判定された繰り返し毎に、ジョブに割当てる処理リソースの量を調整するステップと、ジョブに割当てる処理リソースの量を調整しないと判定された繰り返し毎に、ジョブに割当てる処理リソースの量
を維持するステップとを含む、方法。
例19:例1〜例18のうちの1つの例の方法において、バックログ増大およびバックログ量に基づいてジョブに割当てる処理リソースの量を調整するか否かを判定するステップは、ジョブに割当てる処理リソースの量の変動を生じさせる判定するステップを平滑化するステップを含む。
Claims (42)
- コンピュータシステムにおいて実現される方法であって、
複数の処理リソースを備えるコンピュータシステムにおいて、データストリームを入力として受信するジョブを実行するステップを備え、前記データストリーム内のデータ量は、無限であり、
前記ジョブについて、
前記ジョブに入力される受信された前記データストリームにおける未処理データの増大量である、第1の期間にわたるバックログ増大と、
前記ジョブに入力される受信された前記データストリームにおける未処理データの量であるバックログ量と、
前記バックログ増大および前記バックログ量に基づいて、前記ジョブに割当てる処理リソースの量を調整するか否か、とを繰り返し判定するステップと、
前記ジョブに割当てる処理リソースの量を調整すると判定された繰り返し毎に、前記ジョブに割当てる処理リソースの量を調整するステップと、
前記ジョブに割当てる処理リソースの量を調整しないと判定された繰り返し毎に、前記ジョブに割当てる処理リソースの量を維持するステップとを含む、方法。 - 前記判定の繰り返しについて、
前記バックログ増大はゼロまたは負であると判定され、
前記バックログ量は目標と等しいと判定され、
前記バックログ増大がゼロまたは負であると判定され、かつ、前記バックログ量が目標と等しいと判定されたことに応答して、前記ジョブに割当てる処理リソースの量を調整しないと判定される、請求項1に記載の方法。 - 前記判定の繰り返しについて、
前記バックログ増大はゼロまたは負であると判定され、
前記バックログ量は目標未満であると判定され、
前記バックログ増大がゼロまたは負であると判定され、かつ、前記バックログ量が目標未満であると判定されたことに応答して、前記ジョブに割当てる処理リソースの量を調整すると判定され、
前記ジョブに割当てる処理リソースの量を調整するステップは、前記バックログ増大がゼロまたは負であると判定され、かつ、前記バックログ量が目標未満であると判定されたことに応答して、前記ジョブに割当てる処理リソースの量を削減するステップを含む、請求項1に記載の方法。 - 前記判定の繰り返しについて、
前記バックログ増大はゼロまたは負であると判定され、
前記バックログ量は目標よりも大きいと判定され、
前記バックログ増大がゼロまたは負であると判定され、かつ、前記バックログ量が目標よりも大きいと判定されたことに応答して、前記ジョブに割当てる処理リソースの量を調整すると判定され、
前記ジョブに割当てる処理リソースの量を調整するステップは、前記バックログ増大がゼロまたは負であると判定され、かつ、前記バックログ量が目標よりも大きいと判定されたことに応答して、前記ジョブに割当てる処理リソースの量を増加させるステップを含む、請求項1に記載の方法。 - 前記判定の繰り返しについて、
前記バックログ増大は正であると判定され、
前記バックログ量は目標未満であると判定され、
前記バックログ増大が正であると判定され、かつ、前記バックログ量が目標未満であると判定されたことに応答して、前記ジョブに割当てる処理リソースの量を調整しないと判定される、請求項1に記載の方法。 - 前記判定の繰り返しについて、
前記バックログ増大は正であると判定され、
前記バックログ量は目標以上であると判定され、
前記バックログ増大が正であると判定され、かつ、前記バックログ量が目標未満であると判定されたことに応答して、前記ジョブに割当てる処理リソースの量を調整すると判定され、
前記ジョブに割当てる処理リソースの量を調整するステップは、前記バックログ増大が正であると判定され、かつ、前記バックログ量が目標未満であると判定されたことに応答して、前記ジョブに割当てる処理リソースの量を増加させるステップを含む、請求項1に記載の方法。 - 前記バックログ増大はデータサイズの大きさである、請求項1に記載の方法。
- 前記データサイズの単位は、ビット、バイト、メガバイト、ギガバイト、レコード、および基数からなる群のうちの少なくとも1つである、請求項7に記載の方法。
- 前記バックログ増大は処理時間の長さである、請求項1に記載の方法。
- 前記処理時間の単位は、マイクロ秒、秒、分、時間、および日からなる群のうちの少なくとも1つである、請求項9に記載の方法。
- 前記バックログ量はデータサイズの大きさである、請求項1に記載の方法。
- 前記データサイズの単位は、ビット、バイト、メガバイト、ギガバイト、レコード、および基数からなる群のうちの少なくとも1つである、請求項11に記載の方法。
- 前記バックログ量は処理時間の長さである、請求項1に記載の方法。
- 前記処理時間の単位は、マイクロ秒、秒、分、時間、および日からなる群のうちの少なくとも1つである、請求項13に記載の方法。
- 前記方法は、前記ジョブについて、プロセッサ使用率を繰り返し判定するステップをさらに含み、
前記ジョブに割当てる処理リソースの量を調整するか否かを繰り返し判定するステップは、さらに前記プロセッサ使用率に基づく、請求項1に記載の方法。 - 前記判定の繰り返しについて、
前記プロセッサ使用率はある値未満であり、
前記プロセッサ使用率がある値未満であると判定されたことに応答して、前記ジョブに割当てる処理リソースの量を調整すると判定され、
前記ジョブに割当てる処理リソースの量を調整するステップは、前記プロセッサ使用率がある値未満であると判定されたことに応答して前記ジョブに割当てる処理リソースの量を削減するステップを含む、請求項15に記載の方法。 - 前記プロセッサ使用率がある値未満であると判定されたことに応答して前記ジョブに割当てる処理リソースの量を削減するステップは、前記ジョブに割当てるリソースの離散数
を減少させるステップを含み、前記離散数は前記プロセッサ使用率に基づく、請求項16に記載の方法。 - 前記離散数はコンピュータメモリディスクの数である、請求項17に記載の方法。
- 前記バックログ増大および前記バックログ量に基づいて前記ジョブに割当てる処理リソースの量を調整するか否かを判定するステップは、前記ジョブに割当てる処理リソースの量の変動を生じさせる前記判定するステップを平滑化するステップを含む、請求項1に記載の方法。
- 前記判定するステップを平滑化するステップは、第2の期間待つステップを含む、請求項19に記載の方法。
- 前記判定するステップを平滑化するステップは、前記ジョブに割当てる処理リソースの量を調整するか否かの複数の判定を平均化するステップを含む、請求項19に記載の方法。
- システムであって、
コンピュータプログラム命令を実行するように構成された1つ以上のプロセッサと、
コンピュータプログラム命令が符号化されたコンピュータ記憶媒体とを備え、前記コンピュータプログラム命令は、1つ以上のプロセッサによって実行されると、コンピュータデバイスに、
複数の処理リソースを備えるコンピュータシステムにおいて、データストリームを入力として受信するジョブを含む演算を行わせ、前記データストリーム内のデータ量は、無限であり、
前記ジョブについて、
前記ジョブに入力される受信された前記データストリームにおける未処理データの増大量である、第1の期間にわたるバックログ増大と、
前記ジョブに入力される受信された前記データストリームにおける未処理データの量であるバックログ量と、
前記バックログ増大および前記バックログ量に基づいて、前記ジョブに割当てる処理リソースの量を調整するか否か、とを繰り返し判定するステップと、
前記ジョブに割当てる処理リソースの量を調整すると判定された繰り返し毎に、前記ジョブに割当てる処理リソースの量を調整するステップと、
前記ジョブに割当てる処理リソースの量を調整しないと判定された繰り返し毎に、前記ジョブに割当てる処理リソースの量を維持するステップとを含む演算を行なわせる、システム。 - 前記判定の繰り返しについて、
前記バックログ増大はゼロまたは負であると判定され、
前記バックログ量は目標と等しいと判定され、
前記バックログ増大がゼロまたは負であると判定され、かつ、前記バックログ量が目標と等しいと判定されたことに応答して、前記ジョブに割当てる処理リソースの量を調整しないと判定される、請求項22に記載のシステム。 - 前記判定の繰り返しについて、
前記バックログ増大はゼロまたは負であると判定され、
前記バックログ量は目標未満であると判定され、
前記バックログ増大がゼロまたは負であると判定され、かつ、前記バックログ量が目標未満であると判定されたことに応答して、前記ジョブに割当てる処理リソースの量を調整
すると判定され、
前記ジョブに割当てる処理リソースの量を調整するステップは、前記バックログ増大がゼロまたは負であると判定され、かつ、前記バックログ量が目標未満であると判定されたことに応答して、前記ジョブに割当てる処理リソースの量を削減するステップを含む、請求項22に記載のシステム。 - 前記判定の繰り返しについて、
前記バックログ増大はゼロまたは負であると判定され、
前記バックログ量は目標よりも大きいと判定され、
前記バックログ増大がゼロまたは負であると判定され、かつ、前記バックログ量が目標よりも大きいと判定されたことに応答して、前記ジョブに割当てる処理リソースの量を調整すると判定され、
前記ジョブに割当てる処理リソースの量を調整するステップは、前記バックログ増大がゼロまたは負であると判定され、かつ、前記バックログ量が目標よりも大きいと判定されたことに応答して、前記ジョブに割当てる処理リソースの量を増加させるステップを含む、請求項22に記載のシステム。 - 前記判定の繰り返しについて、
前記バックログ増大は正であると判定され、
前記バックログ量は目標未満であると判定され、
前記バックログ増大が正であると判定され、かつ、前記バックログ量が目標未満であると判定されたことに応答して、前記ジョブに割当てる処理リソースの量を調整しないと判定される、請求項22に記載のシステム。 - 前記判定の繰り返しについて、
前記バックログ増大は正であると判定され、
前記バックログ量は目標以上であると判定され、
前記バックログ増大が正であると判定され、かつ、前記バックログ量が目標未満であると判定されたことに応答して、前記ジョブに割当てる処理リソースの量を調整すると判定され、
前記ジョブに割当てる処理リソースの量を調整するステップは、前記バックログ増大が正であると判定され、かつ、前記バックログ量が目標未満であると判定されたことに応答して、前記ジョブに割当てる処理リソースの量を増加させるステップを含む、請求項22に記載のシステム。 - 前記バックログ増大はデータサイズの大きさである、請求項22に記載のシステム。
- 前記データサイズの単位は、ビット、バイト、メガバイト、ギガバイト、レコード、および基数からなる群のうちの少なくとも1つである、請求項28に記載のシステム。
- 前記バックログ増大は処理時間の長さである、請求項22に記載のシステム。
- 前記処理時間の単位は、マイクロ秒、秒、分、時間、および日からなる群のうちの少なくとも1つである、請求項30に記載のシステム。
- 前記バックログ量はデータサイズの大きさである、請求項22に記載のシステム。
- 前記データサイズの単位は、ビット、バイト、メガバイト、ギガバイト、レコード、および基数からなる群のうちの少なくとも1つである、請求項32に記載のシステム。
- 前記バックログ量は処理時間の長さである、請求項22に記載のシステム。
- 前記処理時間の単位は、マイクロ秒、秒、分、時間、および日からなる群のうちの少なくとも1つである、請求項34に記載のシステム。
- 前記演算は、前記ジョブについて、プロセッサ使用率を繰り返し判定するステップをさらに含み、
前記ジョブに割当てる処理リソースの量を調整するか否かを繰り返し判定するステップは、さらに前記プロセッサ使用率に基づく、請求項22に記載のシステム。 - 前記判定の繰り返しについて、
前記プロセッサ使用率はある値未満であり、
前記プロセッサ使用率がある値未満であると判定されたことに応答して、前記ジョブに割当てる処理リソースの量を調整すると判定され、
前記ジョブに割当てる処理リソースの量を調整するステップは、前記プロセッサ使用率がある値未満であると判定されたことに応答して前記ジョブに割当てる処理リソースの量を削減するステップを含む、請求項36に記載のシステム。 - 前記プロセッサ使用率がある値未満であると判定されたことに応答して前記ジョブに割当てる処理リソースの量を削減するステップは、前記ジョブに割当てるリソースの離散数を減少させるステップを含み、前記離散数は前記プロセッサ使用率に基づく、請求項37に記載のシステム。
- 前記離散数はコンピュータメモリディスクの数である、請求項38に記載のシステム。
- 前記バックログ増大および前記バックログ量に基づいて前記ジョブに割当てる処理リソースの量を調整するか否かを判定するステップは、前記ジョブに割当てる処理リソースの量の変動を生じさせる前記判定するステップを平滑化するステップを含む、請求項22に記載のシステム。
- 前記判定するステップを平滑化するステップは、第2の期間待つステップを含む、請求項40に記載のシステム。
- 前記判定するステップを平滑化するステップは、前記ジョブに割当てる処理リソースの量を調整するか否かの複数の判定を平均化するステップを含む、請求項40に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662303827P | 2016-03-04 | 2016-03-04 | |
US62/303,827 | 2016-03-04 | ||
JP2018536462A JP6637186B2 (ja) | 2016-03-04 | 2016-12-19 | コンピュータ処理のためのリソース割当て |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018536462A Division JP6637186B2 (ja) | 2016-03-04 | 2016-12-19 | コンピュータ処理のためのリソース割当て |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020074101A true JP2020074101A (ja) | 2020-05-14 |
JP6971294B2 JP6971294B2 (ja) | 2021-11-24 |
Family
ID=57799812
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018536462A Active JP6637186B2 (ja) | 2016-03-04 | 2016-12-19 | コンピュータ処理のためのリソース割当て |
JP2019229115A Active JP6971294B2 (ja) | 2016-03-04 | 2019-12-19 | コンピュータ処理のためのリソース割当て |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018536462A Active JP6637186B2 (ja) | 2016-03-04 | 2016-12-19 | コンピュータ処理のためのリソース割当て |
Country Status (8)
Country | Link |
---|---|
US (2) | US10558501B2 (ja) |
EP (2) | EP3394753A1 (ja) |
JP (2) | JP6637186B2 (ja) |
KR (1) | KR102003872B1 (ja) |
CN (2) | CN108885561B (ja) |
AU (3) | AU2016396079B2 (ja) |
SG (1) | SG11201805281YA (ja) |
WO (1) | WO2017151209A1 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10331481B2 (en) * | 2017-03-08 | 2019-06-25 | International Business Machines Corporation | Automatic reconfiguration of high performance computing job schedulers based on user behavior, user feedback, and job performance monitoring |
US11334391B2 (en) * | 2017-04-17 | 2022-05-17 | Red Hat, Inc. | Self-programmable and self-tunable resource scheduler for jobs in cloud computing |
US10666703B2 (en) * | 2017-05-09 | 2020-05-26 | EMC IP Holding Company LLC | De-multiplexing streaming data from a fast write ahead durable log into segments |
CN110019944A (zh) * | 2017-12-21 | 2019-07-16 | 飞狐信息技术(天津)有限公司 | 一种视频的推荐方法及*** |
EP3640800A1 (fr) * | 2018-10-17 | 2020-04-22 | Bull Sas | Procédé d'amélioration de l'efficacité d'utilisation des ressources d'une infrastructure destinée a exécuter un plan d'ordonnancement |
FR3087556B1 (fr) * | 2018-10-17 | 2022-04-29 | Bull Sas | Procede d'amelioration de l'efficacite d'utlisation des ressources d'une infrastructure destinee a executer un plan d'ordonnancement |
JP7145094B2 (ja) * | 2019-02-05 | 2022-09-30 | Kddi株式会社 | 制御装置、コンピュータプログラム及び情報処理方法 |
US11366697B2 (en) * | 2019-05-01 | 2022-06-21 | EMC IP Holding Company LLC | Adaptive controller for online adaptation of resource allocation policies for iterative workloads using reinforcement learning |
US11025711B2 (en) | 2019-05-02 | 2021-06-01 | EMC IP Holding Company LLC | Data centric resource management for edge cloud systems |
US11586474B2 (en) | 2019-06-28 | 2023-02-21 | EMC IP Holding Company LLC | Adaptation of resource allocation for multiple workloads using interference effect of resource allocation of additional workloads on performance |
US11327801B2 (en) | 2019-08-29 | 2022-05-10 | EMC IP Holding Company LLC | Initialization of resource allocation for a workload characterized using a regression model |
US11113171B2 (en) | 2019-08-29 | 2021-09-07 | EMC IP Holding Company LLC | Early-convergence detection for online resource allocation policies for iterative workloads |
US20210096927A1 (en) * | 2019-09-27 | 2021-04-01 | Citrix Systems, Inc. | Auto-scaling a pool of virtual delivery agents |
US11868810B2 (en) | 2019-11-15 | 2024-01-09 | EMC IP Holding Company LLC | Resource adaptation using nonlinear relationship between system performance metric and resource usage |
CA3165438A1 (en) * | 2019-12-20 | 2021-06-24 | Niantic, Inc. | Sharded storage of geolocated data with predictable query response times |
JP2021192189A (ja) * | 2020-06-05 | 2021-12-16 | 富士通株式会社 | パイプライン分割位置決定方法及びパイプライン分割位置決定プログラム |
US11650858B2 (en) | 2020-09-24 | 2023-05-16 | International Business Machines Corporation | Maintaining stream processing resource type versions in stream processing |
CN113821336B (zh) * | 2021-03-08 | 2024-04-05 | 北京京东乾石科技有限公司 | 资源分配方法和装置、存储介质、电子设备 |
US11665106B2 (en) * | 2021-09-07 | 2023-05-30 | Hewlett Packard Enterprise Development Lp | Network-aware resource allocation |
US11934673B2 (en) | 2022-08-11 | 2024-03-19 | Seagate Technology Llc | Workload amplification metering and management |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6591287B1 (en) * | 1999-09-08 | 2003-07-08 | Lucent Technologies Inc. | Method to increase the efficiency of job sequencing from sequential storage |
JP3884427B2 (ja) * | 2003-12-10 | 2007-02-21 | 東芝ソリューション株式会社 | 計算機システム及び資源割り当てプログラム |
US20050213507A1 (en) * | 2004-03-25 | 2005-09-29 | International Business Machines Corporation | Dynamically provisioning computer system resources |
US7660955B2 (en) * | 2005-12-01 | 2010-02-09 | International Business Machines Corporation | Node polling in consistency group formation |
US8458720B2 (en) * | 2007-08-17 | 2013-06-04 | International Business Machines Corporation | Methods and systems for assigning non-continual jobs to candidate processing nodes in a stream-oriented computer system |
KR20100035394A (ko) * | 2008-09-26 | 2010-04-05 | 삼성전자주식회사 | 멀티 프로세싱에서의 메모리 관리장치 및 그 방법 |
CN101533362A (zh) * | 2009-04-15 | 2009-09-16 | 南京联创科技股份有限公司 | 进程间cpu资源平衡调度方法 |
US8639862B2 (en) * | 2009-07-21 | 2014-01-28 | Applied Micro Circuits Corporation | System-on-chip queue status power management |
JP2011118525A (ja) * | 2009-12-01 | 2011-06-16 | Hitachi Ltd | サーバ管理装置とサーバ管理方法およびサーバ管理プログラム |
US8201820B2 (en) * | 2010-07-27 | 2012-06-19 | Foxlink Image Technology Co., Ltd. | Document feeding mechanism |
US8799916B2 (en) * | 2011-02-02 | 2014-08-05 | Hewlett-Packard Development Company, L. P. | Determining an allocation of resources for a job |
JP5843459B2 (ja) * | 2011-03-30 | 2016-01-13 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 情報処理システム、情報処理装置、スケーリング方法、プログラムおよび記録媒体 |
KR20120122136A (ko) * | 2011-04-28 | 2012-11-07 | 삼성전자주식회사 | 데이터 스트림 관리 시스템에서의 부하 경감을 조절하는 방법 및 장치 |
US20120296696A1 (en) * | 2011-05-17 | 2012-11-22 | International Business Machines Corporation | Sustaining engineering and maintenance using sem patterns and the seminal dashboard |
US20130060555A1 (en) * | 2011-06-10 | 2013-03-07 | Qualcomm Incorporated | System and Apparatus Modeling Processor Workloads Using Virtual Pulse Chains |
US9069606B2 (en) * | 2012-05-08 | 2015-06-30 | Adobe Systems Incorporated | Autonomous application-level auto-scaling in a cloud |
CN104023042B (zh) * | 2013-03-01 | 2017-05-24 | 清华大学 | 云平台资源调度方法 |
KR20150062634A (ko) * | 2013-11-29 | 2015-06-08 | 고려대학교 산학협력단 | 클라우드 컴퓨팅 환경 내 오토 스케일링 시스템 및 방법 |
CN104951368B (zh) * | 2014-03-28 | 2019-02-22 | 中国电信股份有限公司 | 资源动态分配装置和方法 |
US20170185456A1 (en) * | 2014-05-01 | 2017-06-29 | Longsand Limited | Dynamically scaled web service deployments |
US9542107B2 (en) * | 2014-06-25 | 2017-01-10 | International Business Machines Corporation | Flash copy relationship management |
US20160306416A1 (en) * | 2015-04-16 | 2016-10-20 | Intel Corporation | Apparatus and Method for Adjusting Processor Power Usage Based On Network Load |
US20160378545A1 (en) * | 2015-05-10 | 2016-12-29 | Apl Software Inc. | Methods and architecture for enhanced computer performance |
US10044632B2 (en) * | 2016-10-20 | 2018-08-07 | Dell Products Lp | Systems and methods for adaptive credit-based flow |
-
2016
- 2016-12-19 EP EP16826534.6A patent/EP3394753A1/en not_active Withdrawn
- 2016-12-19 CN CN201680078758.4A patent/CN108885561B/zh active Active
- 2016-12-19 EP EP21206839.9A patent/EP3971719A1/en active Pending
- 2016-12-19 AU AU2016396079A patent/AU2016396079B2/en active Active
- 2016-12-19 JP JP2018536462A patent/JP6637186B2/ja active Active
- 2016-12-19 SG SG11201805281YA patent/SG11201805281YA/en unknown
- 2016-12-19 KR KR1020187020037A patent/KR102003872B1/ko active IP Right Grant
- 2016-12-19 WO PCT/US2016/067538 patent/WO2017151209A1/en active Application Filing
- 2016-12-19 CN CN202210267059.1A patent/CN114756341A/zh active Pending
- 2016-12-30 US US15/395,225 patent/US10558501B2/en active Active
-
2019
- 2019-12-19 JP JP2019229115A patent/JP6971294B2/ja active Active
-
2020
- 2020-02-04 US US16/781,467 patent/US20200225991A1/en active Pending
- 2020-02-13 AU AU2020201056A patent/AU2020201056B2/en active Active
-
2022
- 2022-02-03 AU AU2022200716A patent/AU2022200716B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP6971294B2 (ja) | 2021-11-24 |
US20200225991A1 (en) | 2020-07-16 |
US10558501B2 (en) | 2020-02-11 |
US20170255491A1 (en) | 2017-09-07 |
CN108885561B (zh) | 2022-04-08 |
EP3394753A1 (en) | 2018-10-31 |
EP3971719A1 (en) | 2022-03-23 |
KR102003872B1 (ko) | 2019-10-17 |
AU2022200716A1 (en) | 2022-02-24 |
JP2019508795A (ja) | 2019-03-28 |
SG11201805281YA (en) | 2018-07-30 |
AU2020201056B2 (en) | 2021-11-04 |
AU2016396079A1 (en) | 2018-07-26 |
WO2017151209A1 (en) | 2017-09-08 |
AU2016396079B2 (en) | 2019-11-21 |
JP6637186B2 (ja) | 2020-01-29 |
KR20180085806A (ko) | 2018-07-27 |
AU2022200716B2 (en) | 2023-06-01 |
AU2020201056A1 (en) | 2020-03-05 |
CN108885561A (zh) | 2018-11-23 |
CN114756341A (zh) | 2022-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2020074101A (ja) | コンピュータ処理のためのリソース割当て | |
US11487562B2 (en) | Rolling resource credits for scheduling of virtual computer resources | |
US10223166B2 (en) | Scheduling homogeneous and heterogeneous workloads with runtime elasticity in a parallel processing environment | |
US10289183B2 (en) | Methods and apparatus to manage jobs that can and cannot be suspended when there is a change in power allocation to a distributed computer system | |
US10430218B2 (en) | Management of demand for virtual computing resources | |
US8972956B2 (en) | Application deployment in heterogeneous environments | |
US20180144251A1 (en) | Server and cloud computing resource optimization method thereof for cloud big data computing architecture | |
US11150951B2 (en) | Releasable resource based preemptive scheduling | |
US9798584B1 (en) | Methods and apparatus for IO sizing based task throttling | |
US11941456B2 (en) | Computer system workload manager | |
JP2021504780A (ja) | 分散コンピューティング環境における自動対角スケーリングためのアプリケーションの優先順位付け | |
WO2020133408A1 (zh) | 应用程序的优先级调整方法、装置、存储介质及电子设备 | |
US11586475B2 (en) | Application aware resource allocation for deep learning job scheduling | |
US20230409411A1 (en) | Automated pattern generation for elasticity in cloud-based applications | |
US20230136226A1 (en) | Techniques for auto-tuning compute load resources | |
US20230342200A1 (en) | System and method for resource management in dynamic systems | |
US20240004693A1 (en) | Batch workload control based on capacity consumption | |
JP2022189807A (ja) | コンピュータ実装方法、システム、コンピュータプログラム(コンテナへのサービスの割り当て) | |
CN116909940A (zh) | 一种自适应内存分配方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200117 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200117 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210224 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210309 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210607 |
|
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: 20211005 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211101 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6971294 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |