JP3959516B2 - ネットワークシステム、cpu資源プロバイダ、クライアント装置、処理サービスの提供方法、およびプログラム - Google Patents

ネットワークシステム、cpu資源プロバイダ、クライアント装置、処理サービスの提供方法、およびプログラム Download PDF

Info

Publication number
JP3959516B2
JP3959516B2 JP2001237885A JP2001237885A JP3959516B2 JP 3959516 B2 JP3959516 B2 JP 3959516B2 JP 2001237885 A JP2001237885 A JP 2001237885A JP 2001237885 A JP2001237885 A JP 2001237885A JP 3959516 B2 JP3959516 B2 JP 3959516B2
Authority
JP
Japan
Prior art keywords
job
time
client
predicted
application
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.)
Expired - Fee Related
Application number
JP2001237885A
Other languages
English (en)
Other versions
JP2003058518A (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 JP2001237885A priority Critical patent/JP3959516B2/ja
Priority to US10/212,370 priority patent/US7454754B2/en
Publication of JP2003058518A publication Critical patent/JP2003058518A/ja
Application granted granted Critical
Publication of JP3959516B2 publication Critical patent/JP3959516B2/ja
Priority to US12/210,858 priority patent/US8245237B2/en
Priority to US13/537,481 priority patent/US8689229B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/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/5038Allocation 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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/483Multiproc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5015Service provider selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Multi Processors (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、計算負荷の高い処理サービスを提供するネットワークシステム等に係り、より詳しくは、所定のパフォーマンスを保証したサービスを提供するネットワークシステム等に関する。
【0002】
【従来の技術】
近年、システム構築や運用コストの総費用を大幅に削減し、システム開発期間を短縮する等の目的で、インターネット経由で業務ソフトなどのアプリケーションを提供し期間単位で貸し出すサービスであるASP(Application Service Provider)が急速に発展してきた。このASPを導入して業務のアウトソーシングを図ったユーザは、特別なアプリケーションのためにハードやソフトを購入する必要がなく、メンテナンスの費用も安価で済み、更に、専任要員などを少なくすることも可能である。
【0003】
ここで、計算負荷の高いアプリケーションのASPとしては、例えば、有限要素法や境界要素法などによる、強度解析、熱解析、振動解析など、製品開発に係るエンジニアリングをコンピュータで支援するCAE(Computer Aided Engineering)がある。また、財務、会計等の金融工学を扱ったものも存在している。サーバの構成としては、例えば全ての処理をアプリケーションサーバが請け負ったものがある。こうした構成では、本格的に重い計算プロセスが動いた場合に、その他のインタラクティブなプロセスへの影響、並列計算における実現の困難性などが予想され、サービスレベルの維持、向上が困難となる。
【0004】
最適化などの時間のかかるジョブを処理するWebベースのサービスでは、例えば、サブミットしたジョブを処理してメールで結果を返す、というシステムが存在している。しかしながら、あくまでも無料かつアカデミックな目的であり、パフォーマンスの保証がなされず、問題サイズも限られる。一方、大学等、公共機関の大型計算機センタでは、並列計算機をユーザに公開し、リソースマネージメントソフトウェアにより運用している。しかし、公平さと資源の効率的な利用を目的とし、その課金も合計CPU時間をベースとしている。
【0005】
また、計算資源のスケジューリング技術としては、バッチジョブのキューを管理し、ある程度の優先順位を調整しつつ、利用可能になったノードをジョブに割り当てていく手法が主流である。この背景として、現在の大規模計算機システムのほとんどを並列システムで構成している。しかし、アルゴリズムの裏をついて優先的にサービスを受ける、という抜け道がしばしば存在する。例えば、ノードに一時的に空きがあれば、短いジョブを前倒しで実行するbackfillという手法があるが、例えば10分で終わるから、と割り込んで1時間粘る、といった実世界と同様な問題が起こり得る。
【0006】
尚、特開平7−141305号公報には、並列計算機を不特定多数のユーザで同時に用いる際に、プロセッサの利用効率を上げる手法について開示されている。
【0007】
【発明が解決しようとする課題】
ここで、大型計算機センタを利用する科学者や、コアコンピテンシーとして大規模サーバを導入するバイオ関連の大手企業等、既存のハイパフォーマンスコンピューティングのユーザ層に加え、潜在的なユーザとして、金融、製造業等においてモンテカルロシミュレーションや有限要素法といった負荷の高い処理を日常業務で使用するプロフェッショナル層がある。しかしながら、一般に大規模なシステムとなることから、導入および維持に際して、経済的、技術的負担が大きく、また、計算時間を短縮するため高性能にするほどアイドル時間も増えて効率が低下してしまう。また、ベンダーやアプリケーションによっては、プラットフォームが限定されるという不自由も存在してしまう。
【0008】
かかる問題への解決法の一つがASPへの移行である。アプリケーションベンダーとしても、プラットフォームを固定して競争力の中心であるアルゴリズム部分に特化できるというメリットがあるが、前述のように、現状では計算待ち時間やレスポンスといったサービスの質を保証するレベルには達していない。また、スケジューリングアルゴリズムの裏をつかれる可能性もあり、ビジネスとして実現する上で重要である「公平さ」を確保することができない。
【0009】
本発明は、以上のような技術的課題を解決するためになされたものであって、その目的とするところは、計算負荷の高いWebサービス等の処理サービスを提供するシステムにおいて、パフォーマンスを保証した公平なサービスを実現することにある。
また他の目的は、かかるシステムにおいて、正確な計算時間の予測に基づき資源の利用効率を高めると共に、インセンティブを通じてクライアントを正確かつ正直な予測をするように誘導することにある。
【0010】
【課題を解決するための手段】
かかる目的を達成するために、本発明は、計算(並列計算)に適した構成のサーバ群を主体に、アプリケーション中の計算負荷の高いWebサービス等の処理サービスを提供するシステムにおいて、計算時間の予測をクライアントに求め、プロバイダでは、クライアント毎にプロファイルを管理して予測精度を解析し、サービスの管理に利用することで、全体のパフォーマンスへの影響に重点を置いた契約・課金体系を公平な形で実現している。言い換えると、既存の多くのバッチスケジューリングシステムで共通の問題となっている、入力データ(=実行時間予測)の正確性を、クライアントプロファイルの利用により向上することを特徴としている。また、精度情報をスケジューリングに利用することで、計算機資源の効率的な利用を実現している。
【0011】
即ち、本発明が適用されるネットワークシステムは、ネットワークに接続されアプリケーションを実行するASP(アプリケーションサービスプロバイダ)等のクライアントと、このネットワークに接続されアプリケーションの実行環境を保持した状態でアプリケーション中の所定の計算部分(例えば、負荷の高い計算部分)に特化して処理サービスを提供するCPU資源プロバイダとを含み、このクライアントは、CPU資源プロバイダに対するジョブのリクエストに際してジョブの予測計算時間に関する情報をネットワークを介してCPU資源プロバイダに送信し、CPU資源プロバイダは、クライアントから送信された予測計算時間に基づき、この予測計算時間を修正してジョブの割り当てを行うことを特徴としている。
【0012】
また、本発明が適用されるCPU資源プロバイダは、クライアントのプロファイルを格納するプロファイル格納手段と、クライアントからのジョブのリクエストに伴い、このジョブの予測計算時間を受信する予測計算時間受信手段と、プロファイル格納手段に格納されたプロファイルをもとに予測計算時間受信手段により受信された予測計算時間を修正する修正手段と、修正手段により修正された予測計算時間に基づいてリソーススケジューリングによるジョブの割り当てを行うジョブ割当手段とを備えることを特徴としている。
【0013】
他の観点から把握すると、本発明が適用されるCPU資源プロバイダは、クライアントから送信された予測計算時間に基づき、この予測計算時間を修正して、クライアントからリクエストがあったジョブの実行時間を予測する実行時間予測手段と、現在割り当て可能なノード数を把握する第1のノード数把握手段と、予測された実行時間を用いて第1のノード数把握手段により把握された現在割り当て可能なノード数にてジョブを即座に実行したときの第1の終了予測時間を把握する第1終了予測時間把握手段と、現在実行中である所定の実行中ジョブの終了を待ってジョブを実行したときに割り当て可能なノード数を把握する第2のノード数把握手段と、予測された実行時間を用いて第2のノード数把握手段により把握されたノード数にてジョブを実行したときの第2の終了予測時間を把握する第2終了予測時間把握手段と、把握された第1の終了予測時間および第2の終了予測時間に基づき、即座に実行する際または所定の実行中のジョブの終了を待った後に所定のノードを確保してジョブを割り当てる割当手段とを備えたことを特徴としている。
【0014】
ここで、この第1終了予測時間把握手段と第2終了予測時間把握手段は、例えば90%の確率等、所定の確率でジョブが終了するまでの時間の尺度(例えばL値)を用いて第1の終了予測時間および第2の終了予測時間を把握し、この割当手段は、同じ(共通の)時間の尺度を比較して現在実行中のジョブの終了を待つか否かを判断することを特徴とすれば、共通の尺度を導入することで、クライアントごとの予測精度の違いをスケジューリングに組み込むことが可能となる点で好ましい。また、この実行時間予測手段は、クライアントからのリクエストの到着があったときに、クライアントの予測傾向として存在する偏向傾向を過去の履歴から把握して予測計算時間を修正することを特徴とすることができる。
【0015】
また、本発明は、アプリケーションを実行すると共に、ネットワークに接続されるCPU資源プロバイダに対してアプリケーションの高度な計算を必要とする部分(所定の計算部分)に対するサービスを受けるクライアント装置から把握することができる。このクライアント装置は、CPU資源プロバイダに対してジョブリクエストを送信するジョブリクエスト送信手段と、送信されるジョブリクエストにおけるジョブの問題規模から計算時間を予測する計算時間予測手段と、予測された予測計算時間をジョブリクエスト送信手段によるジョブリクエストの送信に伴ってCPU資源プロバイダに送信する予測計算時間送信手段と、CPU資源プロバイダにてジョブの実行に要した実際の実行時間をCPU資源プロバイダから受信する受信手段とを備え、この計算時間予測手段は、受信手段により受信した実際の実行時間を、次のジョブにおける予測計算の精度を上げるために用いることを特徴している。ここで、このジョブリクエスト送信手段は、ジョブリクエストを送信するジョブの実行に必要なデータ、および実行ノード数、場合によってはアプリケーションのプログラムコード、並列実行可能な場合はその並列化性能を送信することを特徴とすることができる。
【0016】
尚、本発明は、アプリケーションを実行するクライアントからのリクエストに基づいてアプリケーション中の計算負荷の高い部分に対して処理サービスを提供する処理サービスの提供方法として把握することができる。また、コンピュータであるクライアントとしての処理装置に、また、サービスを提供するコンピュータであるCPU資源プロバイダに、所定の機能を実現させるプログラムとして把握することができる。これらのプログラムは、CD−ROM等の記憶媒体に格納されて提供される場合が考えられる。また、例えば、プログラム伝送装置によってネットワークを介してコンピュータに提供される形態が考えられる。このプログラム伝送装置としては、プログラムを格納するメモリと、ネットワークを介してプログラムを提供するプログラム伝送手段とを備えていれば足りる。
【0017】
【発明の実施の形態】
以下、添付図面に基づき、本発明の実施の形態について詳細に説明する。
図1は、本実施の形態が適用されるネットワークシステムの全体構成を説明するための図である。ここでは、ネットワークであるインターネット9を介して、アプリケーションのエンドユーザであるユーザ10とクライアントであるアプリケーションサービスプロバイダ(ASP)20とが接続されている。また、インターネット9を介して、アプリケーションサービスプロバイダ20と計算集中WebサーバであるCPU資源プロバイダ30とが接続されている。
【0018】
ユーザ10は一般のアプリケーションの利用者である。また、CPU資源プロバイダ30は、計算負荷の高い部分に特化した処理サービスの提供者であり、アプリケーションサービスプロバイダ(ASP)20は、この処理サービスの利用者であるクライアントと定義できる。
【0019】
本実施の形態では、CPU資源プロバイダ30は、クライアントであるアプリケーションサービスプロバイダ(ASP)20に対してリクエスト時に予測計算時間の申告を義務付けている。また、クライアントのプロファイルを管理し、申告時間、実際の待ち時間と実行時間の履歴等を保持している。更に、このプロファイルをもとに、
(a)計算時間予測の正確性、申告の傾向(バイアス)を解析し、リソーススケジューリングに利用する。
(b)スケジューリング効率の向上に役立つ行為(クライアントによる正確な予測、事前予約)に対して、例えば、予測が正確であれば値段を下げる等のインセンティブを設定する。
(c)割り当て優先順位、並列度を調整することで契約時間のサービスレベルを維持する。
ことにより、正確な予測を実現するとともに、正確かつ正直に予測を行うようにクライアントを誘導することで、更なる効率化を図っている。
【0020】
まず、契約時において、ユーザ10とアプリケーションサービスプロバイダ20との間で所定のアプリケーション使用契約がなされる。また、アプリケーションサービスプロバイダ20とCPU資源プロバイダ30との間では、計算機資源使用契約がなされる。そして、アプリケーションサービスプロバイダ20からCPU資源プロバイダ30に対して、使用プログラムと並列化特性登録がなされる。
【0021】
一方、運用時においては、ユーザ10とアプリケーションサービスプロバイダ20との間で使用契約がなされたアプリケーションが使用される。また、アプリケーションサービスプロバイダ20からCPU資源プロバイダ30に対しては、予測時間を含む計算リクエストが提示され、CPU資源プロバイダ30からアプリケーションサービスプロバイダ20に対しては、計算結果と予測精度情報が提供される。
【0022】
尚、アプリケーションサービスプロバイダ20を介さず、ユーザ10が直接、CPU資源プロバイダ30を利用する形態も考えられる。このときは、ユーザ10であるクライアントマシンにインストールされたアプリケーションが、計算機負荷の高い解析部分のみインターネット9を通してCPU資源プロバイダ30にリクエストするように設定される。かかる場合に、クライアントであるユーザ10が計算時間を予測することは一般に困難であることから、何段階かで表現された問題規模の指標で代替する。履歴が蓄積されるとともに、この指標から計算時間への関数が指定できるため、計算時間の予測をCPU資源プロバイダ30側で代行することになる。但し、計算時間の予測機能を含むプログラムをユーザ10に提供し、クライアントであるユーザ10が計算時間を予測するように構成することも可能である。
【0023】
図2は、CPU資源プロバイダ30の構成を示した図である。本実施の形態におけるCPU資源プロバイダ30は、計算集中Webサーバとして、複数の計算サーバ36からなるサーバ群を備え、バス35によってこれらの計算サーバ36と接続されている。また、バス35に接続されるフロントエンドプロセッサ上に、複数の計算サーバ36のジョブ管理を行うOSであるスケジューラ31を備えている。また、クライアントであるアプリケーションサービスプロバイダ20のプロファイル等を格納する記憶装置32、アプリケーションサービスプロバイダ20との通信を行う通信部33、課金計算等を行うアカウントマネージャ34を備えている。
【0024】
図12は、アプリケーションサービスプロバイダ20の構成を示した図であり、CPU資源プロバイダ30との関係に用いられる部分を示している。ここでは、ユーザ10との間で使用されるアプリケーションに関するデータや実行ノード数、並列化性能、プログラムコード等が格納される格納部25を備え、CPU資源プロバイダ30に対してジョブをリクエストする際に、把握される問題規模から計算時間を推定する計算時間予測部21を備えている。また、格納部25に格納される、実行に必要なデータ、実行ノード数をCPU資源プロバイダ30に送付するジョブリクエスト送信部22、計算時間予測部21により予測された予測計算時間をCPU資源プロバイダ30に送付する予測計算時間送信部23を有している。更に、CPU資源プロバイダ30から、ジョブの実行による計算結果と共に、ジョブに要した実際の実行時間を受信する結果受信部24を備えている。この結果受信部24により受信された実際の実行時間は、計算時間予測部21に入力され、次のジョブにおける予測計算の精度を上げるために用いられる。
【0025】
次に、CPU資源プロバイダ30のスケジューラ31にてなされるサービスレベルの設定方法および予測時間情報の管理について説明する。本実施の形態では、実現例として、クライアントとのサービスレベルの設定方法、予測誤差情報の管理、そしてこれらに基づくスケジューリングアルゴリズムを示している。リソース以上のリクエストが殺到する場合も有り得るために、常に性能を保証することは一般的に不可能であるが、“みなしノード数”という指標に対して、期間平均としての保証を考え、実績ベースで目標値を動的に変更することで対応している。また、L値(高い確率(例えば90%)でジョブが終了するまでの時間)という共通の尺度を導入することで、クライアントごとの予測精度の違いをスケジューリングに組み込んでいる。
【0026】
図3は、アプリケーションにおける並列化性能の例を示した図であり、これらの並列化性能は、アプリケーションサービスプロバイダ20のクライアントからCPU資源プロバイダ30に対して事前情報として提供されている。ここでは、ノード数(横軸)に対する性能(縦軸)が示されており、ポートフォリオ最適化とモンテカルロシミュレーションが挙げられている。
【0027】
まず、準備について説明する。クライアントから図3に例示した並列化性能が事前情報として適用されるが、例えばこの関数を
【式1】
Figure 0003959516
とする。ここで、1ノードで10時間かかるジョブを、しばらくの割り当て待ちの後、複数のノードで並列に実行され、サブミットされてから3時間で終了したものとする。このとき、
【式2】
Figure 0003959516
即ち、サブミットと同時に割り当てたという前提で相当するノード数を「みなしノード数」と呼んでいる。
【0028】
次に、アプリケーションサービスプロバイダ20の一つであるクライアントcとのサービスレベルの設定は、ある契約期間において、
【式3】
Figure 0003959516
という形態とする。「平均みなしノード数」はサービスの質に相当し、「合計CPU時間」はサービスの量に相当する。これらの目標値からの変位は、料金に反映される。
【0029】
次に、契約期間(例えば当月)内にクライアントcからリクエストされ実行されたジョブ毎のみなしノード数、CPU時間を、それぞれ
【式4】
Figure 0003959516
とし、何らかの方法で見積もった今後のCPU消費を
【式5】
Figure 0003959516
とする。このとき、
【式6】
Figure 0003959516
を、クライアントcのための「目標みなしノード数」とし、この値はジョブが終了する度に更新される。
【0030】
ここで、誤差を加味した予測実行時間は、確率分布Xとみなせる。パラメータPに対して、
【式7】
Figure 0003959516
を、それぞれXのE値、XのL値と呼ぶ。例えば、P=0.1のとき、Xは90%の確率でL値よりも早く終了し、且つ、90%の確率でE値よりも長くかかる。
【0031】
更に、独立な正規分布に従うと仮定すれば、複数の分布の和(即ち、複数のジョブを順に実行した際にかかる時間の合計)を扱う際は、公式
【式8】
Figure 0003959516
を用いることができ、以降の手続中での計算を簡略化することができる。
【0032】
次に、図2に示すような計算サーバ36の群のように、大規模で能力の均一な並列計算機環境を想定し、各ジョブに割り当てるノード数は可変として実行時間を予測する。但し、各クライアントは、1ノードでシリアルに実行した場合の計算時間を予測する。ジョブを固定のノード数nfixedで実行する必要がある場合には、
【式9】
Figure 0003959516
とすることで対処可能である。
【0033】
次に、スケジューラ31にてなされるスケジューリングの手続きについて説明する。図4は、スケジューリングの手続き処理の流れを示したフローチャートである。まず、スケジューラ31は、所定のイベントが発生するまで待機する(ステップ101)。リクエストが到着した場合には(ステップ102)、リクエスト到着時処理を実行し(ステップ103)、ステップ107のキューの再評価処理に移行する。リクエスト到着のイベントが発生していない場合に、ジョブが終了したか否かを判断する(ステップ104)。ジョブ終了のイベントが発生した場合には、ジョブ終了時処理を実行し(ステップ105)、ステップ107のキューの再評価処理に移行する。ステップ104のジョブ終了のイベントが発生していない場合に、一定時間が経過したか否かを判断する(ステップ106)。一定時間が経過していない場合には、ステップ101のイベント発生まで待機する。一定時間が経過した場合には、キューの再評価処理を実行し(ステップ107)、ステップ108であるジョブ割り当て処理に移行する。このジョブ割り当て処理を実行すると(ステップ108)、ステップ101に戻り、次のイベント発生まで待機する。
【0034】
ここで、リクエスト到着時の処理について説明する。
図5は、図4のステップ103におけるリクエスト到着時処理を示すフローチャートである。スケジューラ31は、計算リクエストの到着を受けて(ステップ201)、リクエストを出したクライアント(アプリケーションサービスプロバイダ20)の予測傾向に基づいて、実行時間を予測(推定)する(ステップ202)。この予測(推定)した実行時間をキューへ追加する(ステップ203)。このリクエスト到着時において、リクエストされたジョブiがクライアントc(i)から到着した時刻をTi arrivalとする。クライアントから申告された予測実行時間tiを過去の履歴の誤差解析により修正し、E[Xi]=μiとした場合の予測実行時間の分布Xiが求められる。
【0035】
図6は、あるクライアントの予測傾向について示した図である。ここでは、横軸を予測時間、縦軸を実際の実行時間としており、この誤差を解析し、予測時間の分布を求めてスケジューリングに利用する。簡単のため、ここでは並列性は省いている。図6に示すように、クライアントであるアプリケーションサービスプロバイダ20から申告される予測時間に対し、図の太線矢印で示されるごとく、実行時間は所定のズレを生じている。そのために、本実施の形態では、リクエストの到着時に、クライアントの予測傾向として存在するバイアス(偏向傾向)を把握して修正する点に特徴がある。
【0036】
図6の例に示す予測傾向を持つクライアントは、過去の履歴から、実際よりも少なめに予測する傾向が見て取れ、また、誤差のバラツキ具合も定量化可能である。例えば、申告された計算時間80分から、期待値90分、標準偏差30分と推定されたとき、
90+30×0.4=102(分)
を予測実行時間としてスケジューリングする、といった運用により、誤差によるリスクを軽減することができる。誤差情報を更に精緻に利用することも可能である。
【0037】
また、解析系のアプリケーションでは、パラメータを少しずつ変えて複数回実行することが頻繁にある。全て30分ずつとして10件の連続したリクエストがあり、最初の2つのジョブが40分かかった場合、残りの8件も40分程度かかる可能性が高い。こうした傾向は、申告値のバイアスの時系列解析(この場合、+10,+10→?,?,…)を行うことで、予測を修正することが可能となる。
【0038】
次に、ジョブ終了時の処理について説明する。
図7は、図4のステップ105におけるジョブ終了時処理を示したフローチャートである。まず、スケジューラ31では、ジョブ終了のイベントがあった後に(ステップ301)、ジョブiの実際の実行時間に基づき、クライアントc(i)の履歴、誤差情報等の予測精度情報が更新される(ステップ302)。また、クライアントc(i)が他のジョブをリクエストしている場合には、そのジョブの予測情報も更新される(ステップ303)。また、クライアントc(i)の目標みなしノード数
【式10】
Figure 0003959516
を更新し(ステップ304)、これに基づき、キューの再評価が行われる。
【0039】
次に、キューの管理について説明する。
図8は、図4のステップ107におけるキューの再評価処理を示したフローチャートである。まず、スケジューラ31では、キュー内における各ジョブのni requiredが更新される(ステップ401)。計算機に割り当てられていないジョブは、現在時刻をTcurrentとして、
【式11】
Figure 0003959516
の大きい順にソートされ、ジョブが並び替えられる(ステップ402)。既存のバッチシステムでは到着順とすることが多いが、ここでは、即座に割り当てたとして“目標みなしノード数”を達成するのに必要なノード数、ni requiredが用いられる。この値は、時刻と共に変化することから、定期的に更新する必要がある。この再評価処理によって、ソート後におけるキューのk番目のジョブIDをq(k)として、次のジョブの割り当て処理が実行される。
【0040】
次に、ジョブの割り当てについて説明する。
図9は、図4のステップ108におけるジョブ割り当て処理を示したフローチャートである。このジョブ割り当て処理では、現在割り当て可能なノード数をNavail、現在実行中のジョブの中でk番目にL値が小さいものが占有しているノード数をNk avail、そのジョブIDをa(k)とする。まず、スケジューラ31は、現在割り当て可能なノード数、即ち、空きノード数Navailをチェックする(ステップ501)。次に、空きノードがあるか否かを判断し(ステップ502)、空きノードがない場合、即ち、Navail=0のときは、ジョブ割り当て処理は終了し、割当中のジョブが終了するまで待つ。
【0041】
空きノードがあった場合に、先頭ジョブの必要分があるか否かが判断される(ステップ503)。先頭ジョブの必要分がある場合、即ち、
【式12】
Figure 0003959516
のとき、ジョブq(1)を
【式13】
Figure 0003959516
に割り当て、
【式14】
Figure 0003959516
として必要数を割り当て(ステップ504)、ステップ501へ戻る。
【0042】
ここで、ジョブq(1)を即座にNavailノードで実行したときのL値をL0とする。また、ジョブa(1)が終了するまで待ち、Navail+N1 availノードで実行したときのL値をL1とする。更に、ジョブa(k)が終了するまで待ち、
【式15】
Figure 0003959516
で実行したときのL値をLkとする。
【0043】
ステップ503で、空きノードが先頭ジョブの必要分なく、足りない場合、即ち、
【式16】
Figure 0003959516
の場合に、L0>Lkとなるkが存在するか否かが判断される(ステップ505)。
【0044】
0>Lkとなるkが存在する場合には、ジョブa(k)の終了を待ってジョブq(k)を割り当てることが得策となる。そこで、ジョブkより早く終わる確率の高いジョブが存在するか否かが調べられ(ステップ506)、存在すれば、そのジョブを現状の空きノード数で割り当て(ステップ507)、処理が終了する。即ち、キューの先頭から調べていき、Navailノードで実行したときのL値がジョブa(k)のL値よりも小さいものがあれば、Navailノードで割り当てて処理が終了する。ステップ506で該当するジョブが存在しなければ、割り当て済みのジョブの何れかが終了するまで待つ。
【0045】
ステップ505で、全てのkに対してL0≦Lkのときには、先頭ジョブq(1)を現状の空きノード数(Navailノード)に割り当てて(ステップ508)、処理が終了する。
【0046】
図10(a),(b)は、上述したジョブの割り当て処理の一例を示した図である。図10(a)は割り当て処理を施す前の現状を示し、図10(b)は割り当て処理の例を示している。図10(a)に示すように、現状では4ノードが使用可能である。一方、1番目のキューのジョブq(1)および2番目のキューのジョブq(2)があり、1番目のジョブq(1)を割り当てる方法を考える。即ち、ここでは、キューの先頭にあるジョブq(1)は、目標みなしノード数が8で、約50分かかる(L値は60)と見込まれているが、現在の空きは4ノードしか存在していない。ここで、図10(a)では、現在実行中である複数のジョブの中から、ジョブが終わりそうなもの(L値の小さいもの)から順に考察する。現在実行中のジョブの中で1番目にL値が小さいジョブa(1)と、2番目にL値が小さいジョブa(2)の2つのジョブが示されており、それ以外のジョブは省略されている。このジョブa(1)が占有しているノード数であるN1 availは2ノードであり、ジョブa(2)が占有しているノード数であるN2 availは6ノードである。
【0047】
図10(a)では、ジョブa(1)およびa(2)のそれぞれにおいて、実線で示す平均値と、L値とが示されている。ここでは、1番目のキューのジョブq(1)を実行するに際して、今すぐに空きノードである4ノードを割り当てて実行するのか、ジョブa(1)を終了させて空きノードとして6(4+2)ノードを確保して実行するのか、ジョブa(2)が終了した後に確保される12(4+2+6)ノードを用いて実行するのか、の判断がなされる。
【0048】
ここで、1番目のキューのジョブq(1)を即座に4ノードで実行したときのL値は120、ジョブa(1)が終了した後に6ノードで実行したときのL値は110、ジョブa(2)が終了した後に12ノードで実行したときのL値は70であるとする。この場合に、ジョブa(2)の終了後に実行するL値が最小となることから、この段階までジョブq(1)を待機させる。このとき、即座に4ノードで実行したときのL値が、ジョブa(2)のL値30よりも小さくなるジョブが存在する場合には、前倒しの実行が行われるが、ここでは、そのようなジョブが存在せず、前倒しの実行がなされていないものとする。
【0049】
図10(b)に示すように、実際にジョブa(2)が終了して12ノードが可能になった時点で、キューの先頭ジョブq(1)は以前のままであるが、目標みなしノード数は、待機のために増加して、16になっているものとする。このとき、この例では、これ以上待機してもL値の改善が見込めないものとして、図10(b)に示すように、12ノードでこのジョブq(1)が割り当てられる。このように、本実施の形態によれば、正確な計算時間の予測に基づき、資源の利用効率を高めることが可能となる。
【0050】
次に、本実施の形態が適用されたシステムの実現例を説明する。ここでは、金融関連アプリケーションのベンダーPがASPサービスに移行し、図1に示すアプリケーションサービスプロバイダ20になった場合を説明する。最新の市場価格などの情報提供、オンライン取引といったトランザクション処理には自前のサーバ群を利用している。しかし、デリバティブ価格付けのためのモンテカルロシミュレーション、ポートフォリオ最適化といった、数分から数時間にわたって複数のCPUを占有する必要がある機能については、他のインタラクティブなサービスのレスポンスを下げる可能性がある。また、大規模並列化で実行速度を高めることが顧客満足度の向上につながることとなる。そのために、CPU資源プロバイダ30を利用することにする。ベンダーP(アプリケーションサービスプロバイダ20)は、アプリケーション実行に必要なプログラムコードをCPU資源プロバイダ30のシステムに登録し、並列実行可能な場合は、図3に示すような並列化性能もCPU資源プロバイダ30に知らせておく。
【0051】
ベンダーP(アプリケーションサービスプロバイダ20)の提供するアプリケーションサービスのユーザ10がモンテカルロ法の実行を指示すると、ベンダーP(アプリケーションサービスプロバイダ20)は、実行に必要なデータ、実行ノード数、及び問題規模から推定した実行時間をCPU資源プロバイダ30に送付する。CPU資源プロバイダ30は、このリクエストをキューに加え、リソースが空き次第、実行して、その結果をベンダーP(アプリケーションサービスプロバイダ20)に送付する。
【0052】
このとき、CPU資源プロバイダ30は、ベンダーPの他にも、例えば遺伝子解析アプリケーションベンダーQ、流体解析ベンダーRなど、複数のアプリケーションサービスプロバイダ20をクライアントとし、それぞれのアプリケーションの実行環境を保持して計算サービスを提供する。
【0053】
この例のCPU資源プロバイダ30のように、アプリケーション中の計算負荷の高い部分のみを担当するWebサービスをビジネスとして提供する際、合計CPU時間だけでなく、各クライアントのリクエストから計算終了までのターンアラウンドを加味したサービスレベルを保証することが好ましい。本実施の形態では、例えば、1時間待った後に4ノードで1時間実行した場合、2ノード占有に相当する場合に、この尺度をもとに、延べ1ノード相当の計算時間、平均4ノード、90%の確率で2ノード相当以上のパフォーマンス保証、といったサービスレベルを設定している。
【0054】
このようなサービスレベルの向上には、効率的なリソーススケジューリングが不可欠となるが、それには正確な実行時間予測が必要となる。
図11は、ノード数2でのジョブ割り当て例を示している。この2ノードの例では、ノード1のジョブ(Job)Aが終了した段階で、キュー(Queue)での優先順位の最も高いジョブCは2ノード必要とするため、ノード2が空くまで実行できない。そこで、従来では、破線で示すように、先にジョブDをノード1で実行することで、全体の効率を改善していた。しかしながら、これが成り立つのはジョブDが確実に予定時間内に終わる場合であり、ジョブBが終了してもジョブDが延々と続く場合には、ジョブCのクライアントのサービスレベルが下がるとともに、ノード2がアイドル状態となり、システムの効率も低下してしまう。また、前述のように、アルゴリズムの裏を取ろうとする意図的な誤申告は、サービス全体の公平さを損ない、信頼を失い得る。
【0055】
ここで、一般のリソーススケジューリングでは、資源利用の効率において、
Figure 0003959516
という関係が成り立つ。この、(a)予測計算時間に基づくオンラインアルゴリズムは、現在までの情報のみを元にして処理するアルゴリズムである。また、(c)正確な計算時間に基づくオフラインアルゴリズム(最適解)は、将来にわたる全ての情報を元に処理するアルゴリズムである。つまり、具体的なアルゴリズムの実装方法にかかわらず、実行時間予測の精度を上げ、より将来の情報を持つことが資源利用効率の改善につながることが理解できる。
【0056】
そのために、本実施の形態におけるCPU資源プロバイダ30は、クライアントであるアプリケーションサービスプロバイダ20に対して、リクエスト時に予測計算時間(または問題規模の指標)の申告(送信)を義務付けるように構成し、クライアントのプロファイルを管理し、申告時間、実際の待ち時間と実行時間等の履歴を保持している。また、このプロファイルをもとに、計算時間予測の正確性、申告の傾向(バイアス)を解析し、リソーススケジューリングに利用し、スケジューリング効率の向上に役立つ行為(クライアントによる正確な予測、事前予約)に対してインセンティブを設定している。更に、過去の履歴に基づき、割当優先順位、並列度を調整することで、契約期間のサービスレベルを維持している。尚、いかにスケジューリング性能が向上しても、負荷が集中した際には、全てのクライアントのサービスレベルを維持することはできない。そこで、処理が遅れた場合には、例えば、次回以降に優先的に早く割り当てる調整や、多くのノードを割り当てて処理を高速化する調整等によって、サービスレベルと顧客満足度の維持を図っている。
【0057】
これらの構成よって、本実施の形態では、パフォーマンスを保証した公平なサービスを実現することが可能となり、正確な計算時間の予測に基づく資源の利用効率を高めると共に、インセンティブを通じてクライアントを正確かつ正直な予測をするように誘導することが可能となる。また、ジョブがインタラクティブでない分、ネットワークへの要求が低いことから、地域依存性が少なく、グローバルな顧客を対象にした時差による負荷分散が可能となり、スケールメリットを増すことができる。更には、大型計算機の新たなユーザ層を獲得できることから、市場を広げることができる。
【0058】
また更に、Webサーバは多くのトランザクションを処理するための並列化がパフォーマンス向上の主眼であり、並列計算環境、高速スイッチなどを要求されるCPUサーバとはハードウェア、ソフトウェアとも構成が大きく異なる。プロバイダ側では、これらを分離することで、それぞれに適した機器構成に特化できる。また、アプリケーションサービスプロバイダ20にとっても、サービスビジネス化による一般的な効果として、安定したキャッシュフローを確保することが可能となる。更には、バージョンアップ等のユーザサポートの負荷を削減することも可能である。
【0059】
【発明の効果】
このように、本発明によれば、計算負荷の高い処理サービスを提供するシステムにおいて、パフォーマンスを保証した公平なサービスを実現することが可能となる。
【図面の簡単な説明】
【図1】 本実施の形態が適用されるネットワークシステムの全体構成を説明するための図である。
【図2】 CPU資源プロバイダの構成を示した図である。
【図3】 アプリケーションにおける並列化性能の例を示した図である。
【図4】 スケジューリングの手続き処理の流れを示したフローチャートである。
【図5】 図4のステップ103におけるリクエスト到着時処理を示すフローチャートである。
【図6】 あるクライアントの予測傾向について示した図である。
【図7】 図4のステップ105におけるジョブ終了時処理を示したフローチャートである。
【図8】 図4のステップ107におけるキューの再評価処理を示したフローチャートである。
【図9】 図4のステップ108におけるジョブ割り当て処理を示したフローチャートである。
【図10】 (a),(b)は、ジョブの割り当て処理の一例を示した図である。
【図11】 ノード数2でのジョブ割り当て例を示した図である。
【図12】 アプリケーションサービスプロバイダの構成を示した図である。
【符号の説明】
9…インターネット、10…ユーザ、20…アプリケーションサービスプロバイダ(ASP)、21…計算時間予測部、22…ジョブリクエスト送信部、23…予測計算時間送信部、24…結果受信部、25…格納部、30…CPU資源プロバイダ、31…スケジューラ、32…記憶装置、33…通信部、34…アカウントマネージャ、35…バス、36…計算サーバ

Claims (16)

  1. ネットワークに接続されアプリケーションを実行するクライアントと、当該ネットワークに接続され当該アプリケーションの実行環境を保持した状態で当該アプリケーション中の所定の計算部分に特化して処理サービスを提供するCPU資源プロバイダとを含み、
    前記クライアントは、前記CPU資源プロバイダに対するジョブのリクエストに際して当該ジョブの予測計算時間に関する情報を前記ネットワークを介して当該CPU資源プロバイダに送信し、
    前記CPU資源プロバイダは、前記クライアントから送信された前記予測計算時間に基づき、当該予測計算時間を修正し、修正された予測計算時間をリソーススケジューリングに利用して前記ジョブの割り当てを行うことを特徴とするネットワークシステム。
  2. 前記クライアントは、ネットワークに接続されるユーザ端末とのアプリケーション使用契約に伴い当該アプリケーションを提供するアプリケーションサービスプロバイダであることを特徴とする請求項1記載のネットワークシステム。
  3. 前記CPU資源プロバイダは、過去になされた前記クライアントの予測計算時間に対する実際のジョブ実行時間から得られた誤差情報を含むプロファイルを保持し、前記予測計算時間に対して前記プロファイルに基づく修正を施して前記ジョブの割り当てを行うことを特徴とする請求項1記載のネットワークシステム。
  4. 前記CPU資源プロバイダは、前記クライアントからリクエストのあった前記ジョブのスケジュールを当該クライアントに通知することを特徴とする請求項1記載のネットワークシステム。
  5. ネットワークに接続されたクライアントにて実行されるアプリケーションの実行環境を保持した状態で当該アプリケーション中の負荷の高い計算部分に特化して処理サービスを提供するCPU資源プロバイダであって、
    前記クライアントのプロファイルを格納するプロファイル格納手段と、
    前記クライアントからのジョブのリクエストに伴い、当該ジョブの予測計算時間を当該クライアントから受信する予測計算時間受信手段と、
    前記プロファイル格納手段に格納された前記プロファイルをもとに、前記予測計算時間受信手段により受信された前記予測計算時間を修正する修正手段と
    を備えることを特徴とするCPU資源プロバイダ。
  6. 前記修正手段により修正された前記予測計算時間に基づいてジョブの割り当てを行うジョブ割当手段を更に備えたことを特徴とする請求項5記載のCPU資源プロバイダ。
  7. 前記プロファイル格納手段は、前記プロファイルとして前記クライアントにおける計算時間予測の正確性を示す予測精度情報を格納し、前記ジョブにおける実際のジョブ実行時間に基づいて当該予測精度情報を更新することを特徴とする請求項5記載のCPU資源プロバイダ。
  8. クライアントにて実行されるアプリケーションの実行環境を保持した状態で当該アプリケーション中の所定の計算部分に特化して処理サービスを提供するCPU資源プロバイダであって、
    前記クライアントから送信された予測計算時間に基づき、当該予測計算時間を修正して、当該クライアントからリクエストがあったジョブの実行時間を予測する実行時間予測手段と、
    現在割り当て可能なノード数を把握する第1のノード数把握手段と、
    予測された前記実行時間を用いて、前記第1のノード数把握手段により把握された現在割り当て可能なノード数にて前記ジョブを即座に実行したときの第1の終了予測時間を把握する第1終了予測時間把握手段と、
    現在実行中である所定の実行中ジョブの終了を待って前記ジョブを実行したときに割り当て可能なノード数を把握する第2のノード数把握手段と、
    予測された前記実行時間を用いて、前記第2のノード数把握手段により把握された前記ノード数にて前記ジョブを実行したときの第2の終了予測時間を把握する第2終了予測時間把握手段と、
    把握された前記第1の終了予測時間および前記第2の終了予測時間に基づき、即座に実行する際または所定の実行中のジョブの終了を待った後に所定のノードを確保して前記ジョブを割り当てる割当手段と
    を備えたことを特徴とするCPU資源プロバイダ。
  9. 前記実行時間予測手段は、前記クライアントからの前記リクエストの到着があったときに、当該クライアントの予測傾向として存在する偏向傾向を過去の履歴から把握して前記予測計算時間を修正することを特徴とする請求項8記載のCPU資源プロバイダ。
  10. 前記第1終了予測時間把握手段と前記第2終了予測時間把握手段は、所定の確率でジョブが終了するまでの時間の共通の尺度を用いて前記第1の終了予測時間および前記第2の終了予測時間を把握し、
    前記割当手段は、前記時間の共通の尺度を比較して現在実行中のジョブの終了を待つか否かを判断することを特徴とする請求項8記載のCPU資源プロバイダ。
  11. アプリケーションを実行するクライアントからネットワークを介してなされるリクエストに基づいて当該アプリケーションの実行環境が保持された状態で当該アプリケーション中の計算負荷の高い部分に特化して処理サービスを提供する処理サービスの提供方法であって、
    リクエストのあったジョブに対して、前記クライアントから前記ネットワークを介して当該ジョブの予測計算時間を受信し、
    前記クライアントから前記ネットワークを介して受信した前記予測計算時間に基づき、前記処理サービスを提供する側で当該予測計算時間を修正してジョブの実行時間を推定し、
    前記処理サービスを提供する側にて、推定された前記実行時間に基づいて前記ジョブに対するリソースの割り当てを行うことを特徴とする処理サービスの提供方法。
  12. 前記実行時間は、前記ジョブをリクエストしたクライアントの予測計算時間に対する予測傾向を示すクライアントプロファイルを参照して推定されることを特徴とする請求項11記載の処理サービスの提供方法。
  13. アプリケーションを実行するクライアントからのネットワークを介してなされるリクエストに基づいて当該アプリケーションの実行環境が保持された状態で当該アプリケーション中の計算負荷の高い部分に特化して処理サービスを提供する処理サービスの提供方法であって、
    リクエストのあったジョブに対して、前記クライアントから前記ネットワークを介して受信した予測計算時間に基づき、前記処理サービスを提供する側で当該予測計算時間を修正して当該ジョブの実行時間を推定し、
    推定された前記実行時間を用いて、現在の空きノードに対して前記ジョブを割り当てた際のジョブ終了予測と、現在実行中である所定のジョブが終了した後の空きノードに対して当該ジョブを割り当てた際のジョブ終了予測とを行い、これらのジョブ終了予測に基づき、現在の空きノードに対して当該ジョブを割り当てて実行するかまたは現在実行中の所定のジョブが終了した後に空きノードに対して当該ジョブを割り当てて実行するかを選択して、当該ジョブに対するリソースの割り当てを行うことを特徴とする処理サービスの提供方法。
  14. 前記ジョブにおける前記実行時間は、前記クライアントからのリクエストと同時に受信される予測計算時間に基づいて推定されることを特徴とする請求項13記載の処理サービスの提供方法。
  15. ネットワークに接続されたクライアントにて実行されるアプリケーションの実行環境を保持した状態で当該アプリケーション中の所定の計算部分に特化したサービスを提供するCPU資源プロバイダに、
    前記クライアントからリクエストのあったジョブに対して、当該ジョブの予測計算時間を前記クライアントから前記ネットワークを介して受信する機能と、
    前記クライアントから前記ネットワークを介して受信した前記予測計算時間に基づいてジョブの実行時間を修正する機能と、
    修正された前記実行時間に基づいて前記ジョブに対するリソースの割り当てを行う機能と
    を実現させるためのプログラム。
  16. ネットワークに接続されたクライアントにて実行されるアプリケーションの実行環境を保持した状態で当該アプリケーション中の負荷の高い処理に特化したサービスを提供するCPU資源プロバイダに、
    クライアントからリクエストのあったジョブに対して、当該クライアントから送信された予測計算時間に基づき、当該予測計算時間を修正して当該ジョブの実行時間を推定する機能と、
    推定された前記実行時間を用いて、CPUにおける現在の空きノードに対して前記ジョブを割り当てた際のジョブ終了予測と、現在実行中である所定のジョブが終了した後の当該CPUにおける空きノードに対して当該ジョブを割り当てた際のジョブ終了予測とを行い、これらのジョブ終了予測に基づき、現在の空きノードに対して当該ジョブを割り当てて実行するかまたは現在実行中の所定のジョブが終了した後に空きノードに対して当該ジョブを割り当てて実行するかを選択して、当該ジョブに対するリソースの割り当てを行う機能と
    を実現させるためのプログラム。
JP2001237885A 2001-08-06 2001-08-06 ネットワークシステム、cpu資源プロバイダ、クライアント装置、処理サービスの提供方法、およびプログラム Expired - Fee Related JP3959516B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2001237885A JP3959516B2 (ja) 2001-08-06 2001-08-06 ネットワークシステム、cpu資源プロバイダ、クライアント装置、処理サービスの提供方法、およびプログラム
US10/212,370 US7454754B2 (en) 2001-08-06 2002-08-02 System for providing resources based on licensing contract with user by correcting the error between estimated execution time from the history of job execution
US12/210,858 US8245237B2 (en) 2001-08-06 2008-09-15 Providing resources to a job comparing estimated execution time on currently available nodes and estimated execution time on nodes available after completion of a currently executing job
US13/537,481 US8689229B2 (en) 2001-08-06 2012-06-29 Providing computational resources to applications based on accuracy of estimated execution times provided with the request for application execution

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001237885A JP3959516B2 (ja) 2001-08-06 2001-08-06 ネットワークシステム、cpu資源プロバイダ、クライアント装置、処理サービスの提供方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2003058518A JP2003058518A (ja) 2003-02-28
JP3959516B2 true JP3959516B2 (ja) 2007-08-15

Family

ID=19068894

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001237885A Expired - Fee Related JP3959516B2 (ja) 2001-08-06 2001-08-06 ネットワークシステム、cpu資源プロバイダ、クライアント装置、処理サービスの提供方法、およびプログラム

Country Status (2)

Country Link
US (3) US7454754B2 (ja)
JP (1) JP3959516B2 (ja)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
EP1725947A4 (en) 2004-03-13 2008-08-06 Cluster Resources Inc SYSTEM AND METHOD FOR ADVANCED RESERVATIONS IN A CALCULATION ENVIRONMENT
US9778959B2 (en) * 2004-03-13 2017-10-03 Iii Holdings 12, Llc System and method of performing a pre-reservation analysis to yield an improved fit of workload with the compute environment
EP2341432A1 (en) 2004-03-13 2011-07-06 Adaptive Computing Enterprises, Inc. System and method of co-allocating a reservation spanning different compute resources types
US9268607B2 (en) 2004-03-13 2016-02-23 Adaptive Computing Enterprises, Inc. System and method of providing a self-optimizing reservation in space of compute resources
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
JP4756675B2 (ja) 2004-07-08 2011-08-24 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ資源のキャパシティを予測するためのシステム、方法およびプログラム
US8365181B2 (en) * 2004-07-12 2013-01-29 Hewlett-Packard Development Company, L.P. Method and system for guiding scheduling decisions in clusters of computers using dynamic job profiling
DE102004035097A1 (de) * 2004-07-20 2006-02-09 Endress + Hauser Gmbh + Co. Kg Elektronisches Gerät und Verfahren zur Durchführung mehrerer Prozesse mit dem elektronischen Gerät
US20070083429A1 (en) * 2005-10-11 2007-04-12 Reiner Kraft Enabling contextually placed ads in print media
US20070074102A1 (en) * 2005-09-29 2007-03-29 Reiner Kraft Automatically determining topical regions in a document
US8819051B2 (en) * 2005-09-29 2014-08-26 Yahoo! Inc. Tagging offline content with context-sensitive search-enabling keywords
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
CA2586763C (en) 2004-11-08 2013-12-17 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
JP2006178658A (ja) * 2004-12-21 2006-07-06 Fujitsu Ltd 情報処理方法及びプログラム
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
EP1872249B1 (en) 2005-04-07 2016-12-07 Adaptive Computing Enterprises, Inc. On-demand access to compute resources
US8156500B2 (en) * 2005-07-01 2012-04-10 Microsoft Corporation Real-time self tuning of planned actions in a distributed environment
JP4783187B2 (ja) * 2006-03-27 2011-09-28 本田技研工業株式会社 Cadデータの管理システムおよび管理方法
JP5135728B2 (ja) * 2006-07-18 2013-02-06 富士通株式会社 情報処理方法、情報処理装置およびプログラム
JP4931220B2 (ja) * 2007-03-12 2012-05-16 インターナショナル・ビジネス・マシーンズ・コーポレーション 検出装置、システム、プログラムおよび検出方法
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US7774451B1 (en) * 2008-06-30 2010-08-10 Symantec Corporation Method and apparatus for classifying reputation of files on a computer network
TW201112006A (en) * 2009-05-29 2011-04-01 Ibm Computer system, method and program product
JP5643307B2 (ja) * 2009-08-06 2014-12-17 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ライセンス使用を最適化する方法及びシステム
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
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
US9128771B1 (en) * 2009-12-08 2015-09-08 Broadcom Corporation System, method, and computer program product to distribute workload
US9058210B2 (en) * 2010-03-23 2015-06-16 Ebay Inc. Weighted request rate limiting for resources
WO2011139829A2 (en) * 2010-04-28 2011-11-10 Stc. Unm System and methods for performing medical physics calculations
JP5510659B2 (ja) * 2010-07-28 2014-06-04 コニカミノルタ株式会社 画像処理装置
US8438570B2 (en) 2010-07-31 2013-05-07 International Business Machines Corporation Resource allocator with knowledge-based optimization
US9779168B2 (en) 2010-10-04 2017-10-03 Excalibur Ip, Llc Contextual quick-picks
US8621477B2 (en) 2010-10-29 2013-12-31 International Business Machines Corporation Real-time monitoring of job resource consumption and prediction of resource deficiency based on future availability
JP5641064B2 (ja) * 2011-02-08 2014-12-17 富士通株式会社 実行制御プログラム、実行制御装置および実行制御方法
US20120283863A1 (en) * 2011-05-02 2012-11-08 Interface Technologies Resource scheduling and adaptive control software for cutting room operations
JP5861523B2 (ja) * 2012-03-23 2016-02-16 富士ゼロックス株式会社 サーバ、端末、プログラム
US9223621B1 (en) 2013-01-25 2015-12-29 Amazon Technologies, Inc. Organizing content using pipelines
US8813245B1 (en) * 2013-01-25 2014-08-19 Amazon Technologies, Inc. Securing content using pipelines
JP6163931B2 (ja) * 2013-07-18 2017-07-19 富士通株式会社 情報取得プログラム、情報取得方法および情報取得装置
JP6264803B2 (ja) * 2013-09-24 2018-01-24 富士通株式会社 ジョブ抽出プログラム、ジョブ抽出装置、及びジョブ抽出方法
JP6237170B2 (ja) * 2013-12-03 2017-11-29 日本電気株式会社 割当判定装置、制御方法、及びプログラム
EP2894564A1 (en) * 2014-01-10 2015-07-15 Fujitsu Limited Job scheduling based on historical job data
EP2977898B1 (en) * 2014-07-11 2018-08-29 Tata Consultancy Services Limited Task allocation in a computing environment
US9766960B2 (en) * 2015-01-30 2017-09-19 Salesforce.Com, Inc. Workload-driven techniques for providing biased service level guarantees
US9442770B1 (en) * 2015-06-04 2016-09-13 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Workload execution timing device in a virtual machine environment
US9733927B2 (en) * 2015-11-11 2017-08-15 International Business Machines Corporation Detection of software or hardware incompatibilities in software packages
US20170289000A1 (en) * 2016-03-31 2017-10-05 Qualcomm Incorporated Systems and methods for controlling processing performance
US10423500B2 (en) * 2016-06-01 2019-09-24 Seagate Technology Llc Technologies for limiting performance variation in a storage device
US10534655B1 (en) 2016-06-21 2020-01-14 Amazon Technologies, Inc. Job scheduling based on job execution history
US10083029B2 (en) * 2016-11-09 2018-09-25 Red Hat, Inc. Detect application defects by correlating contracts in application dependencies
US10592280B2 (en) 2016-11-23 2020-03-17 Amazon Technologies, Inc. Resource allocation and scheduling for batch jobs
JP6792159B2 (ja) 2017-01-25 2020-11-25 富士通株式会社 並列処理パラメータ決定プログラム、並列処理パラメータ決定方法、および並列処理管理装置
JP6885193B2 (ja) * 2017-05-12 2021-06-09 富士通株式会社 並列処理装置、ジョブ管理方法、およびジョブ管理プログラム
JP6959506B2 (ja) * 2017-06-12 2021-11-02 富士通株式会社 並列処理システムのシステム管理装置、並列処理システムおよび電力制御方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03171249A (ja) 1989-11-30 1991-07-24 Nec Corp プロセッサ数制限方式
JPH04213152A (ja) * 1990-11-14 1992-08-04 Ricoh Co Ltd プログラム起動方式
JPH04326434A (ja) * 1991-04-26 1992-11-16 Hitachi Ltd ジョブ実行予測精度向上制御方法
JPH0659906A (ja) * 1992-08-10 1994-03-04 Hitachi Ltd 並列計算機の実行制御方法
JPH07129520A (ja) 1993-11-08 1995-05-19 Hitachi Ltd 自律分散協調処理方式
JPH07141305A (ja) * 1993-11-16 1995-06-02 Hitachi Ltd 並列計算機の実行制御方法
JP3541212B2 (ja) * 1993-12-28 2004-07-07 富士通株式会社 プロセッサ割当て装置
JP3660376B2 (ja) 1994-08-08 2005-06-15 株式会社日立製作所 分散処理システムおよび分散処理システムにおける負荷分散方法
US5774668A (en) * 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
US6003061A (en) * 1995-12-07 1999-12-14 Microsoft Corporation Method and system for scheduling the use of a computer system resource using a resource planner and a resource provider
JPH09198354A (ja) 1996-01-22 1997-07-31 Fuji Xerox Co Ltd 分散処理システム
JPH09282288A (ja) 1996-04-09 1997-10-31 Fujitsu Ltd 複数計算機運用システム
JPH09293057A (ja) * 1996-04-26 1997-11-11 Nec Corp 階層構造型マルチプロセッサシステムにおけるタスク割り当て方法
US6112243A (en) * 1996-12-30 2000-08-29 Intel Corporation Method and apparatus for allocating tasks to remote networked processors
JP3792879B2 (ja) 1998-03-09 2006-07-05 富士通株式会社 並列実行システム
US6986134B1 (en) * 1999-03-16 2006-01-10 Sun Microsystems, Inc. Lightweight global distribution mechanism
US6539445B1 (en) * 2000-01-10 2003-03-25 Imagex.Com, Inc. Method for load balancing in an application server system
US6938256B2 (en) * 2000-01-18 2005-08-30 Galactic Computing Corporation System for balance distribution of requests across multiple servers using dynamic metrics
CA2306928C (en) * 2000-04-28 2004-05-25 Ibm Canada Limited-Ibm Canada Limitee Selectivity estimation for processing sql queries containing having clauses
US6816882B1 (en) * 2000-05-31 2004-11-09 International Business Machines Corporation System and method for automatically negotiating license agreements and installing arbitrary user-specified applications on application service providers
US20020019844A1 (en) * 2000-07-06 2002-02-14 Kurowski Scott J. Method and system for network-distributed computing
US7003487B1 (en) * 2000-08-10 2006-02-21 Skirpa Alexander R Automated management system
US6918117B2 (en) * 2001-02-08 2005-07-12 International Business Machines Corporation Apparatus and method for dynamic load balancing of multiple cryptographic devices
US7249176B1 (en) * 2001-04-30 2007-07-24 Sun Microsystems, Inc. Managing user access of distributed resources on application servers
US7320131B1 (en) * 2001-06-06 2008-01-15 Cisco Technology, Inc. Methods and apparatus for selecting a server to process a request
US7065764B1 (en) * 2001-07-20 2006-06-20 Netrendered, Inc. Dynamically allocated cluster system
US6912533B1 (en) * 2001-07-31 2005-06-28 Oracle International Corporation Data mining agents for efficient hardware utilization

Also Published As

Publication number Publication date
US20070220520A1 (en) 2007-09-20
US8245237B2 (en) 2012-08-14
US7454754B2 (en) 2008-11-18
JP2003058518A (ja) 2003-02-28
US20090077559A1 (en) 2009-03-19
US8689229B2 (en) 2014-04-01
US20120266178A1 (en) 2012-10-18

Similar Documents

Publication Publication Date Title
JP3959516B2 (ja) ネットワークシステム、cpu資源プロバイダ、クライアント装置、処理サービスの提供方法、およびプログラム
Liu et al. Online multi-workflow scheduling under uncertain task execution time in IaaS clouds
US7406689B2 (en) Jobstream planner considering network contention & resource availability
Salot A survey of various scheduling algorithm in cloud computing environment
Gomoluch et al. Market-based Resource Allocation for Grid Computing: A Model and Simulation.
US9755988B2 (en) Method and system for arbitraging computer resources in a cloud computing environment
US10373081B2 (en) On-demand utility services utilizing yield management
Voorsluys et al. Provisioning spot market cloud resources to create cost-effective virtual clusters
US20110154353A1 (en) Demand-Driven Workload Scheduling Optimization on Shared Computing Resources
US20050198636A1 (en) Dynamic optimization of batch processing
Chen et al. Adaptive multiple-workflow scheduling with task rearrangement
US20090077235A1 (en) Mechanism for profiling and estimating the runtime needed to execute a job
CN105487930A (zh) 一种基于Hadoop的任务优化调度方法
EP2755133A1 (en) Application execution controller and application execution method
JP2003256222A (ja) 分散処理システム、ジョブ分散処理方法およびプログラム
JP2005293048A (ja) 資源計画作成プログラム
Singh et al. A comparative study of various scheduling algorithms in cloud computing
Zheng et al. Dynamic load balancing and pricing in grid computing with communication delay
Momm et al. A combined workload planning approach for multi-tenant business applications
Varghese et al. Entropy Based Monotonic Task Scheduling and Dynamic Resource Mapping in Federated Cloud Environment.
Muthuvelu et al. An adaptive and parameterized job grouping algorithm for scheduling grid jobs
El-Ghazali et al. List scheduling heuristics for virtual machine mapping in cloud systems
Chouhan et al. A MLFQ Scheduling technique using M/M/c queues for grid computing
Althoubi et al. Response-Time Tail Mitigation in Cloud Systems
Chhabra et al. Qualitative Parametric Comparison of Load Balancing Algorithms in Distributed Computing Environment

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050705

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060404

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060629

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061226

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070228

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070405

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20070426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070427

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110525

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110525

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120525

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120525

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130525

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees