JP5520369B2 - コンピュータ・システム、方法及びプログラム - Google Patents

コンピュータ・システム、方法及びプログラム Download PDF

Info

Publication number
JP5520369B2
JP5520369B2 JP2012514749A JP2012514749A JP5520369B2 JP 5520369 B2 JP5520369 B2 JP 5520369B2 JP 2012514749 A JP2012514749 A JP 2012514749A JP 2012514749 A JP2012514749 A JP 2012514749A JP 5520369 B2 JP5520369 B2 JP 5520369B2
Authority
JP
Japan
Prior art keywords
task
resource
phase
resource allocation
stream format
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
JP2012514749A
Other languages
English (en)
Other versions
JPWO2011142227A1 (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2012514749A priority Critical patent/JP5520369B2/ja
Publication of JPWO2011142227A1 publication Critical patent/JPWO2011142227A1/ja
Application granted granted Critical
Publication of JP5520369B2 publication Critical patent/JP5520369B2/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、コンピュータ・システムにおいて、ネットワーク・トラフィックなどの状態に応じて、動的にリソース(資源とも称する)割当てを行うための技術に関し、より詳細には、リソース割当ての構成を切り替える技術に関する。
従来より、稼動するアプリケーション・プログラムの稼動状況や、ネットワーク・トラフィックの状態などに応じて、コンピュータの処理を最適化するために、リソースの割当てを動的に変更することが行われている。このために、以下のような技術が提案されている。
特開2005−174201号公報及び特開2007−48315号公報は、サーバ、ネットワーク、ストレージを含むリソース表と、これらのリソース上で稼動するアプリケーションの構成要素を示すアプリケーション表と、リソースのアプリケーションへの割り当て表とを保持し、これらの構成情報から性能情報の測定項目を生成する性能測定項目テンプレート、この性能情報の測定項目を性能測定エンジンによって測定する性能測定エンジン、前記構成情報からリソースの割り当て変更に用いるリソース割り当て変更ルールを生成する手段、および前記生成したリソース割り当て変更ルールと構成情報に従って、リソースの割り当て変更を行うことを開示する。リソース割り当て変更ルールは、測定した性能指標に対する閾値を含む。
特開2008−191737号公報は、サーバの性能や回線品質に左右されることなく、且つ新たにスペースを確保することなくシステムを安定的に動作させることができるアプリケーション実行システムを提供するために、クライアント端末と、アプリケーション実行装置とを第1のネットワークに接続すると共に、アプリケーション実行装置と、代理サーバとが第2のネットワークに接続されるアプリケーション実行システムにおいて、アプリケーション実行装置は、アプリケーションを実行する実行部と、実行部とは独立して動作し、実行部の状態に応じて、受信した実行要求を実行部または代理サーバに転送する切替部とを備えることを開示する。このとき、代理サーバは、実行要求に基づいて、代理アプリケーションを実行する。
これらの従来技術は、サーバ上で性能を測定し、その結果に応じて、処理能力を向上させるようにシステム構成を変更する技術については開示するが、従来技術においては、システム構成を変更する際に、一旦システムが停止するという問題があった。
昨今、多くの企業が導入しているクラウド・コンピューティングに基づくサービスにおいては、SLA(サービス品質保証契約)という概念が採用されており、システムが停止する時間が長いと、サービス・プロバイダは損害を被る。
しかし、上記従来技術は、システム構成の切り替えの際にシステム停止時間を短縮することについては、特に解決策を示唆するものではない。
特開2005−174201号公報 特開2007−48315号公報 特開2008−191737号公報
従って、この発明の目的は、コンピュータによる動的リソース割当てシステムにおいて、状況に従ってシステム構成を変更する際の、構成変更に伴うシステム停止時間を低減することにある。
この発明のシステムは先ず、事前処理として、システムが稼動している間のトラヒックデータをある時間に亘って収集する。 そして、収集したトラヒックデータから、典型的ないくつかのパターンを抽出する。
この発明のシステムは次に、それらの典型的なパターン毎に、これには限定されないが、例えば、本出願人に係る特願2009−271308号明細書に記載された技術を用いて、個々にストリーム・プログラムを作成して、後で参照可能に、保存しておく。
この発明のシステムは次に、異なるストリーム・プログラム間で遷移するための代行タスクのIDを保持する。
こうしておいて、実際のシステムの稼動では、この発明のシステムは、トラヒックデータを定期的に、あるいは任意の時点で測定し、その結果として得られたパターンを、上記の典型的なパターンと比較し、一番近い典型的なパターンに対応するストリーム・プログラムを、次のフェーズとして選ぶ。
その際、今のフェーズのストリーム・プログラムから、次のフェーズに移行する際に、この発明によれば、コンピュータの処理により、タスクの切り替えコスト、リソース間のデータ転送コストなどを考慮して、今のフェーズの空きタスクを代理タスクとして次第にフェーズのストリーム・プログラムに移行することにより、プログラムの停止時間が抑制される。
このとき、代理タスクの選択は、関連するタスクのパイプライン・ピッチ、関連するタスク間の切り替えコスト、及び関連するフェーズ間でリソース間のデータ送受信の時間を含むコストを予め測定して保存しておき、現在のフェーズと次のフェース、使用資源の移行、実行タスクの移行を考慮して、コストが小さくなるように行われる。
この発明によれば、コンピュータによる動的リソース割当てシステムにおいて、状況に従って、元の構成から次の構成に移行する際に、元の構成から代行タスクを選択して途中の処理をさせることにより、処理の空き時間を減らして、プログラムの停止時間を低減させるという効果が得られる。
本発明を実施するためのハードウェア構成の概要を示す図である。 本発明を実施するための機能ブロック図である。 構成テーブルの例を示す図である。 ストリーム・プログラムの例を示す図である。 事前処理のフローチャートである。 トラヒック情報の時間推移を示す図である。 抽出されたフェーズの例を示す図である。 ストリーム・プログラムの例を示す図である。 ストリーム・プログラムの例を示す図である。 ストリーム・プログラムの例を示す図である。 UDOPに計算リソースを割り当てる処理のフローチャートを示す図である。 ストリームグラフと、利用可能なリソースの例を示す図である。 UDOPに計算リソースを割り当てた後の要求されたリソースの例を示す図である。 割当て変更処理の例を示す図である。 タスクの代行資源を決定するための処理のフローチャートを示す図である。 資源毎の本タスクと、代行タスクのテーブルを示す図である。 フェーズ切り替え判定のための処理のフローチャートを示す図である。 代行タスクによる実行処理のフローチャートを示す図である。 計算資源のトポロジの例を示す図である。 フェーズの切り替えと、代行タスクによる実行の例を示す図である。 代行手法の実行タスクの遷移サイクルの例を示す図である。
以下、図面に基づき、この発明の実施例を説明する。特に断わらない限り、同一の参照番号は、図面を通して、同一の対象を指すものとする。尚、以下で説明するのは、本発明の一実施形態であり、この発明を、この実施例で説明する内容に限定する意図はないことを理解されたい。
図1は、本発明を実施するためのハードウェア構成を示すブロック図である。本発明は、これには限定されるものではないが、特にこの例は、PRISMなどのマルチコア・マルチプロセッサ・ルータ・アプライアンス100を使用する。
図1において、バス102には、マルチコア・プロセッサ104、マルチコア・プロセッサ106、RAM108、イーサネット・スタック&イーサネット・ポート110、及びフラッシュROM112が接続されている。
マルチコア・プロセッサ104及び106としては、これには限定されないが、ネットワーク・プロセッサ、例えば、Intel(R) IXP 425 Network Processorを使用することができる。ネットワーク・プロセッサは、イーサネット(R)MACや、暗号処理などの機能を内蔵するものである。
マルチコア・プロセッサ104とマルチコア・プロセッサ106は、実質的に同一の構成なので、代表的にマルチコア・プロセッサ104を説明すると、マルチコア・プロセッサ104は、複数のコア104a、104b、104c及び104dを有し、コア104a、104b、104c及び104dは、L2キャッシュ104eを介して、バス102に結合されている。
コア104a、104b、104c及び104dの各々は、複数のスレッドを走らせることができる。例えば、コア104a中に、ボックスS1及びS2が示されているが、これらがそれぞれ、個別のスレッドS1及びS2である。コア104b、104c及び104dにおいても同様であるので、個別の説明は省略する。
この実施例では、図示するように、マルチコア・プロセッサ106のコア106d上で、本発明に係る主要な機能を実行する管理スレッドSnが走っているものとする。
RAM108は、マルチコア・プロセッサ104及びマルチコア・プロセッサ106が、処理結果の値を一時保持したり、読み出したりするために使用される。
イーサネット・スタック&イーサネット・ポート110には、図示しないが、他のコンピュータ・システム、ネットワーク接続ストレージ(NAS)、ストレージ・エリア・ネットワーク(SAN)、及び別のルータなどが接続される。マルチコア・マルチプロセッサ・ルータ・アプライアンス100は、それらの機器との間で、データを通信する役割を担う。
フラッシュROM112には、マルチコア・プロセッサ104及びマルチコア・プロセッサ106をルータとして動作させるためのJuniper NetworksのJunos(R)またはCisco Systsms IncのIOSなどのネットワークOS 、及び後述する本発明に係る処理モジュールが含まれる。
次に、図2の機能ブロック図を参照して、フラッシュROM112、RAM108などに含まれる、本発明に係る処理モジュールを説明する。
図2において、統計情報収集モジュール202は、イーサネット・スタック&イーサネット・ポート110に到来するトラヒックを時間毎に収集する機能をもつ。トラヒックを収集するための従来の典型的な方法として、SNMPプロトコルによる方法がある。あるいは、tcpdumpというパケット解析コマンドを使用することもできる。さらには、フルーク・ネットワークス社から入手可能な、"NetFlow Tracker"などの商用ツールを使用してもよい。ここで収集される情報とは、メール、FTP、動画、ウェブなどのトラヒックの割合である。
統計情報収集モジュール202は、典型的には、少なくとも平日丸一日分、休日丸一日分のトラヒック情報を収集して、図示しないコンピュータ・システムのハードディスク・ドライブなどに保存する。
様相パターン抽出モジュール204は、ハードディスク・ドライブなどに保存されたトラヒック情報を解析して、典型的な複数のパターンを抽出し、様相パターン群206として、典型的には、RAM108に保存する。様相パターン群206は、一定時間毎のトラヒック・パターンの収集、または、K平均法などを用いたクラスタリングによって決定することができる。
構成テーブル208は、様相パターン群206の各トラヒック・パターン毎に対応するエントリを有するものであり、例えば、本出願人に係る特願2009−271308号明細書に記述された図6に示す表と等価なものであるので、それを図3として、再掲する。
図3において、UDOPは、ストリーム・プログラミングにおけるユーザ定義オペレータであり、この実施例では例えば、これには限定されないが、イーサネット(商標)・プロトコル・スタック、IPプロトコル・スタック、TCPプロトコル・スタック、UDPプロトコル・スタック、SSLプロトコル・スタック、ウイルス・スキャン、XMLアクセラレータなどである。
図3においてカーネルとは、個々のUDOPに対して用意された、1つまたは複数のモジュールであって、複数ある場合は、パケットの一次元配列のサイズがそれぞれ異っている。
実行パターンとは、例えば、下記の規則に従って表記されたものである。
ループにする(Rolling loop): A+A+A....A => loop(n, A)
ここで、A+A+A....Aは、Aの直列処理であり、loop(n, A)は、Aをn回まわすループのことをあらわす。
ループを解く(Unrolling loop): loop(n, A) => A+A+A....A
ループの直列(Series Rolling): split_join( A, A... A ) => loop(n, A)
これは、並列に走るA, A... Aを、loop(n, A)にすることである。
ループの並列(Pararell unrolling loop): loop(n, A) => split_joing( A, A, A ........A )
これは、loop(n, A)を、並列に走るA, A... Aにすることである。
ループの分割(Loop splitting): loop(n, A) => loop(x, A) + loop(n-x, A)
並列ループ分割(Pararell Loop splitting): loop(n, A) => split_join( loop(x, A), loop(n-x, A) )
ループ融合(Loop fusion): loop(n, A) + loop(n, B) => loop(n, A+B)
ループ融合の直列(Series Loop fusion): split_join( loop(n, A), loop(n, B) ) => loop(n, A+B)
ループ分配(Loop distribution): loop(n, A+B) => loop(n, A) + loop(n, B)
並列ループ分配(Pararell Loop distribution): loop(n, A+B) => split_join( loop(n, A), loop(n, B) )
ノード結合(Node merging): A+B => {A,B}
ノード分割(Node splitting): {A,B} => A+B
ループ置換(Loop replacement): loop(n,A) => X /* X is lower cost */
ノード置換(Node replacement): A => X /* X is lower cost */
図3でピッチとあるのは、パイプライン・ピッチ、すなわち、パイプライン処理の1ステージの処理時間のことである。また、リソースとは、使用するCPUの数である。図3のリソース欄には、この実施例の場合、図1のシステムにおけるスレッドの数が記載される。
構成テーブル208のエントリは、イーサネット・スタック&イーサネット・ポート110に接続された、ハードウェア及びソフトウェアを含むシステム環境209に基づき、図示しない所定の処理モジュールによって作成される。このことは、UDOP毎に、UDOPを実現するカーネル定義を取得し、実行対象のハードウェア・コンフィギュレーションを取得し、使用アーキテクチャを組み合わせて使用リソースの組を用意し、これらについて、実行可能なカーネルを選択し、実行パターンを生成し、パイプライン・ピッチを測定するという処理を、使用リソースの組全てについて実行することによって達成される。このより詳しい処理は、本出願人に係る特願2009−271308号明細書の図3と対応する明細書の記述を参照されたい。
コンパイラ210は、様相パターン群206の各様相パターン毎に、構成テーブル208のエントリを参照して、各様相パターン毎に、ストリーム形式コードを作成する。
なお、ストリーム形式コードを記述するためのストリーム・プログラミング言語として、インターナショナル・ビジネス・マシーンズ・コーポレーションのSPADE、マサチューセッツ工科大学ののStreamltがなどが知られている。Streamltによれば、図4に示すストリーム・グラフは、次のようなコードで記述される。
add splitjoin {
split roundrobin();
add pipeline {
add A();
add B();
add C();
add D();
}
add pipeline {
add E();
add F();
}
join roundrobin();
}
Streamltのより詳細な説明については、
http://groups.csail.mit.edu/cag/streamit/
あるいは、http://groups.csail.mit.edu/cag/streamit/papers/streamit-cookbook.pdfを参照されたい。
また、SPADEについては、
http://domino.research.ibm.com/comm/research_projects.nsf/pages/esps.spade.html
を参照されたい。
コンパイラ210が、各様相パターンに基づきストリーム形式コードを作成する。より詳しい処理については、後でより詳しく説明する。ストリーム形式コードは、処理を実行するタスクと、そのタスクを実行するハードウェア資源を、グラフ形式で記述する。
こうして、ストリーム形式コードが、各様相パターン毎に生成されると、図示しない特定の処理プログラムが、各様相パターンに対応するストリーム形式コードの間の遷移テーブル214を生成する。なお、遷移テーブル214の生成は、コンパイラ210によって行うようにしてもよい。尚、以下では、ストリーム形式コードの集まりを、ストリーム形式コード群212と呼ぶ。
以上述べたのは、事前に様相パターン群206、ストリーム形式コード群212、遷移テーブル214を用意するためのモジュールであったが、次に、実際のルータ・アプライアンス100の動作の間に動作するモジュール群を説明する。
様相パターン計測モジュール216は、ルータ・アプライアンス100の動作の間に、好適には、統計情報収集モジュール202よりも軽量な、ストリーム形式コードの先頭のタスクが処理するデータを種類ごとに数え上げるという処理を用いて、様相パターンを計測する。計測は例えば、ルータ・アプライアンス100が扱うトラヒックの性質に適切な周期で行われる。
様相パターン比較モジュール218は、様相パターン計測モジュール216が計測した様相パターンと、様相パターン群206の各様相パターンとを比較する機能をもつ。その比較の結果、一番近い様相パターンに対応するストリーム形式コードが、ストリーム形式コード選択モジュール220によって、ストリーム形式コード群212から選ばれる。
切換モジュール222は、今まで実行環境224で実行されていたストリーム形式コードから、様相パターン比較モジュール218の比較結果に基づき選ばれたストリーム形式コードに切り替えて、実行環境224で実行させる機能をもつ。
その際、本発明の特徴によれば、切換モジュール222は、現在のストリーム形式コードから、次のストリーム形式コードに切り替える際に、適切な代行タスクを立てることで、プログラム停止時間を減少させる。この処理の詳細は、後でフローチャートなどを使用して説明する。
次に、図5のフローチャートを参照して、統計情報の収集及び事前処理の流れについて説明する。この処理は、例えば、ルータ・アプライアンス100を本発明の機能に従って動作させる前に、ユーザーの操作により開始される。
ステップ502では、統計情報収集モジュール202が、イーサネット・スタック&イーサネット・ポート110に到来するトラヒックを時間毎に収集する。統計情報収集モジュール202は、SNMPプロトコル、tcpdumpというパケット解析コマンドまたは、ルーク・ネットワークス社から入手可能な、"NetFlow Tracker"という商用ツール、などを使用する。ここで収集される情報とは、メール、FTP、動画、ウェブなどのトラヒックの割合である。統計情報収集モジュール202は、典型的には、少なくとも平日丸一日分、休日丸一日分のトラヒック情報を収集して、図示しないコンピュータ・システムのハードディスク・ドライブなどに保存する。図6に、トラヒック情報が時間とともに変化する様子が模式的に示されている。ここでは、メール、FTP、動画及びウェブが例示的に示されているが、これは一例であって、実際はより多様な種類の内容のトラフィックがありえることを理解されたい。
ステップ504では、様相パターン抽出モジュール204が、統計情報収集モジュール202が収集したトラヒック情報から、図7に示すような複数の典型的な様相パターン702、704・・・706を抽出する。
様相パターン702、704・・・706は、一定時間毎に抽出したトラヒック情報のバターンであってもよいし、あるいは、一定時間毎に抽出したトラヒック情報のバターンを複数集めて、例えばK平均法によってクラスタリングして得られたクラスタから、代表的なものを取り出してもよい。様相パターン(フェーズ)702、704・・・706は、様相パターン群206として、好適にはRAM108に保存される。このようにして生成された様相パターン702、704・・・706にはそれぞれ、固有のフェーズIDが付与される。
ステップ506では、コンパイラ210が、構成テーブル208の項目を参照して、様相パターン群206の各様相パターン(フェーズ)毎に、ストリーム形式コードを生成する。言い換えると、フェーズ毎に、ストリーム・プロセッシングに基づいたリソース・マッピングを導出する。
図8は、ベースとなるストリーム・プログラムの例であり、図示されているように、イーサネット・プロトコル・スタックに、IPプロトコル・スタックが接続され、そこから、TCPプロトコル・スタックと、UDPプロトコル・スタックに分岐し、TCPプロトコル・スタックと、UDPプロトコル・スタックは、ウイルス・スキャンに接続されるとともに、SSLプロトコル・スタックにも接続され、SSLプロトコル・スタックはウイルス・スキャンに接続され、ウイルス・スキャンは、XMLアクラセレータに接続される。
図8では、ストリーム・プログラムの各処理要素の負荷は考慮されていないが、図9の様相902のように、特定のトラヒック情報の様相に対応して、ストリーム・プログラムの各処理要素にかかる負荷が変化する。すなわち、図9において、各処理要素を囲むボックスの大きさが、負荷をあらわしているものとする。
図10は、さらに別のトラヒック情報の様相1002に対して、各処理要素にかかる負荷分散が異なる様子を示す。すなわち、トラヒック情報の様相が変化したとき、ストリーム・プログラムの特定の各処理要素に負荷がかかりすぎて、そこがボトルネックになり、全体の処理速度が低下してしまう。
そこで、ストリーム・プログラムにおいては、リソースマッピングにより、処理の最適化が図られる。そのための方法として、次のようなものがある。
− データ並列化、パイプラインの決定
このとき、タスク並列も利用することで、メモリアクセスのローカリティの向上、通信競合の抑制、通信遅延の隠蔽などの効果が得られる。
− 処理が重いプロトコル・スタックを複数ステージに切り分けたり、軽いプロトコル・スタックを1つのステージに統合したりすることで、資源あたりの負荷とパイプラインピッチのバランスを取る。
このための詳細な処理は、やや複雑なので、後で別途説明する。生成されたストリーム形式コード群212は、好適にはRAM108に保存される。
ステップ508では、このようにして作成されたストリーム形式コード群212のストリーム形式コード間の遷移テーブル214が作成される。遷移テーブル214は、プロファイルのフェーズ毎に、プロセッサ毎のストリーム形式コードにおける本タスク、及び1つのストリーム形式コードから別のストリーム形式コードに切り替える際の代行タスクを含む。遷移テーブル214の内容についても、後で詳細に説明する。
次に、図11以下を参照して、ストリーム形式コードを生成する処理について説明する。
図11において、システム環境209、すなわちリソース制約(ハードウェア・コンフィギュレーション)、及び構成テーブル208が事前に用意されるものとする。機能ブロックA,B,C.Dからなるストリーム・グラフとリソース制約の例を、図12に示す。ここでいうシステム環境209とは、図1のイーサネット・スタック&イーサネット・ポート110に接続されているシステム構成のことである。
コンパイラ210は、ステップ1102で、フィルタリングを行う。すなわち、与えられたハードウェア・コンフィギュレーションと構成テーブル208から実行可能なパターンのみ抽出し、最適化表(A)を作成する。
コンパイラ210は、ステップ1104で、最適化表(A)を参照して、ストリームグラフ中の各UDOPに もっともパイプラインピッチの短い実行パターンを割り当てた実行パターン群(B)を作成する。それを、ストリームグラフの各ブロックに割り当てた様子を示す例を、図13に示す。
次にステップ1106では、コンパイラ210は、実行パターン群(B)は与えられたリソース制約を満たしているかどうかを判断する。
ステップ1106で、コンパイラ210が、実行パターン群(B)が与えられたリソース制約を満たしていると判断すると、この処理は完了する。
ステップ1106で、コンパイラ210が、実行パターン群(B)が与えられたリソース制約を満たしてないと判断すると、ステップ1108に進み、実行パターン群(B)中の実行パターン群をパイプラインピッチ順にソートしたリスト(C)を作成する。
次に、ステップ1110に進み、コンパイラ210は、リスト(C)から一番パイプラインピッチが短い実行パターンを持つUDOP (D)を選択する。
次に、ステップ1112に進み、コンパイラ210は、UDOP(D)について、消費リソースのより少ない実行パターン(次候補)(E)が最適化表(A)に存在するかを判断する。
もしそうなら、ステップ1114に進み、コンパイラ210は、UDOP(D)について、実行パターン(次候補)(E)のパイプラインピッチはリスト(C)内の最長値より小さいかどうかを判断する。
もしそうなら、ステップ1116に進み、コンパイラ210は、実行パターン(次候補)(E)をUDOP(D)の新しい実行パターンとして割り当て、実行パターン群(B)を更新する。
ステップ1116からは、ステップ1106の判断に戻る。
ステップ1112での判断が否定的なら、ステップ1118に進み、そこで、コンパイラ210は、当該UDOPを(C)から外す。
次に、ステップ1120に進み、そこでコンパイラ210は、リスト(C)に要素が存在するかどうかを判断する。もしそうなら、ステップ1108に戻る。
ステップ1120で、リスト(C)に要素が存在しないと判断されたなら、ステップ1122に進み、そこでコンパイラ210は、実行パターン群(B)中の実行パターン群を、実行パターン群(B)の最長パイプラインピッチと次候補のパイプラインピッチの差の順にソートしたリスト(F)を作成する。
次に、ステップ1124で、コンパイラ210は、リスト(F)のうちパイプラインピッチの差が一番短い実行パターン(G)について、それが要求するリソースが、現在注目しているリソースより少ないかどうかを判断する。
もしそうなら、ステップ1126に進み、そこでコンパイラ210は、実行パターン(G)を新しい実行パターンとして割り当て、実行パターン群(B)を更新し、ステップ806に進む。そうでなければ、ステップ1128で当該UDOPを(F)から外して、ステップ1122に戻る。
図14は、このような実行パターン群の置き換えによる最適化の例を示す図である。図14では、リソース制約を解くために、D4がD5に置き換えられている。
こうして、リソースの割当てが行われると、その各々のストリーム形式コードは、ストリーム形式コード群212として、好適にはRAM108にストアされる。なお、各々のストリーム形式コードの各タスクには、固有のタスクIDが付与される。
次に、図15のフローチャートを参照して、フェーズ切り替え時の代行タスクを選択する処理を説明する。この処理は、プロセッサ104またはプロセッサ106で走る所定のスレッドによって実行される。
図15のフローチャートの説明を行う前に、以下で使用する記号または数式の定義を説明しておく。
定義
task(b,r):資源rのフェーズbでのタスク
Pre(t):タスクtの先行タスクの集合
Post(t):タスクtの後続タスクの集合
※1:フェーズbでのタスクtの開始時間
start(b,t) = max{start(b,p):p∈Pre(t)} + pitch
pitch:パイプラインピッチ(各タスクの実行時間)
※2:cost(t,r) = D + C + T
D = max{0,start(a,task(a,r)) - start(b,task(t)}
Dは、代理タスク実行開始までの空き時間を含むコストである。
C = max{delay(i,r),delay(r,j):i∈Deputize(a,b,s),s∈Pre(t),j∈Resource(b,u),u∈Post(t)}
Resource(b,t):フェーズbでタスクtを担当する資源の集合
Deputize(a,b,t):フェーズaからフェーズbへの切り替え時にタスクtを代行する資源の集合
delay(a,b):資源aがデータの送信を開始してから、資源bがデータの受信を完了するまでの時間
T = change(task(a,r),t) + change(t,task(b,r))
change(t1,t2):もしタスクt1がt2と同じなら0、そうでなければTC(タスク切り替え1回あたりのコスト、任意の定数)
図15のフローチャートに戻って、ステップ1502では、資源の集合Rと、フェーズa,bが入力される。このとき、資源の集合Rには資源IDと各資源間の通信遅延が含まれる。また、フェーズa,bにはタスクID、各タスクを担当する資源ID、各タスクの先行&後続タスクの集合、各タスクの実行時間が含まれる。これは、図5のステップ508に対応する。
ステップ1504では、フェーズbのタスク(より厳密に言うと、フェーズbに対応するストリーム・グラフにおけるタスク)を、タスク開始時間の昇順にソートしたリストTbが作成される。ここで、タスク開始時間とは、上記※1で定義されるものである。
ステップ1506では、tにTbの先頭のタスクが置かれる。
次に、ステップ1508から、ステップ1510、ステップ1512、ステップ1514、ステップ1516までは、フェーズbでtを担当する各資源rbについての処理である。
ステップ1510では、Rに含まれ、且つrbと同じ種類である資源rの中で、cost(t,r)が最も小さいrをrb'とする。ここで、資源の種類とは、汎用プロセッサ、グラフィック・プロセッシング・ユニットであるアクセラレータなどのことである。また、cost(t,r)とは上記※2で定義されるものである。
ステップ1512では、rb'の代行タスクがtとされる。次にステップ1514では、Rからrb'が削除される。
こうして、ステップ1508に戻り、フェーズbでtを担当する資源rbがある限り、ステップ1510、ステップ1512、ステップ1514、ステップ1516までが繰り返される。
ステップ1518では、Tbから先頭の要素tが削除されて、ステップ2320で、Tbが空かどうかが判断される。そうでなければ、処理は、ステップ1506に戻る。ステップ1506での先頭というのは、ステップ1518でTbから先頭の要素tが削除された後の次の要素のことである。
ステップ2320で、Tbが空であると判断されると、各タスクの代行資源の集合が得られる。すなわち、ステップ1512で、資源rb'の代行タスクtが決定されるので、そのような(rb',t)の集合ということである。
図15のフローチャートの処理は、互いに異なるフェーズa,bのあらゆる組み合わせについて行われる。その結果、図16に示すように、ルータ・アプライアンス100に接続されて、利用可能なすべての資源の各々について、フェーズIDと本タスクのIDの対応テーブルと、フェーズIDと代行タスクのIDの対応テーブルが作成される。フェーズIDと代行タスクのIDの対応テーブルは、双方向の移行をあらわすために、2次元テーブルとして表される。これらの対応テーブルは、図2で遷移テーブル214として示すものである。
すなわち、フェーズIDと本タスクのIDの対応テーブルは、図5のステップ506で作成され、フェーズIDと代行タスクのIDの対応テーブルは、図5のステップ508で作成される。
各資源上で実行するプログラムは、タスクIDを基にコールする関数をスイッチするようなラッパーを用意し切り替えることができる。
上記は、通常タスク用のテーブルであるが、さらに、監視タスク用のテーブルを用意してもよい。これは、フェーズ切り替え時の判定に用いる閾値を保持するものであって、時間帯毎での切り替えの場合は、時間とフェーズIDの組からなり、K平均法の場合は、重心とフェーズIDの組からなる。
図17は、ストリーム形式コード群212と、遷移テーブルが用意された後の、様相パターン計測モジュール216と、様相パターン比較モジュール218の動作を示すフローチャートである。
図17において、ステップ1702では、様相パターン計測モジュール216が、負荷測定、すなわち、イーサネット・スタック&イーサネット・ポート110に到来するトラヒックを収集する。様相パターン比較モジュール218は、その計測されたトラヒックの様相(フェーズ)と、現在選ばれているフェーズの距離を計算してステップ1702で、フェーズ切り替え判定を行う。すなわち、その距離が、所定の閾値以内であるなら、切り替えないという判定を行って、ステップ1702に戻る。また、その距離が、所定の閾値以上であるなら、切り替えるという判定を行って、ステップ1706に進む。
尚、図7に示すように、フェーズは、メール、FTP、動画、ウェブなどのトラヒックの割合を成分とする特徴ベクトルと考えることができ、すると、その特徴ベクトル同士の間に、ユークリッド距離、マンハッタン距離、内積などの値を定義することができる。そして、このような内積や距離が閾値内にあるかどうかを調べればよい。
ステップ1706では、様相パターン比較モジュール218が、ストリーム形式コード選択モジュール220に対して、グラフ先頭の資源フェーズ切替指示を送信する。そうして処理は、ステップ1702に戻る。
図18は、ストリーム形式コード選択モジュール220、切換モジュール222及び実行環境224の動作のフローチャートを示す図である。
ステップ1802では、実行環境224が、現在選ばれているストリーム形式コードにおいて、本タスクを実行する。ステップ1804では、切換モジュール222が、全ての先行資源からフェーズ切替指示を受信したかどうかを判断する。そうでなければ、ステップ1802に戻って、実行環境224が、本タスクを実行し続ける。
ステップ1804で、切換モジュール222が、全ての先行資源からフェーズ切替指示を受信すると、ステップ1806に進み、そこで、監視タスクによって既に選択されているストリーム形式コードが、後続ストリーム形式コードとする。
そこで、後続ストリーム形式コードのIDがフェーズ切り替え指示に含まれているので、ステップ1806では、切換モジュール222が、全ての後続資源のデータキューの末尾に、フェーズ切替指示を追加する。
次に、ステップ1808に進んで、切換モジュール222が、後続ストリーム形式コードにおける本タスク開始時刻を過ぎたかどうか判断する。そうでなければ、ステップ1810で、実行環境224が、フェーズ切替指示のフェーズIDでの代行タスクを実行しつつ、ステップ1808に戻る。代行タスクは、図16に示すように、使用中の資源における、直前のフェーズIDと、今のフェーズIDから決定することができる。
ステップ1808で、切換モジュール222が、後続ストリーム形式コードにおける本タスク開始時刻を過ぎたと判断すると、ステップ1812に進む。
ステップ1812では、切換モジュール222は、ステップ1812で、代行タスクのデータがキューに残っているかどうかを判断する。そうでなければ、処理は、ステップ1802の本タスク実行に戻る。
ステップ1812で、切換モジュール222が、ステップ1812で、代行タスクのデータがキューに残っていると判断したなら、処理はステップ1814に進み、切換モジュール222は、実行環境224に代行タスクを実行させ、その出力を、後続のタスクを本来実行する資源に送信する。
以下、代行タスクを用いたフェーズ切り替え動作について、模式的な例によって、より具体的に説明する。先ず、図19は、ルータ・アプライアンス100のイーサネット・スタック&イーサネット・ポート110に接続されている計算資源のトポロジである。これは、物理的トポロジであって、ソフトウェア的なものではないので、動的に再構成できない。
図20は、このような資源1〜資源6からなる物理的トポロジの計算資源に対して、(1)に示すようにフェーズαとしてストリーム形式で資源の割り振りが行われている状態から、(3)に示すようにフェーズβとしてストリーム形式で資源の割り振りが行われている状態に移行する場合に、(2)に示すような代理タスクを使用する経過的な状態を経ることによって、フェーズ切り替えに伴うシステム停止時間を低減するものである。
すなわち、図20(1)で、資源1がタスクaを、資源2がタスクcを、資源3がタスクdを、資源4がタスクeを、資源5がタスクfを、資源6がタスクbを実行しているフェーズαの状態から、図20(3)で、資源1がタスクAを、資源2がタスクBを、資源3がタスクCを、資源4がタスクEを、資源5がタスクDを、資源6がタスクFを実行しているフェーズβの状態に移行するために、図20(2)で、ステップ1810にあるように、資源3がタスクDを実行して資源5に送信し、次にステップ1814にあるように、資源3がタスクDを実行して資源6に送信し、図20(3)に移行して、次にステップ1802にあるように、資源3がタスクCを実行して資源5に送信する。同様に、資源6も、図20(2)で、タスクCを代行で実行して、資源4と資源3に送信する。
図21は、実行タスクの遷移サイクルを示す図である。図において特に、資源6のタスクCの実行と、資源3のタスクDの実行が、代行タスクとしての実行である。
すなわち、各フェーズは、パイプライン化されているため、先頭のタスクから順に終わっていく。そこで、本発明の基本的なスキームによれば、先にフェーズαを終えた資源が、フェーズβの前方の資源を代行し、全ての資源がフェーズαのタスクを終えたら、本来のタスクを開始する。
以上、特定の実施例に従い本発明を説明してきたが、示されたハードウェア、ソフトウェア、ネットワーク構成は例示に過ぎず、本発明は、これらと機能的に等価な任意の構成で実現可能であることを理解されたい。
100 ルータ・アプライアンス
102 バス
104 マルチコア・プロセッサ
106 マルチコア・プロセッサ
108 RAM
110 イーサネット・ポート
112 フラッシュROM
202 統計情報収集モジュール
204 様相パターン抽出モジュール
206 様相パターン群
208 構成テーブル
209 システム環境
210 コンパイラ
212 ストリーム形式コード群
214 遷移テーブル
216 様相パターン計測モジュール
218 様相パターン比較モジュール
220 ストリーム形式コード選択モジュール
222 切換モジュール
224 実行環境
702 様相パターン
704 様相パターン
706 様相パターン

Claims (9)

  1. コンピュータの処理により、ネットワーク・トラヒック情報の内容に応じて、処理を適合するように動的に構成を変更するための方法であって、
    ネットワーク・トラヒック情報の異なる複数の内容に対応するフェーズに各々適合するように、タスクと該タスクが実行されるリソース割当てをストリーム形式で指定する情報を予め保存するステップと、
    ネットワーク・トラヒック情報を測定するステップと、
    測定された前記ネットワーク・トラヒック情報に相対的に近いストリーム形式のリソース割当て情報を次のフェーズとして選択するステップと、
    既に選択されている現在のフェーズのストリーム形式のリソース割当てから、前記次のフェーズのストリーム形式のリソース割当てに切り替えるステップであって、現在のフェーズのストリーム形式のリソース割当てにおいて先に処理を終えた前記リソースが、前記次のフェーズのストリーム形式のリソース割当てにおけるタスクを過渡的に代行して実行するようになされる、ステップを有する、
    コンピュータ・システムの制御方法。
  2. 利用可能なリソースについてフェーズ間移行において代行すべきタスク(以下、「代行タスク」という)を選択して対応するテーブル記憶するステップを有し、前記切り替えるステップは、当該リソースに対応する前記テーブルから、現在のフェーズと次のフェーズ間移行において代行すべきタスクとして記憶された前記代行タスクを検索して代行して実行する、請求項1に記載の方法。
  3. 前記フェーズ間移行の前記代行タスクは、関連するタスク間の切り替えコスト、代行タスク実行開始までの空き時間を含むコスト、及び関連するフェーズ間でリソース間のデータ送受信の時間を含むコストが小さくなるように選択される、請求項2に記載の方法。
  4. コンピュータの処理により、ネットワーク・トラヒック情報の内容に応じて、処理を適合するように動的に構成を変更するためのシステムであって、
    記憶手段と、
    ネットワーク・トラヒック情報の異なる複数の内容に対応するフェーズに各々適合するように、タスクと該タスクが実行されるリソース割当てをストリーム形式で指定する情報を前記記憶手段に保存する手段と、
    ネットワーク・トラヒック情報を測定する手段と、
    測定された前記ネットワーク・トラヒック情報に相対的に近いストリーム形式のリソース割当て情報を次のフェーズとして選択する手段と、
    既に選択されている現在のフェーズのストリーム形式のリソース割当てから、前記次のフェーズのストリーム形式のリソース割当てに切り替える手段であって、現在のフェーズのストリーム形式のリソース割当てにおいて先に処理を終えた前記リソースが、前記次のフェーズのストリーム形式のリソース割当てにおけるタスクを過渡的に代行して実行するようになされる、手段を有する、
    コンピュータ・システム。
  5. 利用可能なリソースについてフェーズ間移行において代行すべきタスク(以下、「代行タスク」という)を選択して対応するテーブル記憶する手段を有し、前記切り替える手段は、当該リソースに対応する前記テーブルから、現在のフェーズと次のフェーズ間移行において代行すべきタスクとして記憶された前記代行タスクを検索して代行して実行する、請求項4に記載のシステム。
  6. 前記フェーズ間移行の前記代行タスクは、関連するタスク間の切り替えコスト、代行タスク実行開始までの空き時間を含むコスト、及び関連するフェーズ間でリソース間のデータ送受信の時間を含むコストが小さくなるように選択される、請求項5に記載のシステム。
  7. コンピュータの処理により、ネットワーク・トラヒック情報の内容に応じて、処理を適合するように動的に構成を変更するためのプログラムであって、
    前記コンピュータをして、
    ネットワーク・トラヒック情報の異なる複数の内容に対応するフェーズに各々適合するように、タスクと該タスクが実行されるリソース割当てをストリーム形式で指定する情報を予め保存するステップと、
    ネットワーク・トラヒック情報を測定するステップと、
    測定された前記ネットワーク・トラヒック情報に相対的に近いストリーム形式のリソース割当て情報を次のフェーズとして選択するステップと、
    既に選択されている現在のフェーズのストリーム形式のリソース割当てから、前記次のフェーズのストリーム形式のリソース割当てに切り替えるステップであって、現在のフェーズのストリーム形式のリソース割当てにおいて先に処理を終えた前記リソースが、前記次のフェーズのストリーム形式のリソース割当てにおけるタスクを過渡的に代行して実行するようになされる、ステップを実行させる、
    コンピュータ・システムの制御プログラム。
  8. 利用可能なリソースについてフェーズ間移行において代行すべきタスク(以下、「代行タスク」という)を選択して対応するテーブル記憶するステップを有し、前記切り替えるステップは、当該リソースに対応する前記テーブルから、現在のフェーズと次のフェーズ間移行において代行すべきタスクとして記憶された前記代行タスクを検索して代行して実行する、請求項7に記載のプログラム。
  9. 前記フェーズ間移行の前記代行タスクは、関連するタスク間の切り替えコスト、代行タスク実行開始までの空き時間を含むコスト、及び関連するフェーズ間でリソース間のデータ送受信の時間を含むコストが小さくなるように選択される、請求項8に記載のプログラム。
JP2012514749A 2010-05-14 2011-04-21 コンピュータ・システム、方法及びプログラム Active JP5520369B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012514749A JP5520369B2 (ja) 2010-05-14 2011-04-21 コンピュータ・システム、方法及びプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010112117 2010-05-14
JP2010112117 2010-05-14
PCT/JP2011/059833 WO2011142227A1 (ja) 2010-05-14 2011-04-21 コンピュータ・システム、方法及びプログラム
JP2012514749A JP5520369B2 (ja) 2010-05-14 2011-04-21 コンピュータ・システム、方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2011142227A1 JPWO2011142227A1 (ja) 2013-07-22
JP5520369B2 true JP5520369B2 (ja) 2014-06-11

Family

ID=44914283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012514749A Active JP5520369B2 (ja) 2010-05-14 2011-04-21 コンピュータ・システム、方法及びプログラム

Country Status (7)

Country Link
US (1) US9794138B2 (ja)
JP (1) JP5520369B2 (ja)
CN (1) CN102947798B (ja)
DE (1) DE112011100714B4 (ja)
GB (1) GB2495417B (ja)
TW (1) TW201214286A (ja)
WO (1) WO2011142227A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102402452B (zh) * 2011-12-12 2014-04-09 深圳市共进电子股份有限公司 一种编译方法及装置
US9608933B2 (en) * 2013-01-24 2017-03-28 Hitachi, Ltd. Method and system for managing cloud computing environment
CN103346980B (zh) * 2013-07-02 2016-08-10 华为技术有限公司 一种业务调度方法、装置及网络设备
CN104679763A (zh) * 2013-11-28 2015-06-03 富士通株式会社 用于加速工作流的执行的装置和方法
US10609119B2 (en) * 2017-11-03 2020-03-31 Salesforce.Com, Inc. Simultaneous optimization of multiple TCP parameters to improve download outcomes for network-based mobile applications
US11126430B2 (en) * 2019-05-11 2021-09-21 Intel Corporation Vector processor for heterogeneous data streams
CN111198765B (zh) * 2019-12-31 2023-08-04 富联裕展科技(河南)有限公司 运算资源分配和管理方法及代理服务器

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5867704A (en) 1995-02-24 1999-02-02 Matsushita Electric Industrial Co., Ltd. Multiprocessor system shaving processor based idle state detection and method of executing tasks in such a multiprocessor system
JPH08292932A (ja) * 1995-02-24 1996-11-05 Matsushita Electric Ind Co Ltd マルチプロセッサシステムおよびマルチプロセッサシステムにおいてタスクを実行する方法
US6771661B1 (en) * 1999-07-21 2004-08-03 Cisco Technology, Inc. Apparatus and methods for providing event-based data communications device configuration
US6597956B1 (en) * 1999-08-23 2003-07-22 Terraspring, Inc. Method and apparatus for controlling an extensible computing system
US6779016B1 (en) * 1999-08-23 2004-08-17 Terraspring, Inc. Extensible computing system
US7464147B1 (en) * 1999-11-10 2008-12-09 International Business Machines Corporation Managing a cluster of networked resources and resource groups using rule - base constraints in a scalable clustering environment
US7228546B1 (en) * 2000-01-28 2007-06-05 Hewlett-Packard Development Company, L.P. Dynamic management of computer workloads through service level optimization
US6711607B1 (en) 2000-02-04 2004-03-23 Ensim Corporation Dynamic scheduling of task streams in a multiple-resource system to ensure task stream quality of service
US7203746B1 (en) * 2000-12-11 2007-04-10 Agilent Technologies, Inc. System and method for adaptive resource management
JP2002202959A (ja) * 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
JP2004171234A (ja) * 2002-11-19 2004-06-17 Toshiba Corp マルチプロセッサシステムにおけるタスク割り付け方法、タスク割り付けプログラム及びマルチプロセッサシステム
US7685254B2 (en) 2003-06-10 2010-03-23 Pandya Ashish A Runtime adaptable search processor
US7664823B1 (en) * 2003-09-24 2010-02-16 Cisco Technology, Inc. Partitioned packet processing in a multiprocessor environment
JP3896111B2 (ja) * 2003-12-15 2007-03-22 株式会社日立製作所 リソース割り当てシステム、方法及びプログラム
US20060029097A1 (en) * 2004-06-07 2006-02-09 Mcgee Michael S Dynamic allocation and configuration of a computer system's network resources
US8832706B2 (en) * 2006-12-22 2014-09-09 Commvault Systems, Inc. Systems and methods of data storage management, such as dynamic data stream allocation
US20060104219A1 (en) * 2004-11-15 2006-05-18 Harris Corporation Predictive mobile ad hoc networking including associated systems and methods
US7774471B2 (en) * 2006-06-15 2010-08-10 Adaptive Computing Enterprises, Inc. Optimized multi-component co-allocation scheduling with advanced reservations for data transfers and distributed jobs
US7761875B2 (en) * 2005-06-10 2010-07-20 Hewlett-Packard Development Company, L.P. Weighted proportional-share scheduler that maintains fairness in allocating shares of a resource to competing consumers when weights assigned to the consumers change
US20070011374A1 (en) 2005-07-08 2007-01-11 Kumar Sasi K Method and system for universal serial bus (USB) re-direct (USB-R) over a network
CN101248419B (zh) * 2005-08-22 2010-05-19 新日铁系统集成株式会社 信息处理系统
US7765450B2 (en) * 2005-10-20 2010-07-27 Jon Udell Methods for distribution of test generation programs
JP4017005B2 (ja) * 2005-10-27 2007-12-05 ソナック株式会社 演算装置
US7490223B2 (en) * 2005-10-31 2009-02-10 Sun Microsystems, Inc. Dynamic resource allocation among master processors that require service from a coprocessor
JP4377369B2 (ja) * 2005-11-09 2009-12-02 株式会社日立製作所 リソース割当調停装置およびリソース割当調停方法
US7738129B2 (en) * 2006-03-13 2010-06-15 International Business Machines Corporation Method and apparatus for assigning candidate processing nodes in a stream-oriented computer system
JP4611922B2 (ja) * 2006-03-28 2011-01-12 富士通株式会社 制御プログラム、制御方法および制御装置
US20070233843A1 (en) * 2006-03-30 2007-10-04 Gabriele Frey-Ganzel Method and system for an improved work-load balancing within a cluster
US7996842B2 (en) * 2006-03-30 2011-08-09 Oracle America, Inc. Computer resource management for workloads or applications based on service level objectives
US7669071B2 (en) 2006-05-05 2010-02-23 Dell Products L.P. Power allocation management in an information handling system
JP4751265B2 (ja) * 2006-08-01 2011-08-17 株式会社日立製作所 リソース管理システム及びその方法
JP3916652B2 (ja) 2006-10-20 2007-05-16 株式会社日立製作所 リソース割り当てシステム、方法及びプログラム
US7992151B2 (en) * 2006-11-30 2011-08-02 Intel Corporation Methods and apparatuses for core allocations
US7684320B1 (en) * 2006-12-22 2010-03-23 Narus, Inc. Method for real time network traffic classification
JP4933284B2 (ja) * 2007-01-25 2012-05-16 株式会社日立製作所 ストレージ装置及び負荷分散方法
JP5243721B2 (ja) 2007-02-01 2013-07-24 セイコーエプソン株式会社 アプリケーション実行システム、切替装置、アプリケーション実行システムのアプリケーション実行方法およびプログラム
US7987261B2 (en) 2007-07-31 2011-07-26 Yahoo! Inc. Traffic predictor for network-accessible information modules
US20090106730A1 (en) * 2007-10-23 2009-04-23 Microsoft Corporation Predictive cost based scheduling in a distributed software build
KR101366075B1 (ko) * 2007-12-20 2014-02-21 삼성전자주식회사 멀티코어 플랫폼에서의 태스크 이동 방법 및 장치
US8854966B2 (en) * 2008-01-10 2014-10-07 Apple Inc. Apparatus and methods for network resource allocation
US20090192981A1 (en) * 2008-01-29 2009-07-30 Olga Papaemmanouil Query Deployment Plan For A Distributed Shared Stream Processing System
JP2009271308A (ja) 2008-05-07 2009-11-19 Seiko Epson Corp 表示装置および電子機器
US8866827B2 (en) * 2008-06-26 2014-10-21 Microsoft Corporation Bulk-synchronous graphics processing unit programming
US8472328B2 (en) * 2008-07-31 2013-06-25 Riverbed Technology, Inc. Impact scoring and reducing false positives
US9875141B2 (en) * 2008-10-01 2018-01-23 Microsoft Technology Licensing, Llc Managing pools of dynamic resources
US8526309B2 (en) 2008-10-22 2013-09-03 Sharp Kabushiki Kaisha Mobile communication system, mobile station apparatus base station apparatus, method for managing mobile station apparatus, method for managing base station apparatus and processing section
EP2254286B1 (en) * 2009-05-20 2013-03-20 Accenture Global Services Limited Network real time monitoring and control method, system and computer program product
US8213453B1 (en) * 2009-08-07 2012-07-03 Juniper Networks, Inc. Quality of service (QoS) configuration for network devices with multiple queues
WO2011138854A1 (ja) * 2010-05-06 2011-11-10 日本電気株式会社 リソース管理システム、リソース管理方法およびリソース管理プログラム
US9798696B2 (en) * 2010-05-14 2017-10-24 International Business Machines Corporation Computer system, method, and program
US20120030355A1 (en) * 2010-07-27 2012-02-02 Microsoft Corporation Dynamically allocating index server resources to partner entities
US9098608B2 (en) * 2011-10-28 2015-08-04 Elwha Llc Processor configured to allocate resources using an entitlement vector
US9225772B2 (en) * 2011-09-26 2015-12-29 Knoa Software, Inc. Method, system and program product for allocation and/or prioritization of electronic resources
US20130138798A1 (en) * 2011-11-29 2013-05-30 International Business Machines Corporation Predictive and dynamic resource provisioning with tenancy matching of health metrics in cloud systems
US20130185729A1 (en) * 2012-01-13 2013-07-18 Rutgers, The State University Of New Jersey Accelerating resource allocation in virtualized environments using workload classes and/or workload signatures

Also Published As

Publication number Publication date
GB2495417A (en) 2013-04-10
DE112011100714B4 (de) 2018-07-19
WO2011142227A1 (ja) 2011-11-17
CN102947798A (zh) 2013-02-27
JPWO2011142227A1 (ja) 2013-07-22
DE112011100714T5 (de) 2013-01-17
US20130103829A1 (en) 2013-04-25
GB2495417B (en) 2017-11-29
TW201214286A (en) 2012-04-01
US9794138B2 (en) 2017-10-17
CN102947798B (zh) 2016-08-17

Similar Documents

Publication Publication Date Title
JP5520369B2 (ja) コンピュータ・システム、方法及びプログラム
Kanakala et al. Performance analysis of load balancing techniques in cloud computing environment
Das et al. Transparent and flexible network management for big data processing in the cloud
Heintz et al. End-to-end optimization for geo-distributed mapreduce
CN107645520B (zh) 一种负载均衡方法、装置以及系统
US11411799B2 (en) Scalable statistics and analytics mechanisms in cloud networking
US20240104031A1 (en) Forwarding incoming io to scm namespaces
Wang et al. Optimizing big data processing performance in the public cloud: opportunities and approaches
Alkaff et al. Cross-layer scheduling in cloud systems
Haque et al. Dynamic load balancing in real-time distributed transaction processing
EP2912811B1 (en) Traffic engineering system for preventing demand deadlock and achieving uniform link utilization
Shu et al. Dynamic load balancing and channel strategy for apache flume collecting real-time data stream
CN108737455B (zh) 网络业务识别装置及方法
He et al. Firebird: Network-aware task scheduling for spark using sdns
US9798696B2 (en) Computer system, method, and program
Panda et al. pmach: Power and migration aware container scheduling
Miranda et al. Dynamic communication-aware scheduling with uncertainty of workflow applications in clouds
Muhammad et al. BAN-storm: a bandwidth-aware scheduling mechanism for stream jobs
Fang et al. Latency aware online tasks scheduling policy for edge computing system
Chen et al. Network-aware grouping in distributed stream processing systems
Al Sallami Load balancing in green cloud computation
Dai et al. A resource occupancy ratio-oriented load balancing task scheduling mechanism for flink
Bastam et al. Design and performance evaluation of a new traffic engineering technique for software-defined network datacenters
Zhao et al. Design and Experimental Evaluation of Algorithms for Optimizing the Throughput of Dispersed Computing
Castillo et al. Predictive and distributed routing balancing, an application-aware approach

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140228

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140228

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140404

R150 Certificate of patent or registration of utility model

Ref document number: 5520369

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150