JP5987987B2 - リソース管理システム、リソース管理方法、およびプログラム - Google Patents

リソース管理システム、リソース管理方法、およびプログラム Download PDF

Info

Publication number
JP5987987B2
JP5987987B2 JP2015524961A JP2015524961A JP5987987B2 JP 5987987 B2 JP5987987 B2 JP 5987987B2 JP 2015524961 A JP2015524961 A JP 2015524961A JP 2015524961 A JP2015524961 A JP 2015524961A JP 5987987 B2 JP5987987 B2 JP 5987987B2
Authority
JP
Japan
Prior art keywords
job
wcet
type
types
classification
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
JP2015524961A
Other languages
English (en)
Other versions
JP2016501392A (ja
Inventor
スン、ウェイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JP2016501392A publication Critical patent/JP2016501392A/ja
Application granted granted Critical
Publication of JP5987987B2 publication Critical patent/JP5987987B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/821Prioritising resource allocation or reservation requests
    • 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
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

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)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、リソース管理システム、リソース管理方法、およびプログラムに関し、特に、リアルタイムのクラウドサービスを提供するリソース管理システム、リソース管理方法およびプログラムに関する。
リアルタイムシステムのための技術のほとんどは、与えられたシステムの多くの特徴が予め知られていることを想定している(非特許文献1)。例えば、周期的タスクシステムは、ジョブリリース時刻、最悪実行時間(WCET:Worst Case Execution Time)、暗黙的または明示的な期限(非特許文献1、2)を想定している。散発的タスクシステムと非周期的タスクシステムの両方は、ジョブリリース時刻上の想定を軽減する(非特許文献1〜3)。ソフトリアルタイムシステムでは、パフォーマンスと信頼性が大きな危険にさらされない限り、期限を完全に保証するものではない(非特許文献4、5)。タスク期間を調整し、または、遅延した期限の余波を制御する技術がいくつか提案されている(非特許文献6、7)。非特許文献7は、タスク期間が与えられた弾性係数を有するスプリングとして扱われる弾性タスクモデルを開示している。しかしながら、タスク属性を知ることが必要とされ、十分なリソースが利用可能でない場合、タスクをスケジュールすることができない。
クラウドコンピューティングシステムは、仮想化技術(非特許文献8、9)によってリソースの増強を提供する。仮想化技術には、従来のコンピュータシステムには存在しない新しい特徴がある。例えば、クラウド・コンピュータシステムにおいては、より多くの物理リソースを使用したり、アプリケーションを配備したり、システム構成を変更することが容易である。従来のコンピュータシステムとは異なり、仮想世界で実行中のオブジェクトを移動することは、通常、実行中のオブジェクトを含む仮想マシンを全体として移動することを指す。
J.W.S. Liu, "Real-time Systems," Prentice Hall, 2000. J. Carpenter, et al., "A Categorization of Real-Time Multiprocessor Scheduling Problems and Algorithms," J. Y-T. Leung eds. Handbook of Scheduling: Algorithms, Models and Performance Analysis, CRC Press, 2004. N.W. Fisher, "The Multiprocessor Real-Time Scheduling of General Task Systems," Doctoral Dissertation, University of North Carolina at Chapel Hill, 2007. J.W.S. Liu, W.K. Shih, K.J. Lin, R. Bettati and J.Y. Chung, "Imprecise Computations," Proc. IEEE, vol.82, no.1, pp.83-94, Jan. 1994. U.C. Devi, "Soft Real-Time Scheduling on Multiprocessor," Doctoral Dissertation, University of North Carolina at Chapel Hill, 2006. T. Chantem, X.S. Hu, and M.D. Lemmon, "Generalized Elastic Scheduling for Real-Time Tasks," IEEE Transactions on Computers, vol.58, no.4, pp.480-495, April 2009. G. Buttazzo, G. Lipari, and L. Abeni, "Elastic Task Model for Adaptive Rate Control," Proc. 26th IEEE Real-Time Systems Symp. pp.399-409, 2005. B. Hayes, "Cloud Computing," Communication of the ACM, vol.51, no.7, pp.9-11, 2008. M. Armbrust, A. Fox, R. Griffith, et al., "A View of Cloud Computing," Communication of the ACM, vol.53, no.4, pp.50-58, 2010.
上記非特許文献の全開示は、それらを参照することにより本明細書に組み込まれる。以下の分析は、本発明によって与えられる。
クラウドの中のアプリケーションおよびサービスは、ますますリアルタイムとなる傾向にある。しかしながら、これらのほとんどは、予め多くの特徴を把握できず、非常に一般的なものである。ユーザ要求の到着時間およびサービス時間は、従来のモデルによって容易かつ正確に表現することができない。些細なオペレーションについては言うまでもなく、多数のアプリケーションに対する最大応答時間、すなわち期限を定義することは困難である。データセンタは多くのリソースを備えており、リソースの増強により増大するリソース要求を満たすことができるが、不要なコストを回避するためにリソースの弾性を制御する必要がある。また、これまでユーザエンドとリソースエンドの双方に対して弾性が提供されず、したがって、これらの両エンドには協調的な弾性も提供されていない。
クラウドで実行される多くのサービスは、「リアルタイム(real time)」であることが要求される。リアルタイムのクラウドサービスを実現するために、以下のような技術的問題が挙げられる。
1.すべてのユーザ要求が、明確に定義された時間要件を有するわけではない。各ユーザ要求に対する時間要件を実際にどのように決めるかが問題となる。
2.多くのサービスに関して、それらがリアルタイムであるか否かはユーザの経験に依存する。通常、制御システム内で制御されるオブジェクトと比較して、ユーザの経験は時間の遅延に対して厳しくない。ユーザ要求をどの程度遅延させることができるかということと、どのユーザ要求を遅延させるべきかが問題となる。
3.同一のユーザ要求であっても、異なる時点、異なる社会事象、自然事象に際して、異なる時間の要件を有することがある。いかにスマートな方法での時間の要件を決定して状況の変化を認識するかが問題となる。
4.オペレーションの実行時間のすべてを、予め正確に知ることはできない。例えば、異なるユーザのデータの取得は、非常に異なっていることがある。さらに、オペレーションの集合の最悪実行時間(WCET)を把握しておく方がよい場合がある。例えば、ボブ(Bob)は写真をアップロードするもののアリス(Alice)はアップロードしていないため、アリスがユーザデータを読み取るオペレーション「A」は5秒必要とし、一方、ボブがユーザデータを読み取るオペレーション「B」は8秒必要とする。この場合、アリスとボブの間の最大時間は8秒である。一連のオペレーション(またはジョブ)に対していかにして適切にWCETを知るかが問題となる。
5.既存の期限選択技術は、ジョブレベルではなくタスクレベルでのみ機能するため、期限があまり定義されていない多くの異なるジョブを扱うには融通がきかない。また、これらの技術は、期限を緩める点でリソースの弾性を考慮に入れない。これに関連した問題は、時間的に制約された多くのユーザ要求を処理し、ユーザエンドとリソースエンドの両エンドにおける弾性を調整する洗練された方法を必要する。
したがって、時間の要件が明確に定義されていないジョブのリアルタイム実行を実現することが望ましい。本開示の目的は、かかるニーズに貢献するリソース管理システム、リソース管理方法、および、プログラムを提供することにある。
本開示の第1の側面によれば、
複数のタイプのそれぞれのジョブ用の最初および最後の期限を当該タイプ用の分類コードに関連付けて保持する臨界時間テーブルと、
前記複数のタイプのそれぞれのジョブ用の最悪実行時間(WCET:Worst Case Execution Time)を当該タイプ用の分類コードに関連付けて保持するWCETテーブルと、
ユーザからのジョブを前記複数のタイプのいずれか1つに分類し、当該ジョブを当該タイプ用の分類コードに関連付ける分類ユニットと、
前記臨界時間テーブルおよび前記WCETテーブルに基づいて、前記分類されたジョブ用の最初および最後の期限ならびにWCETを決定し、決定した最初および最後の期限ならびに決定したWCETに従って、前記分類されたジョブ用のスケジュールを生成するコアユニットと、
前記複数のタイプのそれぞれについてジョブの数を監視し、ジョブの数がその移動平均から正の方向に外れているタイプを前記複数のタイプから抽出する認識ユニットと、を備え、
前記コアユニットは、前記ユーザからのジョブが前記分類ユニットにより抽出されたタイプに分類されている場合、当該ジョブを前記スケジュールにおいて優先的にスケジュールする、
クラウドコンピューティング用のリソース管理システムが提供される。
本開示の第2の側面によれば、
コンピュータが、複数のタイプのそれぞれのジョブ用の最初および最後の期限を当該タイプ用の分類コードに関連付けて臨界時間テーブルに保持するステップと、
前記複数のタイプのそれぞれのジョブ用の最悪実行時間(WCET:Worst Case Execution Time)を当該タイプ用の分類コードに関連付けてWCETテーブルに保持するステップと、
ユーザからのジョブを前記複数のタイプのいずれか1つに分類するステップと、
前記ジョブを前記タイプ用の分類コードに関連付けるステップと、
前記臨界時間テーブルおよび前記WCETテーブルに基づいて、前記分類されたジョブ用の最初および最後の期限ならびにWCETを決定するステップと、
前記決定した最初および最後の期限ならびに前記決定したWCETに従って、前記分類したジョブ用のスケジュールを生成するステップと、
前記複数のタイプのそれぞれについてジョブの数を監視するステップと、
ジョブの数がその移動平均から正の方向に外れているタイプを前記複数のタイプから抽出するステップと、
前記ユーザからのジョブが前記抽出されたタイプに分類されている場合、当該ジョブを前記スケジュールにおいて優先的にスケジュールするステップと、を含む、
クラウドコンピューティング用のリソース管理方法が提供される。
本開示の第3の側面によれば、
複数のタイプのそれぞれのジョブ用の最初および最後の期限を当該タイプ用の分類コードに関連付けて臨界時間テーブルに保持する処理と、
前記複数のタイプのそれぞれのジョブ用の最悪実行時間(WCET:Worst Case Execution Time)を当該タイプ用の分類コードに関連付けてWCETテーブル内に保持する処理と、
ユーザからのジョブを前記複数のタイプのいずれか1つに分類する処理と、
前記ジョブを前記タイプ用の分類コードに関連付ける処理と、
前記臨界時間テーブルおよび前記WCETテーブルに基づいて、前記分類されたジョブ用の最初および最後の期限ならびにWCETを決定する処理と、
前記決定した最初および最後の期限ならびに前記決定したWCETに従って、前記分類ジョブ用のスケジュールを生成する処理と、
前記複数のタイプのそれぞれについてジョブの数を監視する処理と、
ジョブの数がその移動平均から正の方向に外れているタイプを前記複数のタイプから抽出する処理と、
前記ユーザからのジョブが前記抽出されたタイプに分類されている場合、当該ジョブを前記スケジュールにおいて優先的にスケジュールする処理と、をコンピュータに実行させる、
プログラムが提供される。
本開示によるリソース管理システム、リソース管理方法およびプログラムは、時間の要件が明確に定義されていないジョブのリアルタイム実行を達成する必要性に寄与する。
図1は、実施形態に係るリソース管理システムの構成を例示する。 図2は、実施形態に係るリソース管理システムにおける分類ユニット用のキーワードテーブルおよび分類テーブルを例示する。 図3は、実施形態に係るリソース管理システムにおける分類ユニット用の階層グラフを例示する。 図4は、実施形態に係るリソース管理システムにおける認識ユニット用のランキングテーブルを例示する。 図5は、実施形態に係るリソース管理システムにおけるWCETテーブルを例示する。 図6は、実施形態に係るリソース管理システムにおける臨界時間テーブルを例示する。 図7は、実施形態に係るリソース管理システムにおけるコアユニット用の擬似コードを例示する。
好ましい形態を、実施形態として以下に記載する。
(実施形態)
図1は、実施形態に係るリソース管理システムの構成を一例として示す。リソース管理システムは、リアルタイム・クラウドサービスを提供する。図1を参照すると、リソース管理システムは、分類ユニット103と、認識ユニット104と、臨界時間テーブル105と、最悪実行時間(WCET:Worst Case Execution Time)テーブル106と、ジョブトレーサ107と、コアユニット108と、仮想マシンモニタ(VMM:Virtual Machine Monitor)110と、スケジューラ111と、仮想マシン(VM:Virtual Machine)112と、を備えている。
ユーザ端末101は、通信ネットワーク102を介してリソース管理システムに接続されている。各ユーザ端末101は、リソース管理システムに要求を送信する。以下では、簡単のために、要求およびジョブという用語を同じ意味で使用する。
分類ユニット103および認識ユニット104は、ジョブに関する情報を取得する。分類ユニット103は、ジョブを分類して、各ジョブが既存のタイプに属するか否かを確認する。各ジョブには、分類コードが存在する場合、分類コードが割り当てられる。認識ユニット104は、ジョブおよびユーザの履歴を認識して、ユーザの行動の変化を識別する。臨界時間テーブル105は、典型的なオペレーションに対するデフォルト時間要件を保持する。ユーザの行動や臨界時間を認識する方法については、後に詳述する。認識ユニット104は、分類ユニット103および臨界時間テーブル105における分類に影響を及ぼして、状況の変化に適応する。
WCETテーブル106には、WCETが記載されている。特定のユーザの要求が、WCETに関連付けられているわけではない。その代わりに、要求の各タイプに対して、WCETが与えられる。分類ユニット103の分類の粗さ(grain)がユーザ要求を捉えるほど非常に細かい場合に限り、あるタイプのWCETはユーザ要求のWCETに完全に一致する。
コアユニット108は、分類ユニット103、臨界時間テーブル105、WCETテーブル106、VMM110からのジョブの情報を受信する。そして、コアユニット108は、次の処理を行う。1)各ジョブをタイプにマッチさせて、適切なWCETを見つける。2)臨界時間テーブル105を用いて、各ジョブに適した期限を決定する。3)期限およびリソース上の協調した弾性を有するジョブのスケジュールを計算する。4)VMM110に通知して、新しいVMを有効化し、または、既存のVMを解放する。5)決められた期限109を有するジョブのプールを作成する。6)スケジュールをスケジューラ111に転送する。ジョブのエンティティは、プール109に格納される。
スケジューラ111は、計算されたスケジュールを用いて、VMで実行するジョブを選択する。これは、中央キューを備えたマルチプロセッサシステムとしてモデル化することができる。VMM110は、すべてのVM112を管理し、新しいVMを作成し、使用されていない物理リソース113を解放する。VMを調整するイベントと、ジョブをプール109中に準備するイベントの2つのイベントは並列に実行されることに注意されたい。ジョブトレーサ107は、実行中のジョブをトレースする。ジョブが終了すると、分類ユニット103およびWCETテーブル106内のエントリを変更してもよい。
以下では、リソース管理システムの詳細について、図面を参照しつつ説明する。
本実施形態では、ユーザ要求の時間属性(例えば、時間要件)を明示的に定義する必要はない。実際には、ほとんどのサービスにおいて、時間属性は使用できない。各ユーザの要求(またはジョブ)は、例えば、ユーザ情報、ネットワーク情報、要求されたデータまたはオペレーション、いくつかの特別なリソース等の情報に関連付けられている必要がある。分類ユニット103は、異なるタイプの情報に基づいて、ジョブを分類する。
分類ユニット103は、キーワードテーブルおよび分類テーブルを参照してもよい。図2は、キーワードテーブルおよび分類テーブルを一例として示す。
図2を参照すると、キーワードテーブルAはアプリケーションを格納し、キーワードテーブルBはオペレーション内容を格納し、キーワードテーブルCはユーザ名を格納する。キーワードテーブルA、BおよびCにおいて、各エントリ202は、特定の特徴を表している。分類テーブル204は、これらのキーワードテーブルA、BおよびCに基づいて構築することができる。これらのテーブルは、静的ではなく動的であることに注意されたい。新しいアプリケーション、オペレーション、またはデータ項目が表れたときに、新しいエントリをこれらのテーブルに追加してもよい。逆に、アプリケーションまたはデータの寿命が終わると、古いエントリをこれらのテーブルから削除してもよい。
分類テーブル204には、キーワードテーブルA、BおよびCにこれらのエントリの様々な可能な組み合わせが記載される。新しいジョブの情報は、キーワードテーブルA、BおよびCのエントリを用いて符号化され、新しいジョブのコードに対する最大類似性を有する分類テーブル204内のエントリは、新しいジョブを識別するのに用いられる。ジョブの各タイプは、例えば、ハードリアルタイム、ソフトリアルタイム、非リアルタイム、特別なリソースを必要とするかどうか、いくつかのさらなるイベント等を待機する必要があるかどうか等といった、固有の属性206を有する。属性は、サービスプロバイダまたは(許可された)ユーザによって明示的に設定してもよい。
例えば、ユーザであるダニエルがいくつかのシステム動作を監視するアプリケーションを登録し、彼がシステム管理者である場合、ジョブはハードリアルタイム属性と、例えばユーザ認証のような他のジョブとの依存関係とを有するA1B2C1と特定される。
分類テーブル204における分類コードは、臨界時間テーブル105における分類コード、および、WCETテーブル106における分類コードと同じである。すなわち、分類コードは、WCETおよび臨界時間とも関連付けられている。
キーワードテーブルA、BおよびC内のエントリは、階層グラフに編成することができる。この場合、分類テーブル204内のエントリは、階層グラフの頂点に対応する。最大類似度を決定することは、可能な限り低いレベルで頂点を見つけることに相当する。図3は、図2に示した分類テーブル204に対応する階層グラフを示す。
認識ユニット104は、サービスの変化を検出する。本実施形態では、以下の変更に着目している。ランタイムにおいて、多くの変更が起きることが想定されている。認識ユニット104は、ユーザが払う注意が増大することにより時間要件が暗黙的に変更される場合のみを対象とし、一方、明示的な変更は分類ユニット103によって捉えられる。
一例として、以下の例が考えられる。地震のような大災害が起こる場合、多くの人々は、災害に関する情報やデータを取得することを望む。そのような場合の要求が他の要求や以前の要求と同じように取り扱われる場合、サービスはリアルタイムにならない。なぜなら、ユーザの体感が変わるからである(すなわち、ユーザは大惨事の前には、大惨事の後に許容できる時間よりもはるかに長い待機時間を許容することができる)。強度を静的に検出する代わりに、タイムリーに強度を検出すべきである。
認識ユニット104は、発生の頻度を使用してもよい。同一の分類コードが付されたタイプに対して、ジョブの履歴が移動平均(MA:Moving Average)法によって記憶される。要求のソースと、移動平均のウィンドウ内のアクセス数の両方が記録される。その後、移動平均からのデータの変化を使用して、物理的な世界の変化が評価される。
認識ユニット104は、ランキングテーブルを使用してもよい。図4は、認識ユニット104用のランキングテーブルを一例として示す。図4を参照すると、各エントリは、分類コード302、ソース202、アクセス304、移動平均(MA:Moving Average)の傾向305、および、ランキング306を含む。
分類コード302は長さが異なるので、異なるランキングテーブルが存在しなければならない。使用すべきテーブルは、柔軟性が提供されるように、サービスプロバイダによって決定してもよい。プロバイダによって管理されているディスク使用量を報告する場合のように、一般的なオペレーションの集合が高感度であることが期待されている場合、短いコードを有するテーブルを使用することが好ましい。この例では、テーブル内において、最低レベルのコードが想定される。
ソース303は、ユーザまたはネットワークのアドレスを指定する。アクセス304は、コードに対する要求の数である。例えば5分間のような移動平均(MA:Moving Average)ウィンドウが、サービスプロバイダによって定義される。ソース303およびアクセス304は、ウィンドウ内の全カウントである。同一のコードの最後のウィンドウと比較し、MAデータの傾向をフィールド305から知ることができる。他のコードとの比較により、ランキング306も知ることができる。
ランキング306は、様々な方法で使用することができる。例えば、サービスプロバイダは、コアユニット108のスケジュールの計算において最初の10個の記録のジョブの期限を短くしてもよく、あるいは、異なるランクについて異なるスケールで期限を短縮してもよい。後で、コアユニット108用のアルゴリズムの一例を、バイナリマークと呼ばれる前者の場合について示す。
図5は、最悪実行時間(WCET)テーブル106の一例を示す。図5を参照すると、WCETテーブル106は、ジョブの各タイプの最悪実行時間(WCET)を各タイプに対する分類コードに関連付けて保持する。WCETテーブル106のレコードのうちのあるものは事前に設定することができ、その他のものはジョブの実行後にジョブトレーサ107によって登録することができる。
図6は、臨界時間テーブル105の一例を示す。図6を参照すると、臨界時間テーブル105は、あるタイプのジョブ用の臨界時間(例えば、最初の期限と最後の期限)を当該タイプの分類コードに関連付けて保持する。
臨界時間テーブル105とWCETテーブル106は、同一の分類コードを保持する。ただし、データフィールドはこれらの2つのテーブル間で異なる。WCETテーブル106内のデータフィールドは、各エントリ(図5)に対するWCETを保持する。一方、臨界時間テーブル105のデータフィールドは、各エントリに対する最も早い期限(ED:Earliest Deadline)、最も遅い期限(LD:Latest Deadline)、および、マークを格納する(図6)。
EDおよびLDはユーザの経験に基づいて決定されるため、本開示に係るリソース管理システムはユーザ指向である。一例として、ユーザがウェブページのリンクをクリックすると、最終の応答時間は、ある報告によれば、4、8ないし10秒を超えるものであってはならない。また、明らかに、誰も0.5秒の応答時間と0.1秒の応答時間とを区別することはできない。したがって、EDおよびLDは、それぞれ0.5秒と10秒に設定してもよい。
別の例として、ビデオオンデマンド(VOD:Video on Demand)サービスにおいて、秒間フレーム数(FPS:Flames per Second)は14から25の範囲である。14よりも低いFPSでは人が検出できる大幅な遅延が生じ、25よりも高いFPSでは明らかにユーザの体感を向上させない。このように、VODに対するEDおよびLDを計算することができる。
ほとんどのEDおよびLDはユーザの経験によって決定される。いくつかのEDおよびLDは、システム性能を向上させるような特定の目的のためにサービスプロバイダによって任意に設定されてもよい。
マークは、サービスプロバイダまたはユーザによって明示的に与えられてもよく、あるいは、認識ユニット104によって暗黙的に与えられてもよい。自然数マークまたはバイナリマークのような2つのタイプのマークを使用することができる。マークの数がより多くなると、より細かいサービスとなり、結果としてより多くのコストが必要となる。
コアユニット108は、スケジュールを計算し、期限およびリソースの弾性を決定する。コアユニット108はアルゴリズムを備え、分類ユニット103(ジョブごとに分類コードを提供する)内の情報およびデータ、臨界時間テーブル105(ED、LD、およびマークを含む各ジョブ用の臨界時間を提供する)、WCETテーブル106(各ジョブ用のWCETを提供する)、VMM110(現在のVMの状態を提供する)、および、ジョブ自体が入力される。
アルゴリズムの例を図7に示す。図7に示す例はバイナリマークとジョブのリソース依存性を考慮し、パーティションアルゴリズムとしては、EDF−FF(Earliest Deadline First - First Fix)アルゴリズムを想定している。このアルゴリズムは、異なるマークを使用してアルゴリズムを分割することによって、他のバージョンに変更することができる。
図7に示すアルゴリズムの基本的な考え方は、ジョブを2つの集合に分割し、2つの集合を異なる方法でスケジュールすることである。最初のセットは期限を遅らせることができず、分割アルゴリズムによって保証することができない期限が存在する場合は、より多くのVMが追加される。第2のセットの期限は遅らせることができるが、最も早い期限は守られるようにし、LDが保証されない場合に限り、新しいVMが作成される。新しいVMが必要とされるたびに、アルゴリズムは、十分なリソースが利用可能であることを確認するためにVMM110に照会する。アルゴリズムが実行された後、スケジュールが作成され、現在のVMを拡張する情報も準備ができる。
その後、ジョブはスケジュールに基づいて期限と関連付けられる。臨界時間テーブル105の時間は期限ではなく、期限の下限と上限であることに注意されたい。一方、スケジュールはジョブスケジューラ111に送信され、拡大したVMの情報はVMM110に送信される。VM112が準備された場合、スケジューラ111は、スケジュールに基づいてジョブをディスパッチする。
ユーザエンドに対して、リソース管理システムは、ユーザ要求に対して適切な時間制約を自動で設定して調整することにより、非リアルタイムサービスをリアルタイムサービスに変換する。一方、リソースエンドに対して、リソース管理システムは、ユーザからのリソースへの要求と、クラウドデータセンタからのリソースの供給とのバランスをとる。したがって、リソース管理システムは、リアルタイムのクラウドサービスにおいて、ユーザエンドおよびリソースエンドの両エンドに対して2重の弾性を実現する。
なお、本開示に記載された図面を参照する参照符号または数字は、より良い図示の目的のために単に与えられ、本開示を図示された形態または実施例に限定するものではない。
上記非特許文献の開示は、その参照により本明細書に組み込まれる。実施形態の改変および調整は、本発明の全体的開示(特許請求の範囲を含む)の範囲内で可能であり、本発明の基本的技術思想に基づく。様々な組み合わせ、および、様々な開示された要素(各請求項の各要素、各実施形態の各要素、各図の各要素等を含む)の選択は、本発明の特許請求の範囲内で可能である。つまり、本発明はもちろん特許請求の範囲および技術的思想を含む全開示により当業者によってなされ得る様々な変形および調整を含む。特に、ここで開示される任意の数値範囲は、任意の中間値または開示された範囲内の部分範囲も、その特別な詳しい説明なくても具体的に開示されていると解釈されるべきである。
101 ユーザ端末
102 通信ネットワーク
103 分類ユニット
104 認識ユニット
105 臨界時間テーブル
106 最悪実行時間(WCET)テーブル
107 ジョブトレーサ
108 コアユニット
110 仮想マシンモニタ(VMM)
111 スケジューラ
112 仮想マシン(VMs)
113 物理リソース
201 キーワードテーブル
202 エントリ
203 キーワード
204 分類テーブル
205 分類コード
206 属性
302 分類コード
303 ソース
304 アクセス
305 MAの傾向
306 ランキング

