JP2006259812A - 動的キュー負荷分散方法、システム及びプログラム - Google Patents
動的キュー負荷分散方法、システム及びプログラム Download PDFInfo
- Publication number
- JP2006259812A JP2006259812A JP2005072505A JP2005072505A JP2006259812A JP 2006259812 A JP2006259812 A JP 2006259812A JP 2005072505 A JP2005072505 A JP 2005072505A JP 2005072505 A JP2005072505 A JP 2005072505A JP 2006259812 A JP2006259812 A JP 2006259812A
- Authority
- JP
- Japan
- Prior art keywords
- queue
- load
- load level
- management table
- request
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
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 And Data Communications (AREA)
Abstract
【課題】 処理要求の応答時間の標準偏差を小さくすることで、全ての処理要求の応答が所定時間内に返る様にすることが可能な技術を提供する。
【解決手段】 複数の計算機のキューに処理要求を振り分けて負荷分散を動的に行う動的キュー負荷分散方法であって、計算機の負荷のレベルを示す負荷レベルを取得するステップと、各キューにおけるキューの長さ及び要求停滞数の情報を含むキュー管理テーブルと、各負荷レベルにおけるキューの長さの情報を含むキュー調整テーブルとを参照して、前記キュー管理テーブルのキューの長さをキュー調整テーブルの前記負荷レベルに対応するキューの長さへ記憶装置により変更するステップと、前記キュー管理テーブル中のキューの長さ及び要求停滞数からキューの使用率を算出するステップと、前記算出したキューの使用率の情報を通信装置により各計算機間で交換するステップと、前記交換したキューの使用率に応じて処理要求を振り分けるステップとを有するものである。
【選択図】図3
【解決手段】 複数の計算機のキューに処理要求を振り分けて負荷分散を動的に行う動的キュー負荷分散方法であって、計算機の負荷のレベルを示す負荷レベルを取得するステップと、各キューにおけるキューの長さ及び要求停滞数の情報を含むキュー管理テーブルと、各負荷レベルにおけるキューの長さの情報を含むキュー調整テーブルとを参照して、前記キュー管理テーブルのキューの長さをキュー調整テーブルの前記負荷レベルに対応するキューの長さへ記憶装置により変更するステップと、前記キュー管理テーブル中のキューの長さ及び要求停滞数からキューの使用率を算出するステップと、前記算出したキューの使用率の情報を通信装置により各計算機間で交換するステップと、前記交換したキューの使用率に応じて処理要求を振り分けるステップとを有するものである。
【選択図】図3
Description
本発明は複数の計算機のキューに処理要求を振り分けて負荷分散を動的に行う動的キュー負荷分散技術に関し、特に複数のサーバで同じサービスを提供してクライアント要求を各サーバに負荷分散する動的キュー負荷分散技術に適用して有効な技術に関するものである。
従来技術として、特許文献1や特許文献2の様にクライアントとサーバの間にキューを用いる負荷分散方法がある。
特許文献1に記載の発明は、クライアントの要求をロードバランシング機構を通じて負荷の最も低いキューに割り当て、そのキューが他のキューに要求を複製して負荷分散する方式である。この方式は、クライアント要求を各キューに対して負荷分散することは可能であるが、サーバの負荷分散までは考慮されていない。
特許文献2に記載の発明は、処理要求のキューイングとスケジュールを行う要求スケジュール用計算機(キュー)と、要求の処理を行う要求処理用計算機(サーバ)とを分離して負荷分散する方式である。この方式は、ある処理用計算機で、ある処理要求に時間がかかってしまったときに要求スケジュール計算機から他の要求処理用計算機に要求を割り当てることで他の空いている要求処理用計算機に負荷分散することは可能であるが、要求の応答時間がどの要求スケジュール用計算機、どの要求処理用計算機に割り当てられても一定となる様にすることまでは考慮されていない。
これらの技術は、いずれかのサーバに問題が発生しても他のサーバでクライアント要求を処理できる様にし、クライアント要求の平均応答時間を短縮することを目的としているが、クライアント要求の応答時間の標準偏差を小さくすることまでは考慮されていない。
以上の様な負荷分散方法は、耐障害性を向上させ、クライアントの要求がシステム全体として正常に処理される様になり、クライアント要求の応答時間の平均は、システム全体として最適化され速くなっているが、クライアント要求の応答時間の標準偏差までは考慮されていない。このため、振られたサーバによって、クライアント要求の応答時間が平均応答時間よりずっと遅くなるという現象が発生することがあり、応答の返らない要求待ちで他の処理が遅れたり、タイムアウトエラーが発生するといった現象が発生する。また、後に発生したクライアント要求の応答が先に発生したクライアント要求の応答より速く応答が返るという現象も発生する。
本発明の目的は上記問題を解決し、処理要求の応答時間の標準偏差を小さくすることで、全ての処理要求の応答が所定時間内に返る様にすることが可能な技術を提供することにある。
本発明は、複数の計算機のキューに処理要求を振り分けて負荷分散を動的に行う動的キュー負荷分散システムであって、計算機の負荷に応じてキューの長さ(キューに停滞可能な処理要求の数)を動的に変更するものである。
本発明では、キューを使用した負荷分散システムにおいて、クライアント要求を、(キュー内の要求停滞数)÷(キューの長さ)で計算したキューの使用率の最も低いキューに振り分け、キューの長さをサーバの負荷に応じて動的に変更することで、キューの中で停滞している時間が、同じ業務のサーバに対応する各キューでほぼ同じ時間となる様にすること、またサーバで要求を同時に処理する数、つまり同時実行数を変更し、サーバで処理されている時間が、同じ業務を行う各サーバでほぼ同じ時間となる様にすることで、クライアント要求の応答時間の標準偏差を小さくすることを可能にする。
本発明によれば、処理要求の応答時間の標準偏差を小さくすることで、全ての処理要求の応答が所定時間内に返る様にすることが可能である。
以下に複数の計算機のキューに処理要求を振り分けて負荷分散を動的に行う一実施形態の動的キュー負荷分散システムについて説明する。
図1は本実施形態の負荷分散システムの概略構成を示す図である。図1に示す様に本実施形態の計算機は、負荷情報制御部4と、キュー管理部5と、キュー制御部6とを有している。
負荷情報制御部4は、キュー管理テーブル8により算出したキューの使用率の情報をネットワークインタフェース16により各計算機間で交換する処理部である。キュー管理部5は、前記交換したキューの使用率に応じて処理要求を振り分ける処理部である。
キュー制御部6は、計算機の負荷のレベルを示す負荷レベルを取得し、キュー管理テーブル8のキューの長さをキュー調整テーブル7の前記負荷レベルに対応するキューの長さへ主記憶装置3により変更し、キュー管理テーブル8中のキューの長さ及び要求停滞数からキューの使用率を算出する処理部である。
計算機を負荷情報制御部4、キュー管理部5及びキュー制御部6として機能させる為のプログラムは、CD−ROM等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はCD−ROM以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
本実施形態の負荷分散システムは、ネットワーク17で接続された複数の計算機と複数のクライアント端末で実現されている。計算機A1は、主記憶装置3、CPU12、ディスプレイ13、キーボード14、2次記憶装置15、ネットワークインタフェース16等がバス11で接続された形で構成されており、主記憶装置3には、負荷情報制御部4、キュー管理部5、キュー制御部6、キュー調整テーブル7、キュー管理テーブル8、キュー9、サーバプログラム10等がある。主記憶装置3のキュー9やサーバプログラム10は複数配置しても良い。また、クライアント端末18にはクライアントプログラム19がある。システムには複数の計算機(計算機A1、計算機B2他、またはその様な処理を実施するプログラムやオブジェクトでも良い)が存在し、お互いの負荷状態を監視しながら、負荷分散を行っている。
図2は本実施形態の計算機2台による負荷分散状態の一例を示す図である。図2を用いて負荷分散の実施形態を以下に説明する。
各計算機の負荷情報制御部4は、所定間隔でキューの使用率の情報を交換している。図2の状態では、計算機A1、計算機B2のキューの使用率はそれぞれ3/6=0.5、4/6=0.67である。このときクライアント端末18上のクライアントプログラム19が、クライアント要求を計算機A1または計算機B2に送信する。ここでは、計算機B2に送信したとする。
次に計算機B2のキュー管理部5が負荷情報制御部4から各キューの使用率を取得し、クライアント要求をキューの使用率の低い計算機A1のキュー9に振り分ける。そして計算機Aのキュー9は、クライアント要求を順に計算機A1のサーバプログラム10へ振り分け、サーバプログラム10での処理22が終了したら、ネットワーク17を介してクライアントプログラム19へ応答を返す。
図3は本実施形態のキューの長さ37と同時実行数38の変更例を示す図である。図3では、図2で示した状態の後、計算機A1のサーバ負荷レベル36が高くなり、キューの長さ37と同時実行数38を変更した状態を表している。
サーバ負荷レベル36とは、サーバプログラム10の応答時間、サーバプログラム10のCPU使用率、計算機A1全体のCPU使用率等に対して設定しているレベルである。詳細は図7で説明する。
図2の状態において計算機A1の負荷が上がった場合、図3に示す様に計算機A1のキュー9の長さを変更することで、計算機A1のキューの使用率が0.5から0.75に上がり、計算機B2のキューの使用率0.67よりも高くなる。この状態でクライアント要求が来ると、そのクライアント要求は計算機B2のキュー9に振り分けられる様になる。これによって各計算機のキュー9の中でクライアント要求が停滞している時間の標準偏差が小さくなる。また、サーバプログラム10の処理22の同時実行数もキューの長さと同時に減少させる(処理22の1つを処理24の様に停止させる)ことで、サーバプログラム10の負荷が小さくなり要求1件あたりの処理時間が短縮されることから、サーバプログラム10における応答時間の標準偏差も小さくなる。
図4は本実施形態の負荷に応じて動的にキューの長さと同時実行数を変更する処理の処理手順を示すフローチャートである。図4のフローチャートは、キュー9とサーバプログラム10が稼動している間に所定時間間隔で実行される。図4を使って、負荷に応じて動的にキューの長さと同時実行数を変更するときの実施形態を以下に説明する。以下でキュー管理テーブル8の要素の参照と変更(更新)を行うが、ここでは、対象となっているキュー9のキュー識別子43に対応する各要素の参照と変更を行っているものとする。
ステップ25にてキュー制御部6は、現在のサーバプログラム10での各処理の応答時間を測定して、その応答時間に対応する負荷レベルを求めた後、キュー管理テーブル8のサーバ負荷レベル44をキュー管理テーブル8の前回のサーバ負荷レベル45に設定した後、現在のサーバ負荷レベルをキュー管理テーブル8のサーバ負荷レベル44に設定する。
次にステップ26にてキュー管理テーブル8のサーバ負荷レベル44と前回のサーバ負荷レベル45を比較する。サーバ負荷レベル44が前回のサーバ負荷レベル45と同じ場合、キュー管理テーブル8のキューの長さ46と同時実行数47を変更せずに処理を終了する。
ステップ26にてサーバ負荷レベル44が前回のサーバ負荷レベル45より小さい場合には、ステップ30にてキュー制御部6がキュー管理テーブル8のキューの長さ46と同時実行数47をそれぞれキュー調整テーブル7のサーバ負荷レベル36に対応するキューの長さ37、同時実行数38に変更し、ステップ31にて(要求停滞数)/(キューの長さ)をキュー管理テーブル8のキュー使用率49に設定した後、終了する。
ステップ26にてサーバ負荷レベル44が前回のサーバ負荷レベル45より大きい場合には、ステップ27にてキュー制御部6がキュー調整テーブル7のサーバ負荷レベル36に対応するキューの長さ37とキュー管理テーブル8の要求停滞数48を比較する。
要求停滞数48の方が大きい場合には、ステップ29にてキュー管理テーブル8のキュー使用率49を図5のアルゴリズムで変更されない様にする為に2.0に設定し、ステップ28にて所定時間待った後、もう一度ステップ27に戻る。
要求停滞数48の方が小さいか同じである場合には、ステップ30にてキュー制御部6でキュー管理テーブル8のキューの長さ46と同時実行数47をそれぞれキュー調整テーブル7のサーバ負荷レベル36に対応するキューの長さ37、同時実行数38に変更し、ステップ31にて(要求停滞数)/(キューの長さ)をキュー管理テーブル8のキュー使用率49に設定した後、終了する。
図5は本実施形態のキューの要求停滞数48とキュー使用率49の更新処理の処理手順を示すフローチャートである。図5では、負荷情報制御部4がキューの要求停滞数48とキュー使用率49の情報を所定間隔で更新するときのアルゴリズムを表している。
図5のフローチャートは、キュー9とサーバプログラム10が稼動している間に所定間隔で実行される。図5のフローチャートと図4のフローチャートを同時に実行しても良い。図5を使って、要求停滞数48とキュー使用率49を変更するときの実施形態を以下に説明する。
ステップ32にてキュー管理部5で対象となるキュー9の現在の要求停滞数を確認し、キュー管理テーブル8の対象となるキュー識別子43に対応する要求停滞数48を変更する。次にステップ33にてキュー使用率49と1.0を比較する。キューの使用率が1.0より大きい場合には終了する。キュー使用率49が1.0以下の場合には、ステップ34にて(要求停滞数)/(キューの長さ)をキュー管理テーブル8の対象となるキュー識別子43に対応するキュー使用率49に設定した後、終了する。
前記の様にしてキューの使用率を設定した後、各計算機は、負荷情報制御部4によって前記設定したキューの使用率の情報をネットワークインタフェース16により各計算機間で交換した後、その交換したキューの使用率に応じてクライアント要求を振り分けたり、また当該計算機で同時に実行する処理の数を前記変更した同時実行数の値に応じて制御する処理を行う。
図6は本実施形態のクライアント要求のタイムアウト時間に相当するキューの長さの設定例を示す図である。図6では、クライアント要求が大量に発生して、応答時間がクライアント要求のタイムアウト時間となる場合に、全ての計算機のキューの使用率が1.0以上となる様にキューの長さを設定した状態を表している。
[数1]
キューの長さ=クライアント要求のタイムアウト時間÷(サーバプログラムの応答時間÷同時実行数)
ここで、キューの長さは数1に従って算出するものとし、各サーバ負荷レベル(サーバプログラム10の応答時間)と同時実行数におけるキューの長さを数1により算出して、その結果をキュー調整テーブル7に格納しておくものとする。
[数1]
キューの長さ=クライアント要求のタイムアウト時間÷(サーバプログラムの応答時間÷同時実行数)
ここで、キューの長さは数1に従って算出するものとし、各サーバ負荷レベル(サーバプログラム10の応答時間)と同時実行数におけるキューの長さを数1により算出して、その結果をキュー調整テーブル7に格納しておくものとする。
図6の状態で、クライアント端末18がクライアントプログラム19を実行し、クライアント要求がネットワーク17を介して計算機A1または計算機B2に送信されると、クライアント要求を受信した計算機のキュー管理部5がクライアント要求をキューの使用率の低い計算機のキュー9に振り分けようとするが、負荷情報制御部4から取得したキューの使用率がどのキューも1.0以上で振り分けられないため、エラーの応答をネットワーク17を介してクライアントプログラム19へ返す。
クライアント要求の応答が所定時間内に返らないとタイムアウトエラーとしたい場合、図6の様にキューで停滞する時間を考慮してキューの長さを調整しておけば、実際にタイムアウト時間が経過するのを待つこと無く、キューに要求を振り分けるという早いタイミングでタイムアウトエラーにすることができ、効率が良い。
図7は本実施形態のキュー調整テーブル7の一設定例を示す図である。図7では、サーバ負荷レベル36に対するキューの長さ37と同時実行数38が設定されたキュー調整テーブル7の一例を表しており、予めこのテーブルにサーバ負荷レベル36とそれに対応するキューの長さ37と同時実行数38を設定しておき、キュー制御部6で、このテーブルに従い、サーバ負荷レベル36に応じて、動的にキュー管理テーブル8のキューの長さ46と同時実行数47の変更を行う。
図7の例では、サーバ負荷レベル36を4段階に分類しており、サーバ負荷レベルDが最も負荷が高く、サーバ負荷レベルAが最も負荷が低くなっている。
図8は本実施形態のキュー管理テーブル8の一状態例を示す図である。図8では、キュー9の状態を管理する為のキュー管理テーブル8の一例を表しており、キュー識別子43と、それに対応するサーバ負荷レベル44、前回のサーバ負荷レベル45、キューの長さ46、同時実行数47、要求停滞数48、キュー使用率49の情報がある。
キュー制御部6が図4のアルゴリズムで動的にキューの長さと同時実行数を変更する際、このテーブルのサーバ負荷レベル44、前回のサーバ負荷レベル45、キューの長さ46、同時実行数47、キュー使用率49を更新することでキュー9の状態を管理している。また、要求停滞数48とキュー使用率49は、図5のアルゴリズムで更新される。ここでキュー使用率49は図4と図5の両方のアルゴリズムで更新されている。
図8の例は、図7のキュー調整テーブルを使用したときの例である。キュー識別子43がZZZの行では、サーバ負荷レベル44がBからCに上がり、要求停滞数48が25でサーバ負荷レベル36がCのときのキューの長さ37の設定値20より大きい為にキュー使用率49が2.0となった状態の例を示している。
以上の様に、本実施形態によれば、クライアントとサーバの間にキューを用いる負荷分散システムにおいて、キューの使用率でクライアント要求を振り分け、そのキューの長さを動的に変更することにより、クライアント要求の応答時間の内、リクエストが停滞している時間をサーバの負荷によらず、どのキューでもほぼ同じ時間となる様にして、クライアント要求の応答時間の標準偏差を小さくするという効果がある。更に、サーバの負荷に応じてサーバの同時実行数も変更することで、クライアント要求の応答時間の内、サーバで処理されている時間をどのサーバでもほぼ同じ時間となる様にして、クライアント要求の応答時間の標準偏差を小さくするという効果がある。
クライアント要求の標準偏差が小さくなることにより、応答の返らないクライアント要求待ちで他の処理が遅れ全体の性能が悪化する、一部のクライアント要求がタイムアウトエラーとなる、クライアント要求と応答の順序の逆転が発生する、といった現象を回避することができる。また、本実施形態のキューシステムでは、全てのキューでキューの長さ分要求が停滞しているとどのキューにも要求を振り分けられずエラーとなるが、クライアント要求の応答が所定時間内に返らないとタイムアウトエラーとしたい場合、キューで停滞する時間を考慮してキューの長さを調整しておけば、キューに要求を振り分けるという早いタイミングでタイムアウトエラーにすることができ、効率が良い。
以上説明した様に本実施形態の動的キュー負荷分散システムによれば、計算機の負荷に応じてキューの長さを動的に変更するので、処理要求の応答時間の標準偏差を小さくすることで、全ての処理要求の応答が所定時間内に返る様にすることが可能である。
1…計算機A、2…計算機B、3…主記憶装置、7…キュー調整テーブル、8…キュー管理テーブル、9…キュー、10…サーバプログラム、11…バス、12…CPU、13…ディスプレイ、14…キーボード、15…2次記憶装置、16…ネットワークインタフェース、17…ネットワーク、18…クライアント端末、19…クライアントプログラム、4…負荷情報制御部、5…キュー管理部、6…キュー制御部、22…処理、36…サーバ負荷レベル、37…キューの長さ、38…同時実行数、43…キュー識別子、44…サーバ負荷レベル、45…前回のサーバ負荷レベル、46…キューの長さ、47…同時実行数、48…要求停滞数、49…キュー使用率。
Claims (10)
- 複数の計算機のキューに処理要求を振り分けて負荷分散を動的に行う動的キュー負荷分散方法であって、
計算機の負荷のレベルを示す負荷レベルを取得するステップと、各キューにおけるキューの長さ及び要求停滞数の情報を含むキュー管理テーブルと、各負荷レベルにおけるキューの長さの情報を含むキュー調整テーブルとを参照して、前記キュー管理テーブルのキューの長さをキュー調整テーブルの前記負荷レベルに対応するキューの長さへ記憶装置により変更するステップと、前記キュー管理テーブル中のキューの長さ及び要求停滞数からキューの使用率を算出するステップと、前記算出したキューの使用率の情報を通信装置により各計算機間で交換するステップと、前記交換したキューの使用率に応じて処理要求を振り分けるステップとを有することを特徴とする動的キュー負荷分散方法。 - キュー管理テーブルの同時実行数をキュー調整テーブルの前記負荷レベルに対応する同時実行数へ記憶装置により変更し、当該計算機で同時に実行する処理の数を前記変更した同時実行数の値に応じて制御することを特徴とする請求項1に記載された動的キュー負荷分散方法。
- キュー管理テーブルの要求停滞数がキュー調整テーブルの前記負荷レベルに対応するキューの長さよりも大きい場合に、キュー管理テーブルのキューの使用率をその変更を抑止する為の所定の値へ記憶装置により設定し、所定時間の待ちを行うことを特徴とする請求項1または請求項2のいずれかに記載された動的キュー負荷分散方法。
- キュー管理テーブルの要求停滞数がキュー調整テーブルの前記負荷レベルに対応するキューの長さ以下である場合に、キュー管理テーブルのキューの長さをキュー調整テーブルの前記負荷レベルに対応するキューの長さへ記憶装置により変更することを特徴とする請求項1乃至請求項3のいずれか1項に記載された動的キュー負荷分散方法。
- キュー管理テーブルの要求停滞数がキュー調整テーブルの前記負荷レベルに対応するキューの長さ以下である場合に、キュー管理テーブルの同時実行数をキュー調整テーブルの前記負荷レベルに対応する同時実行数へ記憶装置により変更し、当該計算機で同時に実行する処理の数を前記変更した同時実行数の値に応じて制御することを特徴とする請求項1乃至請求項4のいずれか1項に記載された動的キュー負荷分散方法。
- 前記キュー管理テーブルのキューの長さとして処理要求のタイムアウト時間に相当する値を設定し、前記算出したキューの使用率が、キューの長さと要求停滞数とが等しい状態であることを示している場合に当該キューへの処理要求の振り分けを停止することを特徴とする請求項1乃至請求項5のいずれか1項に記載された動的キュー負荷分散方法。
- 前記取得した負荷レベルが前回の負荷レベルよりも小さい場合に、前記キュー管理テーブルのキューの長さをより大きい値に変更し、前記取得した負荷レベルが前回の負荷レベルよりも大きい場合に、前記キュー管理テーブルのキューの長さをより小さい値に変更することを特徴とする請求項1乃至請求項6のいずれか1項に記載された動的キュー負荷分散方法。
- 前記取得した負荷レベルが前回の負荷レベルよりも小さい場合に、前記キュー管理テーブルの同時実行数をより大きい値に変更し、前記取得した負荷レベルが前回の負荷レベルよりも大きい場合に、前記キュー管理テーブルの同時実行数をより小さい値に変更することを特徴とする請求項1乃至請求項7のいずれか1項に記載された動的キュー負荷分散方法。
- 複数の計算機のキューに処理要求を振り分けて負荷分散を動的に行う動的キュー負荷分散システムであって、
各キューにおけるキューの長さ及び要求停滞数の情報を含むキュー管理テーブルと、各負荷レベルにおけるキューの長さの情報を含むキュー調整テーブルと、計算機の負荷のレベルを示す負荷レベルを取得し、前記キュー管理テーブルのキューの長さをキュー調整テーブルの前記負荷レベルに対応するキューの長さへ記憶装置により変更し、前記キュー管理テーブル中のキューの長さ及び要求停滞数からキューの使用率を算出するキュー制御部と、前記算出したキューの使用率の情報を通信装置により各計算機間で交換する負荷情報制御部と、前記交換したキューの使用率に応じて処理要求を振り分けるキュー管理部とを備えることを特徴とする動的キュー負荷分散システム。 - 複数の計算機のキューに処理要求を振り分けて負荷分散を動的に行う動的キュー負荷分散方法をコンピュータに実行させる為のプログラムであって、
計算機の負荷のレベルを示す負荷レベルを取得するステップと、各キューにおけるキューの長さ及び要求停滞数の情報を含むキュー管理テーブルと、各負荷レベルにおけるキューの長さの情報を含むキュー調整テーブルとを参照して、前記キュー管理テーブルのキューの長さをキュー調整テーブルの前記負荷レベルに対応するキューの長さへ記憶装置により変更するステップと、前記キュー管理テーブル中のキューの長さ及び要求停滞数からキューの使用率を算出するステップと、前記算出したキューの使用率の情報を通信装置により各計算機間で交換するステップと、前記交換したキューの使用率に応じて処理要求を振り分けるステップとをコンピュータに実行させることを特徴とするプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005072505A JP2006259812A (ja) | 2005-03-15 | 2005-03-15 | 動的キュー負荷分散方法、システム及びプログラム |
US11/199,244 US7712103B2 (en) | 2005-03-15 | 2005-08-09 | Method and system for managing load balancing in data processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005072505A JP2006259812A (ja) | 2005-03-15 | 2005-03-15 | 動的キュー負荷分散方法、システム及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006259812A true JP2006259812A (ja) | 2006-09-28 |
Family
ID=37011847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005072505A Pending JP2006259812A (ja) | 2005-03-15 | 2005-03-15 | 動的キュー負荷分散方法、システム及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7712103B2 (ja) |
JP (1) | JP2006259812A (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011076604A (ja) * | 2009-09-29 | 2011-04-14 | Internatl Business Mach Corp <Ibm> | ワークキューを選択するための方法、システム及びコンピュータ・プログラム |
WO2012172588A1 (ja) * | 2011-06-13 | 2012-12-20 | 株式会社日立製作所 | リクエスト振分け計算機、リクエスト振分け方法及びプログラム |
JP2015073234A (ja) * | 2013-10-04 | 2015-04-16 | 株式会社日立製作所 | メッセージ転送システム及びキューの管理方法 |
JP5793259B1 (ja) * | 2014-04-14 | 2015-10-14 | 株式会社日立システムズ | 情報処理装置、流量制御パラメータ算出方法、およびプログラム |
JP6377304B1 (ja) * | 2017-12-04 | 2018-08-22 | 株式会社東陽テクニカ | データ書き込み装置及び方法 |
CN108475212A (zh) * | 2015-12-17 | 2018-08-31 | 起元技术有限责任公司 | 使用动态分区来处理数据 |
US10425273B2 (en) | 2015-09-03 | 2019-09-24 | Hitachi, Ltd. | Data processing system and data processing method |
JP2019191881A (ja) * | 2018-04-24 | 2019-10-31 | ヤフー株式会社 | 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム |
KR102516412B1 (ko) * | 2022-01-13 | 2023-03-31 | 성균관대학교산학협력단 | 기계학습 추론을 위한 gpu 클럭 조절 방법 및 장치 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7363451B2 (en) * | 2005-10-11 | 2008-04-22 | Lsi Logic Corporation | Load balancing of disk drives |
US7519734B1 (en) | 2006-03-14 | 2009-04-14 | Amazon Technologies, Inc. | System and method for routing service requests |
JP4829670B2 (ja) * | 2006-04-28 | 2011-12-07 | 株式会社日立製作所 | San管理方法およびsan管理システム |
US20080126751A1 (en) * | 2006-11-27 | 2008-05-29 | Shay Mizrachi | Scheduler hint method and system to improve network interface controller (nic) receive (rx) processing cache performance |
KR20080057483A (ko) * | 2006-12-20 | 2008-06-25 | 삼성전자주식회사 | 서버, 클라이언트, 로드 밸런싱 시스템 및 그의 로드밸런싱 방법 |
JP4933284B2 (ja) * | 2007-01-25 | 2012-05-16 | 株式会社日立製作所 | ストレージ装置及び負荷分散方法 |
US8159961B1 (en) * | 2007-03-30 | 2012-04-17 | Amazon Technologies, Inc. | Load balancing utilizing adaptive thresholding |
US7817544B2 (en) * | 2007-12-24 | 2010-10-19 | Telefonaktiebolaget L M Ericcson (Publ) | Methods and apparatus for event distribution in messaging systems |
CN101960428B (zh) * | 2008-02-26 | 2013-11-13 | 国际商业机器公司 | 路由工作负载计算方法及系统 |
US9959145B1 (en) * | 2008-07-29 | 2018-05-01 | Amazon Technologies, Inc. | Scalable game space |
US8296417B1 (en) | 2008-07-29 | 2012-10-23 | Alexander Gershon | Peak traffic management |
EP3068107B1 (en) * | 2008-09-05 | 2021-02-24 | Pulse Secure, LLC | Supplying data files to requesting stations |
US8918761B1 (en) * | 2008-12-05 | 2014-12-23 | Amazon Technologies, Inc. | Elastic application framework for deploying software |
US8276004B2 (en) | 2009-12-22 | 2012-09-25 | Intel Corporation | Systems and methods for energy efficient load balancing at server clusters |
GB201008819D0 (en) * | 2010-05-26 | 2010-07-14 | Zeus Technology Ltd | Apparatus for routing requests |
US9817698B2 (en) | 2011-06-17 | 2017-11-14 | Microsoft Technology Licensing, Llc | Scheduling execution requests to allow partial results |
WO2014148247A1 (ja) | 2013-03-19 | 2014-09-25 | 株式会社日立製作所 | 処理制御システム、処理制御方法、および処理制御プログラム |
US10269056B2 (en) * | 2013-03-28 | 2019-04-23 | Rakuten, Inc. | Request processing system, request processing method, program, and information storage medium |
EP3200407B1 (en) * | 2014-10-17 | 2019-08-28 | Huawei Technologies Co., Ltd. | Data flow distribution method and device |
US10394789B1 (en) * | 2015-12-07 | 2019-08-27 | Amazon Technologies, Inc. | Techniques and systems for scalable request handling in data processing systems |
US11003506B2 (en) | 2016-01-26 | 2021-05-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Technique for determining a load of an application |
CN107844593B (zh) * | 2017-11-17 | 2021-09-03 | 北京邮电大学 | 一种分布式计算平台中视频数据分布方法及装置 |
US10776013B2 (en) * | 2018-04-27 | 2020-09-15 | International Business Machines Corporation | Performing workload balancing of tracks in storage areas assigned to processing units |
US20210073056A1 (en) * | 2019-09-11 | 2021-03-11 | Advanced Micro Devices, Inc. | Distributed scheduler providing execution pipe balance |
CN112187667B (zh) * | 2020-09-16 | 2022-09-13 | 深圳希施玛数据科技有限公司 | 数据下载方法、装置、设备及存储介质 |
CN113098763B (zh) * | 2021-06-10 | 2021-10-01 | 天聚地合(苏州)数据股份有限公司 | 即时通讯消息发送方法、装置、存储介质及设备 |
US20210326177A1 (en) * | 2021-06-26 | 2021-10-21 | Intel Corporation | Queue scaling based, at least, in part, on processing load |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5031089A (en) * | 1988-12-30 | 1991-07-09 | United States Of America As Represented By The Administrator, National Aeronautics And Space Administration | Dynamic resource allocation scheme for distributed heterogeneous computer systems |
JPH07319834A (ja) | 1994-05-30 | 1995-12-08 | Hitachi Ltd | 分散オンラインシステムの負荷分散方式 |
US6128642A (en) * | 1997-07-22 | 2000-10-03 | At&T Corporation | Load balancing based on queue length, in a network of processor stations |
JP2000056996A (ja) | 1998-08-04 | 2000-02-25 | Atl Systems:Kk | 分散キューシステム |
US7062556B1 (en) * | 1999-11-22 | 2006-06-13 | Motorola, Inc. | Load balancing method in a communication network |
JP2002202959A (ja) * | 2000-12-28 | 2002-07-19 | Hitachi Ltd | 動的な資源分配をする仮想計算機システム |
JP2005184165A (ja) * | 2003-12-17 | 2005-07-07 | Hitachi Ltd | トラフィック制御装置およびそれを用いたサービスシステム |
-
2005
- 2005-03-15 JP JP2005072505A patent/JP2006259812A/ja active Pending
- 2005-08-09 US US11/199,244 patent/US7712103B2/en not_active Expired - Fee Related
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011076604A (ja) * | 2009-09-29 | 2011-04-14 | Internatl Business Mach Corp <Ibm> | ワークキューを選択するための方法、システム及びコンピュータ・プログラム |
WO2012172588A1 (ja) * | 2011-06-13 | 2012-12-20 | 株式会社日立製作所 | リクエスト振分け計算機、リクエスト振分け方法及びプログラム |
JP2015073234A (ja) * | 2013-10-04 | 2015-04-16 | 株式会社日立製作所 | メッセージ転送システム及びキューの管理方法 |
JP5793259B1 (ja) * | 2014-04-14 | 2015-10-14 | 株式会社日立システムズ | 情報処理装置、流量制御パラメータ算出方法、およびプログラム |
WO2015159336A1 (ja) * | 2014-04-14 | 2015-10-22 | 株式会社日立システムズ | 情報処理装置、流量制御パラメータ算出方法、およびプログラム |
US9317335B2 (en) | 2014-04-14 | 2016-04-19 | Hitachi Systems, Ltd. | Reducing internal retention time of processing requests on a web system having different types of data processing structures |
US10425273B2 (en) | 2015-09-03 | 2019-09-24 | Hitachi, Ltd. | Data processing system and data processing method |
CN108475212A (zh) * | 2015-12-17 | 2018-08-31 | 起元技术有限责任公司 | 使用动态分区来处理数据 |
CN108475212B (zh) * | 2015-12-17 | 2021-12-31 | 起元技术有限责任公司 | 使用动态分区处理数据的方法、系统和计算机可读介质 |
WO2019111303A1 (ja) * | 2017-12-04 | 2019-06-13 | 株式会社東陽テクニカ | データ書き込み装置及び方法 |
JP6377304B1 (ja) * | 2017-12-04 | 2018-08-22 | 株式会社東陽テクニカ | データ書き込み装置及び方法 |
US10585622B2 (en) | 2017-12-04 | 2020-03-10 | Toyo Corporation | Data writing device and method |
JP2019191881A (ja) * | 2018-04-24 | 2019-10-31 | ヤフー株式会社 | 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム |
JP7023169B2 (ja) | 2018-04-24 | 2022-02-21 | ヤフー株式会社 | 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム |
KR102516412B1 (ko) * | 2022-01-13 | 2023-03-31 | 성균관대학교산학협력단 | 기계학습 추론을 위한 gpu 클럭 조절 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
US20060212873A1 (en) | 2006-09-21 |
US7712103B2 (en) | 2010-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006259812A (ja) | 動的キュー負荷分散方法、システム及びプログラム | |
Delgado et al. | Hawk: Hybrid datacenter scheduling | |
EP3637733B1 (en) | Load balancing engine, client, distributed computing system, and load balancing method | |
US20210200583A1 (en) | Systems and methods for scheduling tasks | |
US20190324819A1 (en) | Distributed-system task assignment method and apparatus | |
US20240095060A1 (en) | Tenant-controlled cloud updates | |
US8051171B2 (en) | Control server that manages resource servers for selected balance of load | |
EP1750200A2 (en) | System and method for executing job step, and computer product | |
US8239868B2 (en) | Computer system, servers constituting the same, and job execution control method and program | |
US7624208B2 (en) | Method, system, and computer program for managing a queuing system | |
US20100076925A1 (en) | System for managing data collection processes | |
CN101366012A (zh) | 用于多处理器系统中的中断分配的方法和系统 | |
JPWO2007072544A1 (ja) | 情報処理装置、計算機、リソース割り当て方法及びリソース割り当てプログラム | |
CN106462593B (zh) | 大规模并行处理数据库的系统和方法 | |
CN110300188B (zh) | 数据传输系统、方法和设备 | |
US7003772B2 (en) | Policy management for distributed computing and a method for aging statistics | |
CN111143036A (zh) | 一种基于强化学习的虚拟机资源调度方法 | |
US9135064B2 (en) | Fine grained adaptive throttling of background processes | |
JP2009026221A (ja) | ビジネスプロセス運用管理システム、方法、プロセス運用管理装置およびそのプログラム | |
JP2010108300A (ja) | 情報処理システム、及び情報処理システムにおけるi/oのパスへの割り当て方法 | |
EP3961415B1 (en) | Transaction confirmation methods and apparatuses in blockchain network | |
US10877800B2 (en) | Method, apparatus and computer-readable medium for application scheduling | |
JP2013206041A (ja) | 通信システム及び負荷分散処理装置 | |
US20060203813A1 (en) | System and method for managing a main memory of a network server | |
EP3437271B1 (en) | Allocating bandwidth between network computing devices for pushing data to a client computing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071225 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090626 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090707 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091104 |