[go: up one dir, main page]

JP2017059030A - 情報処理装置及び情報処理装置の制御方法 - Google Patents

情報処理装置及び情報処理装置の制御方法 Download PDF

Info

Publication number
JP2017059030A
JP2017059030A JP2015184097A JP2015184097A JP2017059030A JP 2017059030 A JP2017059030 A JP 2017059030A JP 2015184097 A JP2015184097 A JP 2015184097A JP 2015184097 A JP2015184097 A JP 2015184097A JP 2017059030 A JP2017059030 A JP 2017059030A
Authority
JP
Japan
Prior art keywords
resource
congestion
function unit
main function
state
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
Application number
JP2015184097A
Other languages
English (en)
Inventor
中澤 正史
Masashi Nakazawa
正史 中澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2015184097A priority Critical patent/JP2017059030A/ja
Publication of JP2017059030A publication Critical patent/JP2017059030A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】主機能部と従機能部とで構成される情報処理装置において、従機能部の輻輳による性能の低下を抑制する技術を提供する。【解決手段】情報処理装置は、処理メッセージの送信を制御する第1の主機能部と、処理メッセージを解析して解析の結果を第1の主機能部に通知する第2の主機能部と、処理メッセージを第1の主機能部から受信して処理するリソースを含む従機能部群とを備える。第2の主機能部は、第1の主機能部からリソースへ送信される処理メッセージの推定処理時間をリソースごとに累計した推定累計走行時間値に基づいてリソースの負荷量をリソースごとに判定し、負荷量の判定結果に基づいて、リソースにおける輻輳の程度を示す輻輳度を、リソースごとに判定し、輻輳度の判定結果を輻輳度通知として第1の主機能部に通知する。第1の主機能部は、輻輳度通知に含まれる輻輳度の判定結果に基づいて、対応するリソース宛の処理メッセージを処理する。【選択図】図1

Description

本発明は、情報処理装置の輻輳状態を制御する機能を備える情報処理装置及び情報処理装置の制御方法に関する。
ネットワークトラヒックの増加に伴い、ネットワークに接続された情報処理装置に求められる処理能力も増大している。さらに、情報処理装置の処理能力を上回るトラヒックによる通信障害の発生を抑制するために、情報処理装置には輻輳制御機能も必要とされる。
本発明に関連して、特許文献1には、主機能部と従機能部とを備える情報処理装置において、主機能部の処理の輻輳の程度(以下、輻輳の程度を「輻輳度」という。)が非輻輳状態と輻輳状態とのいずれにあるかを判断する機能を備える輻輳制御システムが記載されている。特許文献1に記載された技術は、主機能部が輻輳状態にあると判断された場合には、従機能部から受信された重要度が低い処理メッセージが破棄される。また、特許文献2には、サーバのリソース管理機能を備えたマシン管理システムが記載されている。
特開2009−212862号公報 特開2014−229253号公報
特許文献1に記載された情報処理装置において、従機能部の負荷が増大して輻輳度が高まると、従機能部が主機能部から受信した処理メッセージの処理に時間を要するようになる。そして、従機能部あるいは情報処理装置全体の機能が低下あるいは停止してしまう恐れがある。
例えば、従機能部が優先度が異なる複数のタスクA、Bを含むマルチタスク処理を実行する場合に、処理中であるタスクBよりも優先度が高いタスクAが新たに多数発生すると、タスクAの処理が終了するまでタスクBの処理が待たされる。すなわち、負荷の増大により、従機能部における優先度の低いタスクの処理が遅延する。
主機能部が処理メッセージを複数の従機能部に分散して配信することにより個々の従機能部の負荷はある程度軽減される。しかし、情報処理装置全体の負荷の上昇とともに1つの従機能部あたりのプロセッサ処理時間の累計値も増大するため、稼働中のタスクの数も増加し、タスクの処理に要する時間も増大する。
このような背景から、主機能部と従機能部とにより構成される情報処理装置において、従機能部における負荷制御を行い、従機能部の輻輳による情報処理装置の性能の低下を抑制するための技術が必要とされている。しかし、特許文献1、2には、従機能部の輻輳を抑制するための技術に関しては記載されていない。
(発明の目的)
本発明は、主機能部と従機能部とで構成される情報処理装置において、従機能部の輻輳による情報処理装置の性能の低下を抑制することが可能な技術を提供することを目的とする。
本発明の情報処理装置は、処理メッセージの送信を制御する第1の主機能部と、処理メッセージを解析して解析の結果を第1の主機能部に通知する、第1の主機能部に併設され第1の主機能部と通信可能な第2の主機能部と、第1及び第2の主機能部と通信可能に接続され、処理メッセージを第1の主機能部から受信して処理するリソースを含む従機能部群と、を備え、第2の主機能部は、第1の主機能部からリソースへ送信される処理メッセージの推定処理時間をリソースごとに累計した推定累計走行時間値に基づいてリソースの負荷量をリソースごとに判定し、負荷量の判定結果に基づいて、リソースにおける輻輳の程度を示す輻輳度を、第1の状態、第1の状態よりも輻輳度が高い第2の状態、及び、第2の状態よりも輻輳度が高い第3の状態のいずれかとしてリソースごとに判定し、輻輳度の判定結果を輻輳度通知として第1の主機能部に通知し、第1の主機能部は、輻輳度通知に含まれる輻輳度の判定結果に基づいて、対応するリソース宛の処理メッセージを処理する。
本発明の情報処理装置の制御方法は、第1の主機能部からリソースへ送信される処理メッセージの推定処理時間をリソースごとに累計した推定累計走行時間値に基づいて、リソースの負荷量をリソースごとに判定し、負荷量に基づいて、リソースにおける輻輳の程度を示す輻輳度を、第1の状態、第1の状態よりも輻輳度が高い第2の状態、及び、第2の状態よりも輻輳度が高い第3の状態のいずれかとしてリソースごとに判定し、輻輳度の判定結果を輻輳度通知として通知し、輻輳度通知に含まれる輻輳度の判定結果に基づいて、対応するリソース宛の処理メッセージを処理する、ことを特徴とする。
本発明の情報処理装置の制御プログラムは、情報処理装置が備えるコンピュータに、第1の主機能部からリソースへ送信される処理メッセージの推定処理時間をリソースごとに累計した推定累計走行時間値に基づいて、リソースの負荷量をリソースごとに判定する手順、負荷量に基づいて、リソースにおける輻輳の程度を示す輻輳度を、第1の状態、第1の状態よりも輻輳度が高い第2の状態、及び、第2の状態よりも輻輳度が高い第3の状態のいずれかとしてリソースごとに判定する手順、輻輳度の判定結果を輻輳度通知として通知する手順、輻輳度通知に含まれる輻輳度の判定結果に基づいて、対応するリソース宛の処理メッセージを処理する手順、を実行させる。
本発明は、主機能部と従機能部とで構成される情報処理装置において、従機能部の輻輳による情報処理装置の性能の低下を抑制することを可能とする。
第1の実施形態の情報処理装置の構成例を示すブロック図である。 輻輳度の判定基準の例を示す図である。 予備主機能部におけるリソースの輻輳度の通知処理の例を示すフローチャートである。 現用主機能部における輻輳保護処理の例を示すフローチャートである。 現用主機能部のリソースの再割り当て手順の例を示すフローチャートである。
(第1の実施形態)
本発明の第1の実施形態について説明する。図1は、第1の実施形態の情報処理装置10の構成例を示すブロック図である。情報処理装置10は、主機能部11及び従機能部群12〜14を備える。主機能部11は、現用主機能部11−1及び予備主機能部11−2を備える。情報処理装置10の機能は、情報処理装置10に備えられたCPU(Central Processing Unit、中央処理装置)がプログラムを実行することにより主機能部11及び従機能部群12〜14を含む情報処理装置10全体を制御することによって実現することができる。プログラムは、例えば、情報処理装置10が備える半導体メモリや固定磁気ディスク等の記憶部に記録される。
主機能部11は、情報処理装置10内における処理の命令やデータのアドレス等を示す処理メッセージを受信し、受信した処理メッセージを処理する。現用主機能部11−1は、従機能部群12〜14に含まれるリソースから受信した処理メッセージに基づいて、情報処理装置10の機能を実現する。また、現用主機能部11−1は、従機能部群12〜14のリソースに処理メッセージを送信するとともに、従機能部群12〜14に対して、リソース単位で機能の割り当て(例えば、処理メッセージの処理の分担)を決定する。従機能部群12〜14は、CPUの周辺装置で生成される処理メッセージやCPUにおけるプログラムの実行に伴い従機能部群12〜14において生じる処理メッセージを主機能部11に対して送信する。
予備主機能部11−2は、従機能部群12〜14の処理状態を監視する。予備主機能部11−2は、さらに、現用主機能部11−1の処理状態を監視する機能を備えてもよい。予備主機能部11−2は、同一CPU内で現用主機能部11−1の周辺機能部として機能する。現用主機能部11−1と予備主機能部11−2とは現用−予備構成を備えることもできる。現用−予備構成では、予備主機能部11−2は、現用主機能部11−1が正常に動作している間は現用主機能部11−1の機能に関しては待機状態にある。そして、現用主機能部11−1の障害時には、予備主機能部11−2は現用主機能部11−1の機能の一部又は全部を代替できる。
図1に示すように、従機能部群12は、1つ以上のリソース12−1〜12−nを備える。リソースは、従機能部群12〜14の機能を実現するための従機能部を構成する要素である。1個以上のリソースが、各従機能部群を構成する。従機能部群12〜14と主機能部との間の通信は、より具体的には、従機能部群12〜14が備える各リソースと主機能部との間の通信である。図1では従機能部群12のリソースとして12−1〜12−nのn個(nは自然数)のリソースが例示される。従機能部群12以外の従機能部群も、同様に1個以上のリソースを備える。従機能部群12〜14が備えるリソースの数は同一でなくともよい。また、従機能部群12〜14の数は3個に限定されない。
現用主機能部11−1、予備主機能部11−2及び従機能部群12〜14の各リソースの間の通信線は、ワイヤードオアにより、もしくはスイッチを介して接続される。このため、現用主機能部11−1及び予備主機能部11−2は、各リソースと相互に通信が可能である。
(現用主機能部の説明)
情報処理装置10の各部についてさらに詳細に説明する。現用主機能部11−1は、従機能部群12〜14のリソースから処理メッセージを受信する機能、受信した処理メッセージを処理する機能、処理メッセージの送信先のリソースを特定して必要なリソースに処理メッセージを返信する機能、を備える。現用主機能部11−1は、さらに、予備主機能部11−2から通知された輻輳度通知に基づいてリソースごとの輻輳度(輻輳の程度)に応じた処理を実行する機能、リソースごとの輻輳度に基づいてリソースの割り当てを管理する機能、を備える。
現用主機能部11−1は、各リソースから受信した処理メッセージに基づいて、図示されない外部装置へ応答メッセージを送信してもよい。また、現用主機能部11−1は、外部装置から受信したメッセージに基づいて、各リソースへ送信する処理メッセージを生成してもよい。外部装置は、例えばディスプレイ装置やキーボード等の入出力装置である。
(予備主機能部の説明)
予備主機能部11−2は、現用主機能部11−1から受信した処理メッセージを解析する機能、この解析結果に基づいて現用主機能部11−1から各リソースへ通知された処理メッセージの種別(メッセージ種別)をリソース毎に特定する機能、を備える。予備主機能部11−2は、上記の機能の実行結果に基づいて、通知された処理メッセージのうち、受信メッセージとしてカウントするメッセージと、カウントしないメッセージとを選別する機能を有していてもよい。
予備主機能部11−2は、さらに、特定されたメッセージ種別に基づきリソースの負荷量(テンポラリ負荷量)を算出し、テンポラリ負荷量に基づいてリソースの輻輳度を判定する機能を備える。
予備主機能部11−2は、現用主機能部11−1から通知された処理メッセージに関する、推定走行時間テーブルを備える。推定走行時間テーブルは、情報処理装置10において使用される処理メッセージのメッセージ種別と、各リソースにおいてCPUが当該種別の処理メッセージの実行処理にかかる時間の推定値(以下「走行時間」という。)とが対応付けられたリストである。これにより、予備主機能部11−2は、各リソースの処理メッセージに対する処理時間を、走行時間として迅速に取得することができる。
予備主機能部11−2は、周期タイマと受信カウンタを備える。周期タイマは、各リソースが処理メッセージに対して行う処理の周期を、予め設定された測定周期に基づきリソースごとに計測する。受信カウンタは、現用主機能部11−1がリソースに送信した処理メッセージの数をリソースごとにカウントする。これにより、上記測定周期内のリソースごとの走行時間を推定できる。
予備主機能部11−2は、処理メッセージの種別をリソース毎に特定する機能により特定されたメッセージ種別に対応した走行時間を、推定走行時間テーブルを参照して読み出す。そして、予備主機能部11−2は、読み出された走行時間を、上記測定周期内で加算して、リソースごとに推定走行時間累計値を算出する。さらに、予備主機能部11−2は、累計カウンタを備える。累計カウンタは、推定走行時間累計値に走行時間が加算された処理メッセージの数をカウントする。
予備主機能部11−2は、走行時間を推定走行時間累計値に対して加算するごとに累計カウンタの数値を1増やし、累計カウンタと受信カウンタの数を比較する。受信カウンタの値と累計カウンタの値が等しいか否かを判定することにより、受信カウンタにカウントされた処理メッセージ全てについてリソースごとの走行時間が算出され、それらの走行時間が累計カウンタに加算されたか否かを判定できる。
予備主機能部11−2は、上記の手順で算出された走行時間累計値に基づいて、上記の測定周期内でリソースにかかると推定される負荷量(以下「テンポラリ負荷量」という。)をリソースごとに算出する。そして、予備主機能部11−2は、算出されたテンポラリ負荷量に基づき、従機能部における処理負荷が、低負荷、中負荷、又は高負荷の何れの状況であるかを判定する。リソースが低負荷、中負荷、及び高負荷のいずれであるかの判定は、推定走行時間累計値を相異なる2つの閾値P、Q(0<P<Q)と比較し、比較結果に基づいてテンポラリ負荷量を3段階に区分することで判定されてもよい。例えば、推定走行時間累計値<Pであればリソースは低負荷と判定される。P≦推定走行時間累計値≦Qであればリソースは中負荷と判定される。Q<推定走行時間累計値であればリソースは高負荷と判定される。
(輻輳度の判定手順の説明)
予備主機能部11−2は、テンポラリ負荷量に基づいて各リソースの輻輳度を判定する。以下では、輻輳度の判定手順について説明する。図2は、輻輳度の判定基準の例を示す図である。リソースの輻輳度の判定は、一つ前の測定周期で求められた輻輳度(前状態)及び後の測定周期の負荷状況(後状態)に基づき行われる。輻輳度は、リソースの処理負荷が最も高い「輻輳状態」と、リソースの処理負荷が比較的低い「非輻輳状態」に大別される。そして、「非輻輳状態」は、さらに、「非輻輳状態(低輻輳)」と「非輻輳状態(準輻輳)」とに区分される。非輻輳状態(準輻輳)は、リソースの処理負荷が輻輳度が輻輳状態と非輻輳状態(低輻輳)との間にある輻輳度である。前状態が存在しない場合(例えば情報処理装置10の起動直後)においては、テンポラリ負荷量の「低負荷」、「中負荷」、「高負荷」のみに基づいて、輻輳度をそれぞれ「非輻輳状態(低輻輳)」、「非輻輳状態(準輻輳)」、「輻輳状態」と判定してもよい。
(1)前状態でリソースが「非輻輳状態(低輻輳)」の場合
前の測定周期(前状態)において、従機能部群12〜14に含まれる、あるリソース(ここでは「リソースA」とする)が「非輻輳状態(低輻輳)」であった場合は、後状態でリソースAが低負荷又は中負荷であれば、輻輳度は「非輻輳状態(低輻輳)」であると判定される。前状態においてリソースAが「非輻輳状態(低輻輳)」であった場合に、後の測定周期でリソースAが高負荷であり、かつ、高負荷状態の保護段数のカウント値が予め設定された閾値以上である場合(すなわち、所定の回数以上連続して高負荷である場合)には、リソースAは「非輻輳状態(準輻輳)」と判定される。保護段数のカウント値が閾値未満であれば、リソースAは「非輻輳状態(低輻輳)」のままと判定される。
(2)前状態でリソースが「非輻輳状態(準輻輳)」の場合
前状態でリソースAが「非輻輳状態(準輻輳)」であった場合は、後の測定周期でリソースAが低負荷である場合、低負荷状態の保護段数のカウント値が予め設定された閾値以上である場合(すなわち、所定の回数以上連続して低負荷である場合)は、リソースAは「非輻輳状態(低輻輳)」と判定される。保護段数のカウント値が閾値未満であれば、リソースAは「非輻輳状態(準輻輳)」と判定される。後の測定周期でリソースAが中負荷であれば、リソースAは「非輻輳状態(準輻輳)」と判定される。後の測定周期でリソースAが高負荷であり、かつ、高負荷状態の保護段数のカウント値が予め設定された閾値以上である場合には、リソースAは「輻輳状態」と判定される。保護段数のカウント値が閾値未満であれば、リソースAは「非輻輳状態(準輻輳)」と判定される。
(3)前状態でリソースが「輻輳状態」の場合
前状態でリソースAが「輻輳状態」であった場合は、後の周期でリソースAが低負荷であり、かつ、低負荷状態の保護段数のカウント値が予め設定された閾値以上である場合には、リソースAは「非輻輳状態(準輻輳)」と判定される。保護段数のカウント値が閾値未満であれば、リソースAは「輻輳状態」と判定される。前状態でリソースAが「輻輳状態」であった場合に、後の測定周期でリソースAが中負荷または高負荷であると判定された場合は、いずれの場合も「輻輳状態」と判定される。
上記のように、輻輳度の状態遷移に保護段数を設けることで、連続する測定周期で「非輻輳状態(低輻輳)」と「非輻輳状態(準輻輳)」と「輻輳状態」との間で状態遷移が行われる場合に、輻輳度が頻繁に遷移することを抑制できる。なお、上述のように保護段数を用いて状態遷移の判断を行う場合、輻輳度の低い状態から輻輳度がより高い状態への遷移が保護によって遅れることにより、高い負荷が長い時間継続し、リソースAの安定動作に支障をきたす恐れがある。このため、輻輳度がより大きくなる方向への遷移に用いる保護段数は比較的小さく設定されてもよい。
輻輳度は、全てのリソースに対して並行して判定されてもよい。判定された輻輳度は、輻輳度通知として現用主機能部11−1に通知される。予備主機能部11−2は、各リソースに輻輳度を通知してもよい。現用主機能部11−1は、通知された輻輳度通知に含まれる輻輳度に基づいて、リソースごとに適切な輻輳保護動作あるいはリソースの割り当てを実行できる。
以上のように、予備主機能部11−2は、現用主機能部11−1から従機能部群12〜14のリソースへ送信された処理メッセージの種別に基づいて推定走行時間を算出する。そして、予備主機能部11−2は、リソースごとの推定走行時間を累計した走行時間累計値に基づいて、テンポラリ負荷量をリソースごとに算出する。そして、予備主機能部11−2は、テンポラリ負荷量及び以前の輻輳度の判定結果に基づいて、現在の輻輳度をリソースごとに3段階のいずれかに判定する。
(従機能部群の説明)
従機能部群12〜14及びこれらが備えるリソースについて説明する。以下の説明は、特記されない限り、全ての従機能部群及びそれらが備えるリソースに関して共通である。
リソースは、情報処理装置10内に設けられたCPUにおいてプログラムが実行されることにより機能するCPU機能部である。各リソースは、主機能部11(すなわち、現用主機能部11−1及び予備主機能部11−2)から処理メッセージを受信して、受信した処理メッセージの内容を実行する。各リソースは、処理メッセージが実行された結果を主機能部11に返信する。各リソースは、処理メッセージを複製するとともに、複製された処理メッセージを現用主機能部11−1及び予備主機能部11−2に対して送信してもよい。このような構成より、予備主機能部11−2は、従機能部群12〜14と現用主機能部11−1との間で送受信される全ての処理メッセージを受信できる。
従機能部群12〜14及びそれらのリソースは、具体的には、着脱可能なハードウェア・パッケージでもよい。例えば、従機能部群12は情報処理装置10に実装されたカードであり、リソース12−1〜12−nはカード上のメモリ及びその制御デバイスである。このようなカード(すなわち、従機能部群)が情報処理装置10に1枚以上搭載される。
このような主機能部11及び従機能部群12〜14を備える情報処理装置10は、マルチタスク処理を行い、入出力装置等の外部装置とのメッセージ通信をリアルタイムかつ並列に実行する。
(輻輳保護処理の説明)
現用主機能部11−1は、予備主機能部11−2から通知された輻輳度通知を確認する。輻輳度通知は、リソースごとの輻輳度の判定結果(すなわち、「非輻輳状態(低輻輳)」、「非輻輳状態(準輻輳)」、「輻輳状態」)を含む。
現用主機能部11−1は、「非輻輳状態(準輻輳)」または「非輻輳状態(低輻輳)」にあるリソースに対しては、現用主機能部11−1が当該リソースへ送信する処理メッセージに対して通常処理を行う。通常処理では、処理メッセージはリソースに送信される。
一方、現用主機能部11−1は、「輻輳状態」にあるリソースに対しては、メッセージ判別機能により、当該リソースへ送信しようとする処理メッセージの種別及びその重要度を予め設定された基準に基づき判別する。そして、現用主機能部11−1は、「輻輳状態」にあるリソースあてのメッセージについて、重要度が高いと判別された処理メッセージと、重要度が低いと判別された処理メッセージとで異なる処理(輻輳保護処理)を行う。
具体的には、現用主機能部11−1は、重要度の低い処理メッセージを破棄、又は異常終了とする。これにより、「輻輳状態」にあるリソースにおける実行処理にかかる負荷を軽減できる。現用主機能部11−1は、新たな通信リンクの確立要求に属する処理メッセージを、重要度が低いと判別してもよい。
一方、現用主機能部11−1は、輻輳保護処理において、重要度が高いと判定された処理メッセージに対しては、リソースの輻輳度にかかわらず、通常の処理を行う。例えば、通信中の通信リンクの解放要求や保守監視要求に属する処理メッセージを、重要度が高いと判別してもよい。すなわち、リソースが「輻輳状態」にあっても、現用主機能部11−1は、重要度が高い処理メッセージを通常通りリソースに送信する。これにより、重要なメッセージが廃棄されることを防ぎつつ、従機能部群が備えるリソースにおける輻輳保護制御が実現される。
なお、現用主機能部11−1は、処理メッセージを重要度の高低で2種類に区別するのではなく、例えば高・中・低の3種類に判別してもよい。そして、3つの輻輳度に応じてリソースに送信する処理メッセージの重要度を3段階に区分してもよい。例えば、「非輻輳状態(低輻輳)」のリソースへは、全てのメッセージが送信される。「非輻輳状態(準輻輳)」のリソースへは、重要度が「高」及び「中」の処理メッセージのみが送信される。「輻輳状態」のリソースへは、重要度が「高」の処理メッセージのみが送信される。
このように、リソースの輻輳度及びメッセージの重要度を細分化して、リソースの輻輳度に応じてリソースへ送信されるメッセージを制限することで、リソースの輻輳度に応じた、よりきめ細かい輻輳保護制御が実現される。
(リソース再割り当て処理の説明)
現用主機能部11−1は、リソースごとの輻輳度に基づいてリソースの割り当てを管理する機能を備える。具体的には、現用主機能部11−1は、リソースごとに、輻輳度の継続性を確認し、「輻輳状態」が継続するリソースに対して割り当てられた処理を、「非輻輳状態(低輻輳)」が継続するリソースに割り当てる、リソース再割り当て処理を行う。
現用主機能部11−1は、予備主機能部11−2から通知される輻輳度通知の最新の内容(すなわち、リソースごとの輻輳度)を期間T1ごとに確認し、確認された輻輳度をリソースごとにカウントする。そして、現用主機能部11−1は、所定の期間T2(T2>T1)の間に輻輳状態と判定されたカウント値と、第1の輻輳状態継続閾値とを比較する。「輻輳状態」と判定されたカウント値が第1の輻輳状態継続閾値より大きい場合には、当該リソースは「輻輳継続」と判定される。例えば、現用主機能部11−1は、期間T2の間に全てのリソースの輻輳度を10回確認し、「輻輳状態」が3回以上あったリソースを「輻輳継続」と判定する。同様に、「非輻輳状態(低輻輳)」と判定されたカウント値が、第2の輻輳状態継続閾値と比較される。「非輻輳状態(低輻輳)」と判定されたカウント値が第2の輻輳状態継続閾値より大きな場合は、当該リソースは「非輻輳継続」と判定される。例えば、現用主機能部11−1は、期間T2の間に全てのリソースの輻輳度を10回確認し、「非輻輳状態(低輻輳)」が5回以上あったリソースを「非輻輳継続」と判定する。「輻輳継続」及び「非輻輳継続」の両者の条件が満たされた場合には、現用主機能部11−1は、「輻輳継続」及び「非輻輳継続」のいずれの判定も行わなくともよい。
現用主機能部11−1は、「輻輳継続」と判定されたリソースが検出されると、当該リソースを含まない従機能部群の中から、「非輻輳継続」と判定されたリソースを探す。「非輻輳継続」と判定されたリソースが他に存在する場合は、現用主機能部11−1は、「輻輳継続」と判定されたリソースの処理を「非輻輳継続」と判定されたリソースに割り当てる。現用主機能部11−1は、それまで「輻輳継続」のリソース宛に送信していた処理メッセージの宛先を変更し、新たに割り当てられた「非輻輳継続」のリソースに当該処理メッセージを送信する。
このような処理により、輻輳状態が継続しているリソースの負荷を低減することで従機能部の輻輳を抑制し、情報処理装置10全体の処理の効率化を図ることができる。
なお、「非輻輳状態(準輻輳)」のリソースは、「非輻輳状態(低輻輳)」のリソースと比較して負荷が高いため、「輻輳継続」のリソースの処理が割り当てられることで輻輳状態に陥る可能性が「非輻輳状態(低輻輳)」のリソースよりも高い。このため、上記の手順ではあるリソースについて「非輻輳状態(準輻輳)」が継続していることを、「輻輳継続」と判定されたリソースの処理の再割り当ての対象とする判断に用いていない。このように、輻輳度を3段階に区分して「非輻輳状態(準輻輳)」のリソースを再割り当ての対象とすることを抑制することで、「非輻輳状態(準輻輳)」のリソースが「輻輳継続」のリソースに代わって処理を行うことで輻輳状態に陥ることを抑制できる。
なお、「非輻輳状態(準輻輳)」が継続しているリソースを再割り当ての対象としないことを確実にするために、「非輻輳状態(準輻輳)」の継続数をカウントし、「非輻輳状態(準輻輳)」と判定されたカウント値が第3の輻輳状態継続閾値より大きい場合には、当該リソースを「準輻輳継続」と判定してもよい。「準輻輳継続」と判定されたリソースは、リソースの処理の再割り当ての対象からは除外される。
さらに、処理メッセージの重要度の高低により異なる処理を行う輻輳保護処理と、「輻輳継続」とされたリソースの処理を「非輻輳継続」とされたリソースに割り当てるリソース再割り当て処理とは、どちらか一方のみ、あるいは、両者の併用のいずれによってもリソースの輻輳度を改善できる。例えば、輻輳保護処理によって重要度の比較的高い処理メッセージのみが「輻輳状態」のリソースに送信されるようになっても当該リソースの輻輳度が低下しない場合、リソースの再割り当て処理によって当該リソースが「輻輳継続」と判定されると、リソースの負荷が分散される。その結果、輻輳保護処理のみでは負荷低減の効果が低いリソースが「輻輳継続」と判定されることで、負荷をさらに低減させることができる。
(フローチャートによる動作説明)
上述した第1の実施形態の動作を、図3〜図5のフローチャートに基づいて説明する。まず、予備主機能部11−2におけるリソースの輻輳度の通知処理の例について図3のフローチャートに基づき説明する。現用主機能部11−1における輻輳保護処理及びリソース再割り当て処理については、図4及び図5のフローチャートに基づき説明する。
図3の各ステップは、リソースごとに並行して行われる。以下のフローチャートの説明では、説明の対象となるリソースを例として「リソースB」と記載する。リソースBに関する説明は、情報処理装置10が備える全てのリソースに共通である。
図3において、予備主機能部11−2は、予め設定された周期タイマを起動して(ステップS101:「周期タイマ割り込み」)、累計カウンタ及び推定走行時間累計値を初期化する(ステップS102)。
予備主機能部11−2は、現用主機能部11−1からリソースBへ通知された処理メッセージの数をリソースごとに受信カウンタに登録するとともに、リソースBへ通知された処理メッセージをそれぞれ解析して処理メッセージの種別(メッセージ種別)を特定する(ステップS103)。予備主機能部11−2は、特定されたメッセージ種別を、処理メッセージ及びその重要度と対応づけて現用主機能部11−1に通知してもよい。
予備主機能部11−2は、予め設定された推定走行時間テーブルに基づき、メッセージ種別が特定された処理メッセージの推定走行時間値を読み出す(ステップS104)とともに、推定走行時間累計値に上記で読み出された推定走行時間値を加算する(ステップS105)。
予備主機能部11−2は、推定走行時間値を加算すると、累計カウンタの値を1増やす(ステップS106)。ここで、受信カウンタと累計カウンタの値が等しいか否かが判定される(ステップS107)。両カウンタの値が異なる場合(ステップS107:NO)は、予備主機能部11−2は受信された他の処理メッセージを解析する(ステップS103へ)。受信カウンタと累計カウンタの値が等しい場合(ステップS107:YES)は、受信された処理メッセージ全ての推定走行時間値が設定されたと判定される。
予備主機能部11−2は、推定走行時間累計値に基づき、テンポラリ負荷量を算出するとともに、当該テンポラリ負荷量が、低負荷、中負荷、もしくは高負荷のいずれに該当するかを判定する(ステップS108)。低負荷、中負荷、及び高負荷は、既述のように、推定走行時間累計値を相異なる2つの閾値と比較し、比較結果に基づいてテンポラリ負荷量を3段階に区分することで判定されてもよい。
次に、予備主機能部11−2は、上記判定結果、および現用主機能部11−1の前状態等に基づいて、リソースBの輻輳度を判定する(ステップS109:「輻輳度判定処理」)。ステップS109の処理は、既述の図2の基準により行われる。予備主機能部11−2は、ステップS109で判定されたリソースごとの輻輳度を、現用主機能部11−1に通知する(ステップS110:「輻輳度通知処理」)。
予備主機能部11−2は、現用主機能部11−1の周辺機能部であり、情報処理装置10の処理のボトルネックとはならない。このため、予備主機能部11−2が図3で説明した処理を実行しても、主機能部11全体としての処理能力は低下しない。
次に、現用主機能部11−1における輻輳保護処理について、図4のフローチャートに基づき説明する。図4は、現用主機能部11−1における輻輳保護処理の例を示すフローチャートである。図4は、図3のステップS110において、予備主機能部11−2から輻輳状態が通知された後の、現用主機能部11−1における処理の例を示すフローチャートである。
現用主機能部11−1は、リソースBへの処理メッセージの送信処理が発生すると(S201)、予備主機能部11−2から通知された輻輳度通知に基づいて、リソースBの輻輳度を判断する(ステップS202)。輻輳度は、図2に示したように、「輻輳状態」、「非輻輳状態(準輻輳)」、及び「非輻輳状態(低輻輳)」の3段階であり、この順に輻輳度(すなわちリソースBの負荷)が低い。
ステップS202において、リソースBの輻輳度が「輻輳状態」以外(すなわち、「非輻輳状態(準輻輳)」又は「非輻輳状態(低輻輳))」と判断された場合には(ステップS202:NO)、処理メッセージには通常の処理が実行される(ステップS205)。通常処理では、処理メッセージは通常通りリソースBに送信される。
リソースBの輻輳度が「輻輳状態」と判断された場合には(ステップS202:YES)、現用主機能部11−1は、リソースBに送信される処理メッセージについて、予め設定されたメッセージ種別の重要度に応じて重要度の高低を判定する(ステップS203:メッセージ種別判定)。ここで、当該処理メッセージの重要度の情報が過去に予備主機能部11−2から通知されていた場合には、現用主機能部11−1は、当該情報に基づいて処理メッセージの重要度を判定してもよい。
ステップS203において、新たな通信リンクの確立要求など重要度が低いと判断された処理メッセージに対しては、破棄処理又は異常終了処理(輻輳保護処理)が実行される(ステップS203:重要以外〜S204)。一方、重要度が高いと判断された処理メッセージは、通常通りリソースBに送信される(ステップS203:重要〜S205)。既述のように、ステップS202における輻輳状態の判定は2段階ではなく例えば3段階で行われてもよく、メッセージの重要度の判定も3段階以上で行われてもよい。これにより、よりきめ細かい輻輳保護処理が行われる。
続いて、図5を用いて「輻輳継続」のリソースが検出された場合の現用主機能部11−1の動作について説明する。図5は、現用主機能部11−1のリソースの再割り当て手順の例を示すフローチャートである。「輻輳継続」のリソースが検出されない場合は、現用主機能部11−1は、図5に示されたリソースの再割り当てを行わない。
現用主機能部11−1は、「輻輳継続」と判定されたリソース(従機能部x1、対応するリソースy1)が検出されると(図5のステップS301)、リソースy1が属する従機能部群x1を除く従機能部群の中から、「非輻輳継続」と判定されたリソースを探す(ステップS302)。「非輻輳継続」と判定されたリソースが存在する場合は(ステップS302:YES)、現用主機能部11−1は、「非輻輳継続」と判定されたリソース(従機能部x2、リソースy2)を特定し(ステップS303)、リソースy2の運用を停止する(ステップS304)。現用主機能部11−1は、リソースy2の運用停止を確認後、「輻輳継続」と判定されたリソースy1の処理をリソースy2に割り当てる。そして、リソースy2に、リソースy1の機能による運用開始を指示する(ステップS305)。ここで、現用主機能部11−1は、それまでリソースy1宛に送信していた処理メッセージを、新たに割り当てられたリソースy2に送信する。
図5に示す手順により、「輻輳継続」と判定されたリソースの負荷を低減することで従機能部の輻輳を抑制し、情報処理装置10全体の処理の効率化を図ることができる。また、図5の手順は「非輻輳状態(準輻輳)」の継続については、「輻輳継続」のリソースの処理の再割り当ての対象とする判断には用いられない。
以上説明した図4及び図5の処理はいずれか一方のみが実施されてもよく、いずれもが実施されてもよい。どちらの場合においても、第1の実施形態の情報処理装置10は、主機能部と従機能部とで構成される情報処理装置において、従機能部の輻輳による情報処理装置の性能の低下を抑制することが可能という効果を奏する。
また、第1の実施形態の情報処理装置10は、プログラムによるリソース単位での負荷の低減が可能である。このため、情報処理装置10は、従機能部の処理能力増強のためのハードウェア・リソースの増設に時間を要する場合でも、従機能部の輻輳を迅速かつ低コストで改善することができる。
(第2の実施形態)
第1の実施形態の情報処理装置10は、第2の実施形態の情報処理装置として以下のようにも表現できる。すなわち、情報処理装置は、第1の主機能部と、第2の主機能部と、リソースを含む従機能部群と、を備える。第1の実施形態との対比において、第1の主機能部は現用主機能部11−1に対応し、第2の主機能部は予備主機能部11−2に対応し、リソースを含む従機能部群は、従機能部群12〜14に対応する。
第1の主機能部は、処理メッセージの送信を制御する。第2の主機能部は、第1の主機能部に併設され、処理メッセージを解析してその解析結果を第1の主機能部に通知する。第1の主機能部と、第2の主機能部と、リソースとは通信可能に接続される。リソースは、処理メッセージを第1の主機能部から受信して処理する。
このような構成において、第2の主機能部は、第1の主機能部からリソースへ送信される処理メッセージの推定処理時間をリソースごとに累計した推定累計走行時間値に基づいて、リソースの負荷量をリソースごとに判定する。そして、第2の主機能部は、判定された負荷量に基づいて、リソースにおける輻輳の程度を示す輻輳度を、第1の状態、第1の状態よりも輻輳度が高い第2の状態、及び、第2の状態よりも輻輳度が高い第3の状態のいずれかとして前記リソースごとに判定する。第1の実施形態との対比において、第1の状態は「非輻輳状態(低輻輳)」、第2の状態は「非輻輳状態(準輻輳)」、第3の状態は「輻輳状態」にそれぞれ対応する。第2の主機能部は、輻輳度の判定結果を輻輳度通知として第1の主機能部に通知する。そして、第1の主機能部は、輻輳度通知に含まれる輻輳度の判定結果に基づいて、対応するリソース宛の処理メッセージを処理する。ここで、第1の主機能部における、輻輳度の判定結果に基づく処理メッセージの処理には、例えば、処理メッセージの重要度に基づく破棄処理や、輻輳継続状態の判定結果に基づく処理メッセージの送信先のリソースの変更(すなわち、リソースの再割り当て)が含まれる。
このような構成を備える第2の実施形態の情報処理装置も、輻輳度の判定結果に基づいて処理メッセージを処理することで、輻輳度が高い従機能部群のリソースの負荷を低減し、情報処理装置全体の処理の効率化を図ることができる。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
10 情報処理装置
11 主機能部
11−1 現用主機能部
11−2 予備主機能部
12〜14 従機能部群
12−1〜12−n リソース

Claims (7)

  1. 処理メッセージの送信を制御する第1の主機能部と、
    前記処理メッセージを解析して前記解析の結果を前記第1の主機能部に通知する、前記第1の主機能部に併設され前記第1の主機能部と通信可能な第2の主機能部と、
    前記第1及び第2の主機能部と通信可能に接続され、前記処理メッセージを前記第1の主機能部から受信して処理するリソースを含む従機能部群と、を備え、
    前記第2の主機能部は、
    前記第1の主機能部から前記リソースへ送信される前記処理メッセージの推定処理時間を前記リソースごとに累計した推定累計走行時間値に基づいて前記リソースの負荷量を前記リソースごとに判定し、
    前記負荷量の判定結果に基づいて、前記リソースにおける輻輳の程度を示す輻輳度を、第1の状態、前記第1の状態よりも輻輳度が高い第2の状態、及び、前記第2の状態よりも輻輳度が高い第3の状態のいずれかとして前記リソースごとに判定し、
    前記輻輳度の判定結果を輻輳度通知として前記第1の主機能部に通知し、
    前記第1の主機能部は、
    前記輻輳度通知に含まれる前記輻輳度の判定結果に基づいて、対応する前記リソース宛の前記処理メッセージを処理する、
    情報処理装置。
  2. 前記第1の主機能部は、前記輻輳度通知に含まれる前記輻輳度の判定結果に基づいて前記リソースの輻輳度の前記第1の状態の継続状態及び前記第3の状態の継続状態を前記リソースごとに判定し、前記第3の状態が継続していると判定された前記リソースと前記第1の状態が継続していると判定された前記リソースとが存在する場合には前記第3の状態が継続していると判定された前記リソースの処理を前記第1の状態が継続していると判定された前記リソースに割り当てる、請求項1に記載された情報処理装置。
  3. 前記第1の主機能部は、さらに、前記第2の状態の継続状態を前記リソースごとに判定し、前記第2の状態が継続していると判定された前記リソースを前記第3の状態が継続していると判定された前記リソースの処理の割り当てから除外する、請求項2に記載された情報処理装置。
  4. 前記第1の主機能部は、前記処理メッセージの重要度を複数の段階で判定し、前記輻輳度通知に含まれる前記輻輳度が所定の状態よりも高い場合に、前記重要度が所定の段階よりも低いと判定された前記処理メッセージを破棄する、請求項1乃至3のいずれかに記載された情報処理装置。
  5. 前記第2の主機能部は、
    前記負荷量を、前記推定累計走行時間値の大きさに基づいて第1の負荷量、前記第1の負荷量よりも負荷が高い第2の負荷量、及び、前記第2の負荷量よりも負荷が高い第3の負荷量のいずれかとして前記リソースごとに判定し、
    前記輻輳度を、現在の前記負荷量と過去に判定された前記輻輳度とに基づいて前記リソースごとに判定する、
    請求項1乃至4のいずれかに記載された情報処理装置。
  6. 第1の主機能部からリソースへ送信される処理メッセージの推定処理時間を前記リソースごとに累計した推定累計走行時間値に基づいて、前記リソースの負荷量を前記リソースごとに判定し、
    前記負荷量に基づいて、前記リソースにおける輻輳の程度を示す輻輳度を、第1の状態、前記第1の状態よりも輻輳度が高い第2の状態、及び、前記第2の状態よりも輻輳度が高い第3の状態のいずれかとして前記リソースごとに判定し、
    前記輻輳度の判定結果を輻輳度通知として通知し、
    前記輻輳度通知に含まれる前記輻輳度の判定結果に基づいて、対応する前記リソース宛の前記処理メッセージを処理する、
    ことを特徴とする情報処理装置の制御方法。
  7. 情報処理装置が備えるコンピュータに、
    第1の主機能部からリソースへ送信される処理メッセージの推定処理時間を前記リソースごとに累計した推定累計走行時間値に基づいて、前記リソースの負荷量を前記リソースごとに判定する手順、
    前記負荷量に基づいて、前記リソースにおける輻輳の程度を示す輻輳度を、第1の状態、前記第1の状態よりも輻輳度が高い第2の状態、及び、前記第2の状態よりも輻輳度が高い第3の状態のいずれかとして前記リソースごとに判定する手順、
    前記輻輳度の判定結果を輻輳度通知として通知する手順、
    前記輻輳度通知に含まれる前記輻輳度の判定結果に基づいて、対応する前記リソース宛の前記処理メッセージを処理する手順、
    を実行させるための情報処理装置の制御プログラム。
JP2015184097A 2015-09-17 2015-09-17 情報処理装置及び情報処理装置の制御方法 Pending JP2017059030A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015184097A JP2017059030A (ja) 2015-09-17 2015-09-17 情報処理装置及び情報処理装置の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015184097A JP2017059030A (ja) 2015-09-17 2015-09-17 情報処理装置及び情報処理装置の制御方法

Publications (1)

Publication Number Publication Date
JP2017059030A true JP2017059030A (ja) 2017-03-23

Family

ID=58390550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015184097A Pending JP2017059030A (ja) 2015-09-17 2015-09-17 情報処理装置及び情報処理装置の制御方法

Country Status (1)

Country Link
JP (1) JP2017059030A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11991001B2 (en) * 2017-11-20 2024-05-21 Qualcomm Incorporated Dynamic termination of hybrid automatic repeat request retransmissions

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04318655A (ja) * 1991-04-18 1992-11-10 Hitachi Ltd マルチコンピューターシステムにおける負荷平滑制御方法
JP2009212862A (ja) * 2008-03-04 2009-09-17 Nec Corp 輻輳制御システム、輻輳制御方法、および輻輳制御プログラム
JP2010176413A (ja) * 2009-01-29 2010-08-12 Fujitsu Ltd 情報処理装置、情報処理方法及びコンピュータプログラム
JP2010218001A (ja) * 2009-03-13 2010-09-30 Nec Corp マルチタスク処理装置及び方法、並びにプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04318655A (ja) * 1991-04-18 1992-11-10 Hitachi Ltd マルチコンピューターシステムにおける負荷平滑制御方法
JP2009212862A (ja) * 2008-03-04 2009-09-17 Nec Corp 輻輳制御システム、輻輳制御方法、および輻輳制御プログラム
JP2010176413A (ja) * 2009-01-29 2010-08-12 Fujitsu Ltd 情報処理装置、情報処理方法及びコンピュータプログラム
JP2010218001A (ja) * 2009-03-13 2010-09-30 Nec Corp マルチタスク処理装置及び方法、並びにプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11991001B2 (en) * 2017-11-20 2024-05-21 Qualcomm Incorporated Dynamic termination of hybrid automatic repeat request retransmissions