Claims (12)

  1. 複数のタイプのそれぞれのジョブ用の最初および最後の期限を当該タイプ用の分類コードに関連付けて保持する臨界時間テーブルと、
    前記複数のタイプのそれぞれのジョブ用の最悪実行時間(WCET:Worst Case Execution Time)を当該タイプ用の分類コードに関連付けて保持するWCETテーブルと、
    ユーザからのジョブを前記複数のタイプのいずれか1つに分類し、当該ジョブを当該タイプ用の分類コードに関連付ける分類ユニットと、
    前記臨界時間テーブルおよび前記WCETテーブルに基づいて、前記分類されたジョブ用の最初および最後の期限ならびにWCETを決定し、決定した最初および最後の期限ならびに決定したWCETに従って、前記分類されたジョブ用のスケジュールを生成するコアユニットと、
    前記複数のタイプのそれぞれについてジョブの数を監視し、ジョブの数がその移動平均から正の方向に外れているタイプを前記複数のタイプから抽出する認識ユニットと、を備え、
    前記コアユニットは、前記ユーザからのジョブが前記分類ユニットにより抽出されたタイプに分類されている場合、当該ジョブを前記スケジュールにおいて優先的にスケジュールする、
    クラウドコンピューティング用のリソース管理システム。
  2. 前記複数のタイプのそれぞれのジョブ用の属性を当該タイプ用の分類コードに関連付けて保持する分類テーブルを備え、
    前記分類ユニットは、前記ユーザからの前記ジョブを、前記分類テーブルにおける属性が前記ジョブ用の属性と同様である分類コードに関連付ける、
    請求項1に記載のリソース管理システム。
  3. 前記コアユニットは、前記ユーザからのジョブが前記分類ユニットにより抽出されたタイプに分類されている場合、当該ジョブ用の前記決定された最初および最後の期限を短くする、
    請求項1または2に記載のリソース管理システム。
  4. 前記複数のタイプのそれぞれのジョブについて実行時間を監視し、実行時間が1つでも当該タイプのWCETを超えた場合、前記WCETテーブルにおいて当該タイプ用のWCETを更新するジョブトレーサを備える、
    請求項1ないし3のいずれか1項に記載のリソース管理システム。
  5. コンピュータが、複数のタイプのそれぞれのジョブ用の最初および最後の期限を当該タイプ用の分類コードに関連付けて臨界時間テーブルに保持するステップと、
    前記複数のタイプのそれぞれのジョブ用の最悪実行時間(WCET:Worst Case Execution Time)を当該タイプ用の分類コードに関連付けてWCETテーブルに保持するステップと、
    ユーザからのジョブを前記複数のタイプのいずれか1つに分類するステップと、
    前記ジョブを前記タイプ用の分類コードに関連付けるステップと、
    前記臨界時間テーブルおよび前記WCETテーブルに基づいて、前記分類されたジョブ用の最初および最後の期限ならびにWCETを決定するステップと、
    前記決定した最初および最後の期限ならびに前記決定したWCETに従って、前記分類したジョブ用のスケジュールを生成するステップと、
    前記複数のタイプのそれぞれについてジョブの数を監視するステップと、
    ジョブの数がその移動平均から正の方向に外れているタイプを前記複数のタイプから抽出するステップと、
    前記ユーザからのジョブが前記抽出されたタイプに分類されている場合、当該ジョブを前記スケジュールにおいて優先的にスケジュールするステップと、を含む、
    クラウドコンピューティング用のリソース管理方法。
  6. 前記複数のタイプのそれぞれのジョブ用の属性を当該タイプ用の分類コードに関連付けて分類テーブルに保持するステップと、
    前記ユーザからの前記ジョブを、前記分類テーブルにおける属性が前記ジョブ用の属性と同様である分類コードに関連付けるステップと、を含む、
    請求項5に記載のソース管理方法。
  7. 前記ユーザからのジョブが前記抽出されたタイプに分類されている場合、前記コンピュータが、当該ジョブ用の前記決定された最初および最後の期限を短くするステップを含む、
    請求項5または6に記載のリソース管理方法。
  8. 前記コンピュータが、前記複数のタイプのそれぞれのジョブについて実行時間を監視するステップと、
    実行時間が1つでも当該タイプのWCETを超えた場合、前記WCETテーブルにおいて当該タイプ用のWCETを更新するステップと、を含む、
    請求項5ないし7のいずれか1項に記載のリソース管理方法。
  9. 複数のタイプのそれぞれのジョブ用の最初および最後の期限を当該タイプ用の分類コードに関連付けて臨界時間テーブルに保持する処理と、
    前記複数のタイプのそれぞれのジョブ用の最悪実行時間(WCET:Worst Case Execution Time)を当該タイプ用の分類コードに関連付けてWCETテーブル内に保持する処理と、
    ユーザからのジョブを前記複数のタイプのいずれか1つに分類する処理と、
    前記ジョブを前記タイプ用の分類コードに関連付ける処理と、
    前記臨界時間テーブルおよび前記WCETテーブルに基づいて、前記分類されたジョブ用の最初および最後の期限ならびにWCETを決定する処理と、
    前記決定した最初および最後の期限ならびに前記決定したWCETに従って、前記分類ジョブ用のスケジュールを生成する処理と、
    前記複数のタイプのそれぞれについてジョブの数を監視する処理と、
    ジョブの数がその移動平均から正の方向に外れているタイプを前記複数のタイプから抽出する処理と、
    前記ユーザからのジョブが前記抽出されたタイプに分類されている場合、当該ジョブを前記スケジュールにおいて優先的にスケジュールする処理と、をコンピュータに実行させる、
    プログラム。
  10. 前記複数のタイプのそれぞれのジョブ用の属性を当該タイプ用の分類コードと関連付けて分類テーブルに保持する処理と、
    前記ユーザからの前記ジョブを、前記分類テーブルにおける属性が前記ジョブ用の属性と同様である分類コードに関連付ける処理と、を前記コンピュータに実行させる、
    請求項9に記載のプログラム。
  11. 前記ユーザからのジョブが前記抽出されたタイプに分類されている場合、当該ジョブ用の前記決定された最初および最後の期限を短くする処理を、前記コンピュータに実行させる、
    請求項9または10に記載のプログラム。
  12. 前記複数のタイプのそれぞれのジョブについて実行時間を監視する処理と、
    実行時間が1つでも当該タイプのWCETを超えた場合、前記WCETテーブルにおいて当該タイプ用のWCETを更新する処理と、を前記コンピュータに実行させる、
    請求項9ないし11のいずれか1項に記載のプログラム。
JP2015524961A 2012-11-16 2012-11-16 リソース管理システム、リソース管理方法、およびプログラム Active JP5987987B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/007383 WO2014076741A1 (en) 2012-11-16 2012-11-16 Resource management system, resource management method and program

Publications (2)

Publication Number Publication Date
JP2016501392A JP2016501392A (ja) 2016-01-18
JP5987987B2 true JP5987987B2 (ja) 2016-09-07

Family

ID=50730691

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015524961A Active JP5987987B2 (ja) 2012-11-16 2012-11-16 リソース管理システム、リソース管理方法、およびプログラム

Country Status (4)

Country Link
US (1) US20150295854A1 (ja)
JP (1) JP5987987B2 (ja)
CN (1) CN104781788A (ja)
WO (1) WO2014076741A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10339934B2 (en) 2016-06-27 2019-07-02 Google Llc Asynchronous processing of user requests
US10579407B2 (en) * 2016-10-28 2020-03-03 ShieldX Networks, Inc. Systems and methods for deploying microservices in a networked microservices system
US10871988B1 (en) * 2016-12-07 2020-12-22 Jpmorgan Chase Bank, N.A. Methods for feedback-based optimal workload scheduling and devices thereof
CN109150593B (zh) * 2018-08-01 2021-11-26 郑州云海信息技术有限公司 云数据系统中资源的管理方法和装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2823520B2 (ja) * 1993-12-17 1998-11-11 テキサス インスツルメンツ インコーポレイテツド リアルタイムアプリケーションタスクスケジューリング及び処理システム
JP3922070B2 (ja) * 2002-03-29 2007-05-30 株式会社デンソー 分散制御方法及び装置
US7788667B2 (en) * 2005-04-22 2010-08-31 Gm Global Technology Operations, Inc. Extensible scheduling of tasks in time-triggered distributed embedded systems
US8286183B2 (en) * 2005-10-22 2012-10-09 Cisco Technology, Inc. Techniques for task management using presence
JP4815195B2 (ja) * 2005-11-16 2011-11-16 みずほ情報総研株式会社 ジョブ実行管理方法、ジョブ実行管理システム及びジョブ実行管理プログラム
US20080282246A1 (en) * 2007-05-07 2008-11-13 Danny Dolev Compiler aided ticket scheduling of tasks in a computing system
US8413161B2 (en) * 2009-09-29 2013-04-02 International Business Machines Corporation Work queue selection on a local processor within a multiple processor architecture
US20120016721A1 (en) * 2010-07-15 2012-01-19 Joseph Weinman Price and Utility Optimization for Cloud Computing Resources

