JP5244717B2 - 負荷割当制御方法および負荷分散システム - Google Patents

負荷割当制御方法および負荷分散システム Download PDF

Info

Publication number
JP5244717B2
JP5244717B2 JP2009157717A JP2009157717A JP5244717B2 JP 5244717 B2 JP5244717 B2 JP 5244717B2 JP 2009157717 A JP2009157717 A JP 2009157717A JP 2009157717 A JP2009157717 A JP 2009157717A JP 5244717 B2 JP5244717 B2 JP 5244717B2
Authority
JP
Japan
Prior art keywords
servers
load
server
request
load distribution
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
JP2009157717A
Other languages
English (en)
Other versions
JP2011015196A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009157717A priority Critical patent/JP5244717B2/ja
Priority to US12/826,208 priority patent/US20110004656A1/en
Publication of JP2011015196A publication Critical patent/JP2011015196A/ja
Application granted granted Critical
Publication of JP5244717B2 publication Critical patent/JP5244717B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、情報処理システムなどにおける負荷分散システムに関し、特に、負荷集中機能をもたせ、積極的に負荷量を適度に集中させることで情報処理システム内のサーバなどの稼動台数を抑制することで省電力を実現する方法に関するものである。
昨今、情報処理システムにおいてクライアントPC(パーソナルコンピュータ)からインターネットあるいはLAN(ローカルエリアネットワーク)を介してサーバに接続し、様々な情報を入手したり提供したり、情報の検索あるいは物品の販売など様々なサービスを享受できるようになっている。このようなシステムは一般にWebサーバシステムといわれている。
これらのシステムにおいて、クライアント(クライアントは通常はパーソナルコンピュータであることが多い)からの大量のアクセスへの対応や耐障害性を維持することを目的として、クライアントからのアクセス要求を複数サーバに分配することで大量のアクセスにも対応でき、また、その内の一部が故障した場合にも、他のサーバに処理を振り分けることでシステム全体としてサービスを停止させない、といった処理をさせることがよく行われている。このような処理を行う装置が負荷分散装置と呼ばれる。
この負荷分散装置において負荷分配は負荷分散アルゴリズムを用いて、接続クライアント台数や処理量などの負荷(以下、負荷と呼ぶ)がシステムを構成するサーバの間で均等になるように負荷を分配する機能を提供している。
一方で、地球温暖化などの環境問題への取り組みに関心が集まる中、サーバシステムの市場においても省電力化が求められるようになってきており、省電力を実現する機能を提供する技術も盛んに開発されるようになってきている。
上記のような従来の負荷分散装置における負荷分配方式の場合、各サーバの性能が高くなくても、複数サーバで多数のクライアントからのアクセスを、均等に分散させて処理できるという利点がある。しかし、一般にこのようなWebサーバシステムではクライアントからのアクセスによる負荷が、例えば1日の内で時間帯によって大きく変動したり、あるいは、時期によって大きく変動したりすることが知られており、それでも一定のサービス品質(応答時間、同時アクセス数の上限確保等)を維持するために最大負荷の時に備えて多数のサーバを稼動させる必要があるが、一方で負荷量が少ない場合などには不必要に多数のサーバを稼動させるということになっており、省電力化のために台数を適正に増減させる技術が必要となってきている。
上記課題の解決策として、特開2003−281008号公報(特許文献1)に開示された従来技術がある。
特許文献1に開示されたものは、稼動時間が最短であるサーバに対して優先的にクライアントからの要求を分配するというものであり、なおかつクライアントからのデータ要求量とサーバシステムのデータ供給可能量とを比較し、サーバシステム全体として必要最低限のサーバだけを稼動させることを目的としたものである。
特許文献1を含む従来技術では、負荷分配の方法に従来の負荷分散方式を用いて、負荷を複数サーバに分散し、その時点でのサーバシステムの負荷量を計測しながらサーバの台数を増減させていく。システム稼動中において、負荷が存在しないサーバがある場合にはサーバを停止し、稼動中サーバシステムの処理容量が不足してきたら、新たにサーバを起動する方法をとるというものである。
特開2003−281008号公報
しかしながら、特許文献1に開示された方法の場合、従来の負荷分散装置に比べ電力消費を抑えることが可能ではあるが、負荷分散を行う中で、もし未使用サーバが存在すれば電源を落とし、割り当てサーバの数を少なくしていき、自然と負荷集中が起こることを待っている制御(以後、静的な制御と呼ぶ)しかできていない。
また、この静的な制御を行う上で、ある時点で生起した負荷に対して、その時点以前に各サーバからクライアントに要求データを返信した時のサーバシステムの負荷量を用いて負荷の割当先サーバを決めるため、実際の負荷数とサーバ台数の設定にタイムラグが生じる。そのため、場合によって台数が不足、もしくは過剰になることがあり、不足する場合を恐れると常に過剰な台数のサーバを稼動させる必要がある。その結果、省電力効果については最適な制御でない状態が発生する。
また、クライアントからのアクセスの未来の増減は予測できない中にあって、ある時点での負荷量を見て台数を制限するといった静的な負荷集中を行う手段を提供しているが、ある特定サーバに積極的に負荷を割り当て、負荷集中の状態を自ら作り出す(以後、動的な制御と呼ぶ)ことができない。その結果、省電力化のためのサーバ稼動台数の増減を最適制御できていない。
また、従来技術において、単純なる動的な負荷集中を行うと、1台のサーバシステムが提供するサービスレベル品質を一定以上に保持することができない。
そこで、本発明の目的は、動的な制御を行い、かつユーザが求めるサービスレベルの品質を守った上で最大の省電力効果を得ることができる負荷分散システムを提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次の通りである。
すなわち、代表的なものの概要は、負荷分散システムにより、クライアントからの要求に対する複数のサーバのそれぞれのサービスレベルを保つための閾値を保持し、複数のサーバへの要求の割り当ての際、複数のサーバの優先度に従い、優先度の高いサーバから、閾値に達するまで要求を割り当て、複数のサーバのそれぞれの要求に対する処理状況に応じて、複数のサーバの電源制御を行うものである。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下の通りである。
すなわち、代表的なものによって得られる効果は、動的な制御を行い、かつユーザが求めるサービスレベルの品質を守った上で最大の省電力効果を得ることができる。
本発明の実施の形態1に係る負荷分散システムが適用されるネットワークシステムの構成を示す構成図である。 本発明の実施の形態1に係る負荷分散システムの構成を示す構成図である。 本発明の実施の形態1に係る負荷分散システムの情報テーブルおよび割り当てテーブルの一例を示す図である。 本発明の実施の形態1に係る負荷分散システムのアルゴリズムの一例を示す図である。 本発明の実施の形態1に係る負荷分散システムの負荷集中モードの基本的な概念を説明するための説明図である。 本発明の実施の形態1に係る負荷分散システムの転送先判定部における負荷集中モードの処理を示すフローチャートである。 本発明の実施の形態1に係る負荷分散システムの転送先判定部における負荷集中モード(ラウンドロビンモード)の処理を示すフローチャートである。 本発明の実施の形態1に係る負荷分散システムの負荷集中モード(ラウンドロビンモード)の様子を説明するための情報テーブルと割り当てテーブルの一例を示す図である。 本発明の実施の形態1に係る負荷分散システムの転送先判定部における負荷集中モード(ラウンドロビンモード)の処理を示すフローチャートである。 本発明の実施の形態1に係る負荷分散システムの負荷集中モード(ラウンドロビンモード)の情報テーブルの一例を示す図である。 本発明の実施の形態1に係る負荷分散システムによる効果を説明するための説明図である。 本発明の実施の形態2に係る負荷分散システムの構成を示す構成図である。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
(実施の形態1)
図1により、本発明の実施の形態1に係る負荷分散システムが適用されるネットワークシステムの構成について説明する。図1は本発明の実施の形態1に係る負荷分散システムが適用されるネットワークシステムの構成を示す構成図である。
図1において、ネットワークシステムは、複数のサーバから構成されるサーバシステム(130−1〜−4)が、負荷分散システム120を介して外部ネットワーク110に接続されている。
また、この外部ネットワーク110に接続されているクライアント100とのデータパケットの送受信には必ず負荷分散システム120が仲介している。
なお、図1に示す例では、クライアント台数と、サーバ台数を4としているが、特に4台には限定されないし、異なる台数であっても問題ない。
次に、図2〜図4により、本発明の実施の形態1に係る負荷分散システムの構成ついて説明する。図2は本発明の実施の形態1に係る負荷分散システムの構成を示す構成図、図3は本発明の実施の形態1に係る負荷分散システムの情報テーブルおよび割り当てテーブルの一例を示す図、図4は本発明の実施の形態1に係る負荷分散システムのアルゴリズムの一例を示す図である。
図2において、負荷分散システム120は、処理要求受付部121と、サーバシステムの管理を行うための手段としてサーバ管理部122と、要求転送部123と、電源制御部124と、転送先判定部125とサーバシステム全てのサーバの稼動状況や優先度などを保持する情報テーブル126と負荷分散システムが負荷を割り当て可能なサーバのアドレスを保持する割り当てテーブル127とサービスレベルアグリーメントを守るための閾値(以後アセスメントレベルと呼ぶ)を保持する閾値保持部128とを備えている。
情報テーブル126は何らかのイベントが発生すると情報が読み出され、また、サーバの状態が変更されるもしくはされた場合にはその都度、情報テーブル126の内容も変更される。
図3(a)に情報テーブル126の様子、図3(b)に割り当てテーブル127の様子を示す。
アセスメントレベルは任意に設定可能で、設定内容としては接続コネクション数やCPUビジー率、IOビジー率、レスポンス時間などがあげられる。
処理要求受付部121は、クライアント100からのデータ要求パケットを受け付ける。受け付けた要求パケットは転送先判定部125へ送られ、転送先判定部125において転送先サーバを選択し、要求転送部123へどのサーバへ要求を送ればよいかを指示する。
そして、要求転送部123は転送先判定部125より指示されたサーバの割り当てテーブル127のアドレスに要求を無事転送した後、情報テーブル126を更新する。
転送先サーバの選択方法としては、負荷分散アルゴリズムを用いて従来の負荷分散方式により転送先サーバを選択する負荷分散モードと、負荷分散アルゴリズムを負荷集中型に変換することで特定のサーバに負荷を集中させる負荷集中モードがあり、某かのアルゴリズムによって制御可能である。
図4に、既存の負荷分散装置の負荷分散アルゴリズムを参考に一般化したアルゴリズムの一覧を示す。
サーバ管理部122は、情報テーブル126と割り当てテーブル127とサーバシステム(130−1〜4)を監視管理する。
例えば、所定期間内にサーバシステム(130−1〜4)の各稼動中サーバの処理量を調査し、未使用サーバが存在し、さらに電源停止条件を満たしていると判断したならば、電源制御部に対象サーバの電源停止を指示し、情報テーブル126の内容を“停止中”と更新する。
逆に、上記所定期間内にサーバシステム(130−1〜4)の全ての稼動中サーバの負荷量が供給可能量を超えており、電源起動条件を満たしていると判断したならば、サーバシステム(130−1〜4)の内、必要数の待機中サーバを優先度が高い順に起動するよう電源制御部に指示する。
本実施の形態による負荷集中の場合、優先度の高いサーバから順に負荷を片寄せしていくため、次に電源を停止させるサーバは、稼動中サーバの中で最も優先度の低いサーバとなるため、明示的にこのサーバの負荷量を見て、未使用の状態で、さらに電源停止条件を満たしていると判断したならば、対象サーバを割り当て可能対象から外し、電源制御部に対象サーバの電源停止を指示した後、対象サーバの電源停止を確認した上で情報テーブル126の内容を“停止中”と更新する、という方法も可能である。
そして、情報テーブル126が持つ対象サーバの状態を“起動処理中”と更新する。起動処理中サーバの正常な起動を確認したら、割り当てテーブル127に対象サーバを追加し割り当て可能となった時点で、情報テーブルの内容を“稼動中”と更新する。
また、サーバ管理部122は、サーバシステム(130−1〜4)の待機中サーバの優先度の変更を行うなどして、電源の起動と停止の動作が特定のサーバに集中することを防ぐことも可能とする。
次に、図5〜図11により、本発明の実施の形態1に係る負荷分散システムの転送先判定部の負荷集中モードの処理について説明する。図5は本発明の実施の形態1に係る負荷分散システムの負荷集中モードの基本的な概念を説明するための説明図、図6は本発明の実施の形態1に係る負荷分散システムの転送先判定部における負荷集中モードの処理を示すフローチャート、図7および図9は本発明の実施の形態1に係る負荷分散システムの転送先判定部における負荷集中モード(ラウンドロビンモード)の処理を示すフローチャート、図8は本発明の実施の形態1に係る負荷分散システムの負荷集中モード(ラウンドロビンモード)の様子を説明するための情報テーブルと割り当てテーブルの一例を示す図、図10は本発明の実施の形態1に係る負荷分散システムの負荷集中モード(ラウンドロビンモード)の情報テーブルの一例を示す図、図11は本発明の実施の形態1に係る負荷分散システムによる効果を説明するための説明図である。
まず、負荷集中モードにおいて、図4に示した負荷分散アルゴリズム各々を負荷集中型に変換する方法について、負荷集中モードの基本的な概念を図5を用いて説明した後に、図6〜図9を用いて説明する。
本来の負荷分散と本実施の形態の負荷集中との相違点を次に示す。
本来の負荷分散は、各サーバに負荷が均等に割り振られる。
例えば、サーバが3台あり、各々#0、#1、#2とし、何らかのサーバで処理する負荷が6個順にもたらされるとすると、これらの負荷が全て等しいとするならば、3台のサーバに順に負荷1〜3を割り振り、さらに負荷4〜6を割り振ることで均等にすることができる。負荷1〜6が全てサーバに割り振られ、処理中である様子を図5(a)に示す。
これを本実施の形態の負荷集中モードでは、サーバに優先度を設け、優先度の高いサーバに集中的に負荷を割り振る。
その際、負荷が特定のサーバに集中すると、そのレスポンス時間が長くなるなどしてサービスの質が落ちるため、サービスレベルアグリーメントで規定するサービスを維持できるアセスメントレベルを設定し、サーバの処理中の負荷量がこのアセスメントレベルに達するまではある特定のサーバに負荷を割り振り、アセスメントレベルに達した後は、次に優先度の高いサーバに負荷の割り振りを行う。
例えば、アセスメントレベルを1台あたり4個までの負荷が許容範囲であることとし、#0、#1、#2の順に優先度が高いサーバが3台あるとする。何らかのサーバで処理する負荷が6個順にもたらされるとすると、サーバ#0には負荷1〜4が、サーバ#1には負荷5〜6が割り振られ、サーバ#2には何も割り振られていない状態となる(図5(b))。
この状態であればサーバ#2は電源停止をただちに行うことができる。
しかし、負荷がさらに増大していき、サーバシステムがアセスメントレベルを守れなくなった場合(これは本来、システム設計上あってはならないことではあるが、予め想定しておく必要はある)、既にこの段階でシステム設計上想定していた負荷量を超えており、できるだけ負荷を分散させた方が賢明である。
例えば、先ほどの例に続けて負荷がかかった場合、やがて負荷量がアセスメントレベルを超えることとなる。ここから先は、負荷の増大に対してアセスメントレベルを守ることができないので、負荷分散モードに変更させることが必要となる。この状況を図5(c)に示す。すなわち、図5(c)の負荷1〜12まではサーバ#0〜2に4個づつ割り振られているが、その後の負荷13〜15はサーバ#0〜2に均等に1個づつを順に割り振っていくことになる。
そして、その後負荷が減ってきてアセスメントレベルを守れるようになれば、また本来の負荷集中モードに戻るものとする。
この場合のアセスメントレベルは、コネクション数やレスポンス時間などユーザが望むもので任意に設定可能である。
この負荷集中モードの基本的概念を基に、負荷分散アルゴリズムでの負荷集中の方法を最小コネクションモード、最速モード、ラウンドロビンモードを例にあげて説明する。
まず、最小コネクションモードの場合については、上記負荷集中モードの基本的概念の負荷量をコネクション数と置き換えて考える。
最速モードの場合には、各サーバの最新のレスポンス時間(あるいは最新の複数個のリクエストに対するレスポンス時間の平均)を見て、特定のサーバについてレスポンス時間がアセスメントレベル以下である内は負荷を割り振り、超えたら別のサーバへ割り振ると考える。
最速モードと最小コネクションモードの違いとしては、アセスメントレベルがコネクション数なのか、レスポンス時間なのかという違いである。
この2つのモードについて図6に示すフローチャートを用いて説明する。
前提条件として、新たにクライアントから接続要求があった場合、要求受付部によって受付処理が行われたリクエストは転送先判定待ち行列にスタックされるものとする。
この転送先判定待ち行列にデータが存在した場合(ステップ700)、閾値保持部128よりアセスメントレベルの読み込みと情報テーブル126にアクセスを行い読み書き可能な状態とし、テーブル情報を読み込む(ステップ701)。
そして、モードが負荷集中モードで、状態が稼動中の全てのサーバにおいて、負荷量がアセスメントレベルに達している場合には、負荷集中モードを負荷分散モードに切り替え(ステップ702、704、712)、モードが負荷分散モードなら、負荷分散アルゴリズムにより負荷が均等に割り振られるようにサーバを決定し(ステップ702、703)、負荷分散処理後、負荷集中モードへと戻す(ステップ706)。ここで用いる負荷分散アルゴリズムについては公知の技術であるため、ここでは詳細には述べないこととする。
稼動中のサーバにおいて、負荷量がアセスメントレベルに達してないサーバが存在する場合には、優先度が最も高いサーバを“調査サーバ”とする(ステップ704、705)。
そして、“調査サーバ”の負荷量とアセスメントレベルとを比較し(ステップ713)、ステップ713で、アセスメントレベルに達している場合には、優先度が次に高いサーバを“調査サーバ”として負荷量がアセスメントレベルに達しているかを確認していく(ステップ714)。
ステップ713で、“調査サーバ”の負荷量がアセスメントレベルに達していない場合には、そのサーバを割り当てサーバに決定し(ステップ707)、情報テーブル126のサーバのコネクション数欄を更新する(ステップ708)。
その際のアセスメントレベルとサーバの負荷量の比較とは、例えばアセスメントレベルがコネクション数の場合にはサーバの接続コネクション数の値であり、レスポンス時間の場合には、レスポンス時間の値との比較である。
そして、リクエスト情報を1つ転送先判定待ち行列から読み出し、転送先サーバの情報を付加して転送待ち行列にスタックする(ステップ709、710)。
そして、判定待ち行列にデータがあるかを判断し(ステップ711)、ステップ711で判定待ち行列にデータがあれば、ステップ704に戻り、ステップ711で判定待ち行列にデータが無ければステップ700に戻る。
要求転送部123は、この転送待ち行列に積まれているデータを取り出して処理を行う。ただし、上記では、アセスメントレベルに達していないサーバとは、新に1つ負荷を割り振った場合にアセスメントレベルを達するか達しないかの状態にはなるが、アセスメントレベルを超える状態(つまりサービスレベルアグリーメントを満足できない状態)にはならないと仮定している。
この仮定を満足させるにはアセスメントレベルを以下のように設定しておく必要がある。すなわち、サーバに割り振った負荷量に対してサービスレベルがどのように変化するかを予め実測値や理論値を元に算出できるようにしておき(しかもこれは負荷量増大に対しサービスレベルが単純に低下する単調減少となっている必要があり、そうでないならば、そもそも負荷量として設定している計量単位を見直すべきである)、サーバに新に1個の負荷を割り振った場合にサービスレベルアグリーメントを満足できる、最大の負荷量をアセスメントレベルと設定する必要がある。
もし、例えば1個の負荷に対し負荷量の増減にばらつきがあるならば、アセスメントレベルは、あるサーバに新に最大の負荷量をもつ1個の負荷が割り振られてもサービスレベルアグリーメントを満足する最大の負荷量とすべきであるし、もっと工夫するならば、図6に示す処理の中で、アセスメントレベルをそのときに割り振ろうとしている負荷の内容から負荷量の増分を予測し、その予測値に基づいてアセスメントレベルに達しているのかどうかを判断してもよい。
通常、負荷分散装置は処理要求の内容を解析する処理を持っている場合が多いのでこの種のインプリメントは比較的容易に可能である。また、さらに工夫するならば、サーバ毎にこのアセスメントレベルを別にしてもよい。本発明の場合、アセスメントレベルに達しているかどうかを判定するステップ(図6のステップ713)より前のステップ(図6のステップ705)で調査サーバ(すなわち、割り振り先のサーバ)が決まっているため、このような工夫を行うことができる。
次に、図7および図9のフローチャートにより、ラウンドロビンモードについて説明する。
本来のラウンドロビンモードは、負荷を複数台のサーバに順番に均等に割り振ることで負荷分散を達成することができるが、この考え方で負荷集中に変換させることは困難である。ラウンドロビンモードの場合には、次の2通りの考え方を用いることとする。
1つ目の考え方としては、ラウンドロビンモードを単純に、負荷が発生した場合、前回割り当てたサーバの次に優先度が高いサーバに割り当てると考える、とした場合、割当先が1つしか存在しないという場合であれば、そのサーバにのみ負荷が割り当てられる。
これによって、本実施の形態では、負荷集中は以下のように考えて実現する。
「複数台の稼動中サーバが存在する中で、割当先はある特定の1つのサーバのみとする。負荷量がアセスメントレベルに達するまでは割当先はその特定サーバとし、アセスメントレベルに達したら、割当先を優先度が次に高いサーバとする。」
つまり、以下のように処理を行う。
(1)稼動中の全てのサーバにおいて、負荷量がアセスメントレベルに達しているならば、負荷分散モードに切り替え(ステップ800、801、802、804、813)、負荷分散アルゴリズムに従って、つまり最後に割り当てたサーバの次に優先度の高いサーバに負荷を割り当てる(ステップ800、801、802、803、806)。
(2)稼動中サーバに、アセスメントレベルに達していないサーバがある場合には、優先度が最も高いサーバを“調査サーバ”と指定する(ステップ804、805)。
(3)調査サーバの負荷量がアセスメントレベルに達しているか確認する(ステップ807)。
(4)ステップ807で調査サーバの負荷量がアセスメントレベルに達していなければ、調査サーバを割り当てサーバに決定し、割り当てテーブルと情報テーブルを変更し、割り当てテーブルに存在するサーバ情報の削除と調査サーバの割り当てテーブルへの追加を行い(ステップ808)、情報テーブル126の“調査サーバ”の負荷量を追加する(ステップ809)。
(5)転送待ち行列に、転送先サーバの情報を付加したデータをスタックし(ステップ810)、判定待ち行列にデータがあるかを判断し(ステップ811)、ステップ811で判定待ち行列にデータがあれば、ステップ804に戻り、ステップ811で判定待ち行列にデータが無ければステップ800に戻る。
(6)ステップ807で、調査サーバの負荷量がアセスメントレベルに達している場合には、次に優先度が高いサーバを調査サーバとしてステップ807に戻る(ステップ812)。
例えば、アセスメントレベルがコネクション数3とし、情報テーブルと割り当てテーブルが図8(a)に示す状態の時点で、負荷が1個生起したとする。優先度順にコネクション数を確認すると、コネクション数がアセスメントレベルに達していない稼動中サーバの内、最も優先度が高いのはサーバ番号が2のサーバとなるため、割当先と決定する。そのため、割り当てテーブルの既存のサーバの情報を削除し、新たに対象サーバが追加され、情報テーブルと割り当てテーブルは、図8(a)に示す状態から、図8(b)に示す状態へ変更される。
また、2つ目の考え方としては、負荷分散におけるランドロビンモードについて、ある一定期間内に割り振る負荷の数を、対象とするサーバ間で同数になるよう割り振るものと解釈し、これによって負荷集中は以下のように考えて実現する。
「ある一定期間内に割り振る負荷の数を、対象とするサーバの中で特定のサーバに集中して割り振る。ただし、割り振る負荷の数はアセスメントレベル以下となるようにする。」
つまり、以下のように処理を行う。
(1)稼動中の全てのサーバにおいて、負荷量がアセスメントレベルに達しているならば、負荷分散モードに切り替え(ステップ814、815、816、817、818)、負荷分散アルゴリズムに従って、つまり最後に割り当てたサーバの次に優先度の高いサーバに負荷を割り当てる(ステップ814、815、817、819、822)。
(2)稼動中サーバに、アセスメントレベルに達していないサーバがある場合には、優先度が最も高いサーバを“調査サーバ”と指定する(ステップ818、820)。
(3)現時刻から時刻−Tの間に調査サーバに割り当てたコネクション数をカウントする(ステップ821)。
(4)調査サーバに割り当てたコネクション数がアセスメントレベルに達しているか確認する(ステップ823)。
(5)ステップ823で調査サーバに割り当てたコネクション数がアセスメントレベルに達していないなら、そのサーバに割り当てることを決定し、割り当てテーブルを変更し、割り当てテーブルに割り当てた時刻と、調査サーバの情報を追加する(ステップ824)。
(6)情報テーブル内の、現時点から時刻T以前のデータを削除し(ステップ825)、判定待ち行列にデータがあるかを判断し(ステップ827)、ステップ827で判定待ち行列にデータがあれば、ステップ818に戻り、ステップ827で判定待ち行列にデータが無ければステップ814に戻る。
(7)ステップ823で、調査サーバに割り当てたコネクション数がアセスメントレベルに達している場合には、次に優先度が高いサーバを調査サーバとしてステップ821に戻る(ステップ826)。
情報テーブルには、例えば、図10に示すように過去に割り当てたサーバとその時刻が記録されており、一定時間(例えば1秒とか10秒とか1分とか1時間とか、アプリケーションに応じてユーザが選択する)内の割り当てた個数を算出できるようになっており、調査サーバについて、その個数がアセスメントレベル以下であるかどうかをステップ823の判定で行うようになっている。
次に、本実施の形態の負荷分散システムによる効果について説明する。
まず、比較例として、従来技術による省電力制御での動作を図11(a)に示す。
サーバシステムに稼動サーバが3台存在し、サーバ1台あたり3個の負荷まで処理できるとする(すなわちアセスメントレベルが負荷量3としていることを意味する)。従来技術の場合、各サーバの負荷が均等になるように割り当てられるため、例えば、時刻T1で生起した7個の負荷に対して、各サーバが処理中である場合、このT1の時点での負荷の割り当ては、各サーバに負荷が均等になるよう割り当てられるため、#1から順に3個、2個、2個となる。
また、時刻T2、T3の時点で生起する負荷が6個、5個であった場合、サーバ2台で対応可能な負荷量が6個のため、単純に考えると2台で対応可能のためこの時点でサーバを2台に削減できることになる。
しかし、負荷分散の場合、一旦ここで3台のサーバに負荷が均等となるよう割り当てられるため、例えば、時刻T2に生起した負荷は2個づつ割り当てられるため、最速でも2個の処理が終了した時点での電源停止となる。
これに対して、本実施の形態のように、アセスメントレベルに達するまでは特定サーバに負荷を割り当て、達したならば、次のサーバに割り当てるという負荷集中を行うと、図11(b)に示すように、まず、時刻T1で発生した7個の負荷はサーバ#1からアセスメントレベルに達するまで負荷を割り当てていくため、割り当てられた負荷の個数は順に、3個、3個、1個となる。
その後、T2で発生した負荷6個はサーバ2台で対応可能であるため、サーバ#3には既に負荷が割り当てられることはないので、時刻T2以前で電源をオフにすることができる(場合により△の時点までさかのぼることも可能である)。
なお、図11に示す簡略なモデルから、本実施の形態の省電力制御としての効果の大きさは負荷の処理時間の長さに依存していることがわかる。例えば、従来技術では、サーバを電源停止するためには、電源停止するサーバでの負荷の処理が終了しないと電源停止できないが、従来技術では、電源停止させるサーバへの負荷の割り当てが均等に割り当てられているため、本実施の形態と比べて、その負荷の個数が多くなるため、負荷の処理時間が長くなれば電源停止するまでの時間が長くなってしまう。
従って、例えば、インターネットショッピングやネットでのストリーミングデータを配信する場合のように一旦接続すると相当長い間継続する場合には、本実施の形態での負荷集中処理は効果的である。
(実施の形態2)
実施の形態1では、負荷分散システム120に、サーバ管理部122、転送先判定部125、電源制御部124、情報テーブル126、割り当てテーブル127、閾値保持部128の機能を設けているが、実施の形態2では、複数の負荷分散装置を管理する管理サーバに設けるようにしたものである。
図12により、本発明の実施の形態2に係る負荷分散システムの構成ついて説明する。図12は本発明の実施の形態2に係る負荷分散システムの構成を示す構成図である。
図12において、負荷分散システムは、4台のサーバから構成されるサーバシステムを接続した負荷分散装置166が2台と、負荷分散装置166を管理する管理サーバ177から構成されている。
負荷分散装置166は、処理要求受付部121と、管理サーバ177との通信を行う管理サーバ通信部162と、管理サーバ177の指示によって、負荷をサーバに転送する要求転送部123と割当先サーバの情報を保持する割り当てテーブル127とを備える。
管理サーバ177は、各負荷分散装置166との通信を行う負荷分散装置通信部171と負荷分散装置166で受け付けた処理の配分先を判定する転送先判定部125と、全てのサーバを監視・管理するサーバ管理部122と、計算機の電源制御を行う電源制御部124と、各サーバと負荷分散装置166の情報を保持する情報テーブル126と、アセスメントレベルを保持する閾値保持部128を備える。
本実施の形態の負荷分散システムとしての全体の動作は、実施の形態1と同様である。
このように、本実施の形態では、管理サーバ177上に、サーバ管理部122、転送先判定部125、電源制御部124、情報テーブル126、割り当てテーブル127、閾値保持部128の機能を負荷分散装置166と独立してもつことで、複数の負荷分散装置166と、複数の負荷分散装置166に接続されたサーバシステムを制御可能となり、より省電力効果が得られる。
なお、図12に示す例では、管理サーバ177による制御対象の負荷分散装置166を2台としているが、2台である必要はなく、複数台の制御が可能である。
この場合、複数の負荷分散装置166をまたいで負荷集中が可能となる。つまり、図12に示す例では、1台の負荷分散装置166に接続されているサーバシステムのみで処理可能な場合、負荷を割り当てないサーバシステム側については、負荷分散装置166ごと電源を停止することが可能となる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
例えば、実施の形態1、2において、クライアントからの要求の割当先であるサーバシステムは、物理サーバに限定されず、仮想サーバであってもよい。
本発明は、情報処理システムなどにおける負荷分散システムに関し、負荷分散と共に、システム全体の省電力化が必要なシステムなどに広く適用可能である。
100(100−1〜100−4)…クライアント、110…外部ネットワーク、120…負荷分散システム、121…処理要求受付部、122…サーバ管理部、123…要求転送部、124…電源制御部、125…転送先判定部、126…情報テーブル、127…割り当てテーブル、128…閾値保持部、130(130−1〜130−4)…サーバシステム、162…管理サーバ通信部、166…負荷分散装置、171…負荷分散装置通信部、177…管理サーバ。