Similar Documents

Publication Publication Date Title
US11546644B2 (en) Bandwidth control method and apparatus, and device
US20140181839A1 (en) Capacity-based multi-task scheduling method, apparatus and system
US10530846B2 (en) Scheduling packets to destination virtual machines based on identified deep flow
US9124506B2 (en) Techniques for end-to-end network bandwidth optimization using software defined networking
JP6881575B2 (ja) 資源割当システム、管理装置、方法およびプログラム
CN106452818B (zh) 一种资源调度的方法和系统
CN102096602A (zh) 一种任务调度方法及其系统和设备
CN111221632A (zh) 分布式并行任务调度方法、装置、计算机设备和存储介质
US10263809B2 (en) Selecting an optimal network device for reporting flow table misses upon expiry of a flow in a software defined network
CN112882827B (zh) 用于负载均衡的方法、电子设备和计算机程序产品
EP2670085B1 (en) System for performing Data Cut-Through
WO2015001850A1 (ja) タスク割り当て判定装置、制御方法、及びプログラム
JPWO2009060530A1 (ja) ネットワーク処理制御装置,プログラムおよび方法
CN105247834B (zh) 虚拟网络功能中网络资源的分配方法、编排器及管理器
US12028255B2 (en) Virtual channel setting method and apparatus for data flow
CN108153583B (zh) 任务分配方法及装置、实时计算框架系统
US20170324619A1 (en) Network Management Method, Device, and System
US20220214926A1 (en) Virtual machine monitoring device, virtual machine monitoring method, and program
JP2013222221A (ja) 分散データ管理システム及びデータ移動管理方法
JP2017059030A (ja) 情報処理装置及び情報処理装置の制御方法
CN115883465A (zh) 流量控制方法、装置、服务器、系统及存储介质
CN115378885B (zh) 超融合架构下的虚拟机业务网络带宽管理方法及装置
JP5526748B2 (ja) パケット処理装置、パケット振り分け装置、制御プログラム及びパケット分散方法
CN103973811A (zh) 一种可动态迁移的高可用集群管理方法
CN117608848A (zh) 一种异构计算资源控制方法、装置及设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190808

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200128