Also Published As

Publication number Publication date
US20150295854A1 (en) 2015-10-15
CN104781788A (zh) 2015-07-15
JP2016501392A (ja) 2016-01-18
WO2014076741A1 (en) 2014-05-22

Similar Documents

Publication Publication Date Title
EP3401787B1 (en) Analyzing resource utilization of a cloud computing resource in a cloud computing environment
US8424007B1 (en) Prioritizing tasks from virtual machines
KR102427067B1 (ko) 이종 스레드 스케줄링
Tiwari et al. Classification framework of MapReduce scheduling algorithms
US8838801B2 (en) Cloud optimization using workload analysis
US9329901B2 (en) Resource health based scheduling of workload tasks
JP5946068B2 (ja) 演算コア上で複数の演算処理単位が稼働可能なコンピュータ・システムにおける応答性能を評価する計算方法、計算装置、コンピュータ・システムおよびプログラム
US8752059B2 (en) Computer data processing capacity planning using dependency relationships from a configuration management database
WO2021159638A1 (zh) 集群队列资源的调度方法、装置、设备及存储介质
US20150051942A1 (en) Smart cloud workload balancer
US8818989B2 (en) Memory usage query governor
US20120047509A1 (en) Systems and Methods for Improving Performance of Computer Systems
TW201820165A (zh) 用於雲端巨量資料運算架構之伺服器及其雲端運算資源最佳化方法
US11151505B1 (en) Automatic analysis of organization process/operations data
US11789782B2 (en) Techniques for modifying cluster computing environments
US8539495B2 (en) Recording medium storing therein a dynamic job scheduling program, job scheduling apparatus, and job scheduling method
JP5987987B2 (ja) リソース管理システム、リソース管理方法、およびプログラム
US11797187B2 (en) Optimized I/O performance regulation for non-volatile storage
Mendoza et al. Interference-aware scheduling for inference serving
Yang et al. Performance-aware speculative resource oversubscription for large-scale clusters
US8407709B2 (en) Method and apparatus for batch scheduling, and computer product
US20230106369A1 (en) Dynamic policy adjustment based on resource consumption
GB2527081A (en) Asynchronous resource usage collection and control of fenced user code
US20170235608A1 (en) Automatic response to inefficient jobs in data processing clusters
Thiyyakat et al. Niyama: Node scheduling for cloud workloads with resource isolation

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160620

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: 20160712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160725

R150 Certificate of patent or registration of utility model

Ref document number: 5987987

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150