Claims (4)

  1. 複数のクライアントからの複数の要求を、複数のサーバに割り当てる負荷分散システムにおける負荷割当制御方法であって、
    前記負荷分散システムにより、前記要求による処理状況に対する前記複数のサーバのそれぞれのサービスレベルを保つための閾値を保持し、前記複数のサーバへの前記要求の割り当ての際、前記複数のサーバの優先度に従い、前記優先度の高いサーバから、前記閾値に達するまで前記要求を割り当て、前記要求に対する前記複数のサーバのそれぞれの処理状況に応じて、前記複数のサーバの電源制御を行い、前記複数のサーバへの前記要求の割り当ての際、前記複数のサーバの全ての処理状況が、前記閾値に達していた場合、前記要求を前記複数のサーバに均等に分配することを特徴とする負荷割当制御方法。
  2. 複数のクライアントからの複数の要求を、複数のサーバに割り当てる負荷分散システムであって、
    前記複数のサーバのそれぞれの、優先度、コネクション数、レスポンス時間、割り当て時刻、および状態を格納する情報テーブルと、
    前記要求による処理状況に対する前記複数のサーバのそれぞれのサービスレベルを保つための閾値を保持する閾値保持部と、
    前記複数のサーバの稼動状況を監視管理するサーバ管理部と、
    前記複数のサーバへの前記要求の割り当ての際、前記複数のサーバの優先度に従い、前記優先度の高いサーバから、前記閾値に達するまで前記要求を割り当てる転送先判定部と、
    前記要求に対する前記複数のサーバのそれぞれの処理状況に応じて、前記複数のサーバの電源制御を行う電源制御部とを備え
    前記転送先判定部は、前記複数のサーバへの前記要求の割り当ての際、前記複数のサーバの全ての処理状況が、前記閾値に達していた場合、前記要求を前記複数のサーバに均等に分配することを特徴とする負荷分散システム。
  3. 複数のクライアントからの複数の要求を、複数のサーバに割り当てる負荷分散システムであって、
    複数の負荷分散装置と、前記複数の負荷分散装置を管理する管理サーバとを備え、
    前記管理サーバは、前記複数のサーバのそれぞれの、優先度、コネクション数、レスポンス時間、割り当て時刻、および状態を格納する情報テーブルと、前記要求による処理状況に対する前記複数のサーバのそれぞれのサービスレベルを保つための閾値を保持する閾値保持部と、前記複数のサーバの稼動状況を監視管理するサーバ管理部と、前記複数のサーバへの前記要求の割り当ての際、前記複数のサーバの前記優先度に従い、前記優先度の高いサーバから、前記閾値に達するまで前記要求を割り当てる転送先判定部と、前記複数のサーバのそれぞれの前記要求に対する処理状況に応じて、前記複数のサーバの電源制御を行う電源制御部と、前記転送先判定部での前記要求の割り当てを前記複数の負荷分散装置に指示する負荷分散装置通信部とを有することを特徴とする負荷分散システム。
  4. 請求項に記載の負荷分散システムにおいて、
    前記電源制御部は、前記複数のサーバの電源制御により、特定の負荷分散装置に接続されているサーバの全てを停止可能な場合、前記特定の負荷分散装置の電源を停止させることを特徴とする負荷分散システム。
JP2009157717A 2009-07-02 2009-07-02 負荷割当制御方法および負荷分散システム Expired - Fee Related JP5244717B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009157717A JP5244717B2 (ja) 2009-07-02 2009-07-02 負荷割当制御方法および負荷分散システム
US12/826,208 US20110004656A1 (en) 2009-07-02 2010-06-29 Load assignment control method and load distribution system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009157717A JP5244717B2 (ja) 2009-07-02 2009-07-02 負荷割当制御方法および負荷分散システム

Publications (2)

Publication Number Publication Date
JP2011015196A JP2011015196A (ja) 2011-01-20
JP5244717B2 true JP5244717B2 (ja) 2013-07-24

Family

ID=43413209

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009157717A Expired - Fee Related JP5244717B2 (ja) 2009-07-02 2009-07-02 負荷割当制御方法および負荷分散システム

Country Status (2)

Country Link
US (1) US20110004656A1 (ja)
JP (1) JP5244717B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5259725B2 (ja) 2008-10-31 2013-08-07 株式会社日立製作所 計算機システム
JP2012203430A (ja) * 2011-03-23 2012-10-22 Ricoh Co Ltd 遠隔管理装置、遠隔管理システムおよび遠隔管理プログラム
EP2570922A1 (en) * 2011-09-13 2013-03-20 Alcatel Lucent Method and system for managing an elastic server farm
CN102404140B (zh) * 2011-10-26 2014-08-20 深圳第七大道网络技术有限公司 一种分布式服务器的控制方法、装置和系统
US9356793B1 (en) * 2012-02-09 2016-05-31 Google Inc. System and method for managing load on a downstream server in a distributed storage system
JP5775481B2 (ja) * 2012-03-29 2015-09-09 株式会社日立製作所 情報処理システム及びその処理方法
US10237341B1 (en) * 2012-03-29 2019-03-19 Emc Corporation Method and system for load balancing using server dormant mode
US10284487B2 (en) * 2014-04-25 2019-05-07 Paypal, Inc. Software load balancer to maximize utilization
CN104320477A (zh) * 2014-10-31 2015-01-28 上海许继电气有限公司 基于分布式服务器实现光伏电站数据处理的方法及系统
CN108173894A (zh) * 2016-12-07 2018-06-15 阿里巴巴集团控股有限公司 服务器负载均衡的方法、装置及服务器设备
CN111459651B (zh) * 2019-01-21 2023-10-13 珠海格力电器股份有限公司 一种负载均衡方法、装置、存储介质及调度系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6795858B1 (en) * 2000-12-29 2004-09-21 Cisco Technology, Inc. Method and apparatus for metric based server selection
JP2003281008A (ja) * 2002-03-26 2003-10-03 Toshiba Corp サーバー計算機負荷分配装置、サーバー計算機負荷分配方法、サーバー計算機負荷分配プログラム及びサーバー計算機システム
US7260647B2 (en) * 2002-03-28 2007-08-21 International Business Machines Corporation Method of load balancing traffic among routers in a data transmission system
US20050038890A1 (en) * 2003-08-11 2005-02-17 Hitachi., Ltd. Load distribution method and client-server system
JP2006227963A (ja) * 2005-02-18 2006-08-31 Fujitsu Ltd 多段負荷分散装置、方法及びプログラム
JP4961146B2 (ja) * 2006-02-20 2012-06-27 株式会社日立製作所 負荷分散方法およびシステム
JP2008225642A (ja) * 2007-03-09 2008-09-25 Fujitsu Ltd 負荷分散処理システム
JP4739271B2 (ja) * 2007-04-19 2011-08-03 株式会社富士通アドバンストエンジニアリング 電源制御装置、仮想サーバ管理システム、電源制御方法および電源制御プログラム
JP5359295B2 (ja) * 2009-01-16 2013-12-04 富士通株式会社 負荷分散装置、負荷分散方法および負荷分散プログラム

Also Published As

Publication number Publication date
US20110004656A1 (en) 2011-01-06
JP2011015196A (ja) 2011-01-20

Similar Documents

Publication Publication Date Title
JP5244717B2 (ja) 負荷割当制御方法および負荷分散システム
Ghaznavi et al. Elastic virtual network function placement
KR100589831B1 (ko) 서버의 클러스터를 작동시키는 방법 및 시스템과 컴퓨터판독 가능한 기록 매체
US8468246B2 (en) System and method for allocating resources in a distributed computing system
US20190028538A1 (en) Method, apparatus, and system for controlling service traffic between data centers
JP5654022B2 (ja) 企業ネットワーク内の割り当てられたクラウドリソースの動的な負荷分散およびスケーリング
US8230438B2 (en) Dynamic application placement under service and memory constraints
CN105335229B (zh) 一种业务资源的调度方法和装置
CN107078969A (zh) 实现负载均衡的计算机设备、系统和方法
JP2006074795A (ja) ネットワークにおけるクオリティ・オブ・サービスマネージメントの改善方法
CN110061855B (zh) 一种业务处理方法、系统和装置
CN112350952B (zh) 控制器分配方法、网络业务系统
JP2005182641A (ja) 動的負荷分散システム及び動的負荷分散方法
WO2020045189A1 (ja) ネットワークサービス管理装置、ネットワークサービス管理方法およびネットワークサービス管理プログラム
Shahapure et al. Load balancing with optimal cost scheduling algorithm
CN102217247A (zh) 实现多Web应用请求调度的方法、装置及系统
US9203706B2 (en) System and method for enabling demand-based pooling of endpoint resources in a multi-application environment
KR20160025926A (ko) 가상 응용서버들로 부하를 분산하는 장치 및 방법
Ashalatha et al. Dynamic load balancing methods for resource optimization in cloud computing environment
JP2007179246A (ja) 計算機管理方法、計算機管理プログラム、および、計算機管理サーバ
US9450863B2 (en) Route request mediation apparatus, control apparatus, route request mediation method and program
JP5351839B2 (ja) オーダ処理方法、プログラムおよびネットワークシステム
CN116743755A (zh) 客服服务场景的资源调度方法、计算机设备及存储介质
JP5699589B2 (ja) 処理割り当て装置、処理割り当てシステム、処理割り当て方法、処理割り当てプログラム
JP2009199549A (ja) 計算機システム、仮想マシンへの資源割り当て方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130215

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130408

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

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees