JP2017045089A - 帯域制御回路、演算処理装置、および装置の帯域制御方法 - Google Patents

帯域制御回路、演算処理装置、および装置の帯域制御方法 Download PDF

Info

Publication number
JP2017045089A
JP2017045089A JP2015164494A JP2015164494A JP2017045089A JP 2017045089 A JP2017045089 A JP 2017045089A JP 2015164494 A JP2015164494 A JP 2015164494A JP 2015164494 A JP2015164494 A JP 2015164494A JP 2017045089 A JP2017045089 A JP 2017045089A
Authority
JP
Japan
Prior art keywords
bus
bandwidth
band
average
circuit blocks
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.)
Granted
Application number
JP2015164494A
Other languages
English (en)
Other versions
JP6551049B2 (ja
Inventor
森岡 清訓
Kiyonori Morioka
清訓 森岡
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015164494A priority Critical patent/JP6551049B2/ja
Priority to US15/240,250 priority patent/US10225198B2/en
Publication of JP2017045089A publication Critical patent/JP2017045089A/ja
Application granted granted Critical
Publication of JP6551049B2 publication Critical patent/JP6551049B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Bus Control (AREA)

Abstract

【課題】プロセッサと連携する複数の回路ブロックを利用する場合に、CPUと複数の回路ブロックとの間で、回路ブロックの動作状況に応じた効果的なバスの帯域制御を行う。【解決手段】帯域制御回路は、帯域制御部と、帯域制御部のそれぞれを制御する管理部と、を備える。帯域制御部のそれぞれは、上記複数の回路ブロックのそれぞれによる上記バスの使用帯域を監視する帯域監視部、上記複数の回路ブロックのそれぞれの動作期間の開始と終了とを監視する動作期間観測部、および上記複数の回路ブロックのそれぞれに対して上記バスの使用帯域を制限可能な制限部を有する。管理部は、上記複数の回路ブロックのそれぞれの上記バスの平均使用帯域と動作期間とに応じて上記バスの使用帯域を制限する。【選択図】図2

Description

本発明は、帯域制御回路、演算処理装置、および装置の帯域制御方法に関する。
近年、コンピュータのCentral Processing Unit(CPU)は微細化による性能向上が鈍
化している。そのため、Field Programmable Gate Array(FPGA)等の回路ブロック
をCPUのアクセラレータとして利用して、コンピュータの高性能化を実現する事が検討されている。
図1にFPGAを含むコンピュータ810の構成を例示する。コンピュータ810は、情報処理装置とも呼ばれる。図1のコンピュータ810は、CPU801と、メモリ802と、FPGA805を有する。CPU801とFPGA805とは、例えば、拡張バス804Aを介して接続される。FPGA805は、制御部・バスブリッジ852を有し、拡張バス804Aを通じてCPU801と通信する。また、FPGA805は、複数のUser Defined Logic(UDL)851を有する。それぞれのUDL851は、制御部・バスブリッジ852、および、拡張バス804Aを通じてCPU801、メモリ802と通信する。
また、CPU801は、複数の仮想マシン(VM)812を提供する。仮想マシン(VM)812は仮想コンピュータとも呼ばれる。仮想コンピュータは、ユーザにリソースとして仮想CPUを提供する。このような仮想マシンを提供するコンピュータ810のCPU801は、物理CPUとも呼ばれる。また、メモリ802は物理メモリとも呼ばれる。図1の例では、CPU801は、キャッシュ811を有している。
近年のコンピュータでは、仮想コンピュータの技術が普及しており、図1の例では、物理CPUの数より多い数の仮想CPUが利用可能である。すなわち、仮想コンピュータでは、ユーザは物理的な計算機リソースを持たずに、ネットワークを介して仮想的な計算機リソースを利用する。ユーザは、物理CPU、物理メモリ等の物理的な計算機リソースを購入することなく、必要に応じて計算機リソースを増減可能であり、仮想コンピュータは、クラウド型サービスを提供する。一方、物理CPUあるいは仮想CPUのアクセラレートとなる回路ブロックを含むデバイス、例えば、FPGAにおいても、回路を動作させながら部分的に一部を書き換える事が出来る機能が搭載されるようになっている。
ところで、バスを多く利用するアクセラレータが同時に動作した場合、バスが競合して、システム全体のパフォーマンスに影響を与えてしまう場合がある。特に、各アクセラレータが汎用的に設計されている場合、アクセラレータの起動元(使用者)の要求を満たす帯域以上にバスの帯域を消費してしまう問題がある。そこで、従来技術では、固定の回路、アプリケーションを想定して、システムが滞りなく処理できる総帯域を保障するため、予め、ある程度アクセラレータの特性が分かっている前提で、適切なアービトレーション、あるいは、帯域割り当て等が実施さている。
しかし、コンピュータがFPGA等の複数の回路ブロックを利用する場合に、複数の回路ブロック間で、CPU、メモリ等と、各回路ブロックとを接続するバスのアービトレーション、あるいは帯域割り当てが適切になされない場合がある。例えば、今日のように、仮想コンピュータシステムなどで複数のアプリケーション、スレッド、仮想マシン(ユー
ザ)等が、複数のアクセラレータを共用で使用する場合には、上記アービトレーション、
あるいは帯域割り当てが適切になされない場合がある。さらに、例えば、あるアプリケー
ションにおいて、ある特定のアクセラレータの処理時間がボトルネックとなる場合は、極力優先させたいという事情が生じ得る。ところが、他のアプリケーションにおいては、その特定のアクセラレータの処理時間がボトルネックになるとは限らない。したがって、他のアプリケーションにおいては、その特定のアクセラレータには帯域制限を設定し、むしろ、他のアクセラレータを優先した方が望ましい、という状況が生じ得る。つまり、特定のアプリケーションに着目することがコンピュータシステムの全体最適にはならないという事が起こり得る。
特表2008−541217号公報 特開2006−350573号公報 特開2012−199788号公報 特開2004−326180号公報
1つの側面では、本発明は、CPU等のプロセッサと連携する複数の回路ブロックを利用する場合に、プロセッサと複数の回路ブロックとの間で、それぞれの回路ブロックの動作状況に応じた効果的なバスの帯域制御を行うことを目的とする。
一側面は、バスを介してプロセッサと連携する複数の回路ブロックのそれぞれに対して設けられる帯域制御部と、帯域制御部のそれぞれを制御する管理部と、を備える帯域制御回路によって例示できる。この帯域制御部のそれぞれは、上記複数の回路ブロックのそれぞれによる上記バスの使用帯域を監視する帯域監視部、上記複数の回路ブロックのそれぞれの動作期間の開始と終了とを監視する動作期間観測部、および上記複数の回路ブロックのそれぞれに対して上記バスの使用帯域を制限可能な制限部を有する。
また、管理部は、上記複数の回路ブロックのそれぞれの上記バスの平均使用帯域と動作期間とに応じて上記バスの使用帯域を制限する。
本帯域制御回路によれば、CPU等のプロセッサと連携する複数の回路ブロックを利用する場合に、プロセッサと複数の回路ブロックとの間で、回路ブロックの動作状況に応じた効果的なバスの帯域制御を行うことができる。
FPGAを含むコンピュータの構成を例示する図である。 実施形態の情報処理装置の構成を例示する図である。 情報処理装置におけるバスの構成を例示する図である。 帯域制御部の詳細構成を例示する図である UDLの動作期間と所定監視期間との関係を例示する図である。 UDLの使用帯域が制御される処理を例示する図である。 管理部が実行する閾値決定の処理フローを例示する図である。 帯域制限処理のフローを例示する図である。 実施形態の処理による効果を例示する図である。
以下、図面を参照して、一実施形態に係る帯域制御回路を含む情報処理装置について説
明する。以下の実施形態の構成は例示であり、本情報処理装置は実施形態の構成には限定されない。本実施形態では、バスを介してプロセッサと連携する複数のアクセラレータと、プロセッサとを含む情報処理装置が例示される。アクセラレータとしては、例えば、FPGAとして提供される複数の回路ブロックを想定する。FPGAとして提供される複数の回路ブロックは、複数のUser Defined Logic(UDL)と呼ばれる。さらに、本実施形態のアクセラレータであるFPGAは、複数のUDLに対してそれぞれ帯域制御を行う帯域制限回路を含む。
図1は比較例に係る情報処理装置810の構成を例示する。本実施形態では、情報処理装置上で、仮想コンピュータなど、複数の仮想マシン(Virtual Machine、VM)がユー
ザに提供され、さらに、複数のユーザがそれぞれの仮想マシンの処理に対してFPGAを適宜マッピングして利用するケースを想定する。仮想マシンの処理に対してマッピングされるFPGAの回路ブロックは、ソフトウェアライブラリの様に、FPGAを利用するアプリケーションの要求性能によらず、可能な限り性能が高くなるように設計される事が想定される。
一方で、アクセラレータの中にはバス利用量、すなわち使用帯域が相対的に少なく演算が主体となるものと、バスを多く利用するものが混在する。しかしながら、動的に回路が配置される場合には、同時期に動作する回路間でのバス等の共有リソースの調整を予め決定することが困難な場合がある。そこで、本情報処理装置は、FPGAが使うバス帯域を観測する事によって、アプリケーションによる使われ方を含めた動作期間を観測し、動作期間の所定期間中に対する比率である動作率(稼働率ともいう)を推定する。そして、本情報処理装置は、観測した動作期間、あるいは、推定した動作率を根拠に、共有リソースでの1つあるバスの帯域の個々のFPGA内のUDLへの効果的な割り当てを実現する手法を提供する。なお、FPGAが使用するバスの帯域としては、FPGAからメモリに至るメモリバスを例示できる。ただし、本実施形態の手法は、メモリバスに限定されず、FPGAから例えば、CPUに至るバスにも適用できる。
<構成>
図2に、本実施形態の情報処理装置10の構成を例示する。情報処理装置10は、CPU1と、メモリ2と、FPGA5を有する。なお、図2では、省略されているが、情報処理装置10は、外部記憶装置、Network Interface Card(NIC)等の周辺装置を有してもよい。CPU1は、キャッシュ11を有し、キャッシュ11を用いてメモリ2にアクセスする。CPU1上では、複数の仮想マシン(VM)12がユーザに提供される。ユーザが利用するアプリケーションプログラムは、仮想マシン12の割り当てを受けて、仮想マシン12上で実行される。ただし、CPU1は、仮想マシン12を介さずに、プロセス、スレッド等によってプログラムを実行するものでもよい。CPU1はプロセッサの一例である。CPU1とFPGA5とが演算処理装置の一例である。ただし、情報処理装置10が演算処理装置の一例であってもよい。
FPGA5は、制御部・バスブリッジ52と、UDL51と、帯域制御部6と、管理部7を有する。FPGA5の各構成要素は、ゲート、メモリ等のデジタル回路を組み合わせたハードウェア回路である。ただし、FPGA5の各構成要素にプロセッサとプログラムを記憶したメモリが含まれてもよい。
制御部・バスブリッジ52は、FPGA5内の回路と、CPU1、あるいは、メモリ2との間で、バスを介して情報を授受する。本実施形態において、制御部・バスブリッジ52の構成に限定がある訳ではない。制御部・バスブリッジ52は、例えば、アドレスラインとデータラインと制御ラインとによってCPU1、あるいは、メモリ2と接続されてもよい。また、制御部・バスブリッジ52は、パケットを授受するシリアルバスによってC
PU1、あるいは、メモリ2と接続されてもよい。制御部・バスブリッジ52がパケットを授受するシリアルバスによってCPU1、あるいは、メモリ2と接続される場合には、制御部・バスブリッジ52は、ルータとも呼ばれる。
UDL51は、例えば、FPGA5上で再構成可能なデジタル回路の組み合わせである。UDL51は、回路を再構成することで、様々なアプリケーションプログラムに対するアクセラレータとしての処理を提供する。このようにFPGA5のUDL51がアプリケーションに要求される様々な処理を提供する場合に、UDL51が当該処理に割り当てられる、あるいは、マッピングされるという。UDL51は回路ブロックの一例である。
UDL51の回路規模は、提供する機能に応じて様々である。UDL51は、例えば、信号処理用の積和演算回路、画像処理用のフィルタ回路、データの暗号化回路あるいは復号化回路、コンピュータグラフィクス用の処理回路等である。UDL51は、実行する処理に応じて、演算処理を主に実行するもの、バスを介してメモリ2等とのデータ授受を主として行うもの、演算処理とデータ授受の両方を同程度の比率で行うものなどに分類できる。
帯域制御部6は、それぞれのUDL51と対になって設けられる。帯域制御部6は、CPU1からUDL51の処理を起動する信号、処理を終了する信号、およびUDL51とバスとの間のデータの入出力の信号を観測し、観測結果を管理部7に報告する。そして、帯域制御部6は、管理部7からの指示にしたがって、対となっているUDL51によるバスの使用帯域を制限する。
管理部7は、各帯域制御部6からの観測結果を受け取り、FPGA5内のUDL51全体によるバスの使用帯域を確認し、各UDL51の動作状況とバスの使用帯域、FPGA5内のUDL51全体のバスの使用帯域の総和等から、各UDL51に対してバスの使用帯域を効果的に割り当てる。
すなわち、帯域制御部6と管理部7は、連携して、UDL51間のバスの使用帯域の割当、または使用帯域の制限を決定する。そして、帯域制御部6と管理部7は、様々な処理にマッピングされ動作している各UDL51の組み合わせが動的に変化しても、適切に各UDL51に対するバスの使用帯域の割当、または使用帯域の制限を決定する。すなわち、帯域制御部6と管理部7は、個々のUDL51の動作時の使用帯域に加え、動作時以外の時間を含む所定監視期間において、UDL51の動作状況を把握する。また、帯域制御部6と管理部7は、個々のUDLを観測する事で間接的に、FPGA5内のUDL51全体の動作状況を把握する。管理部7は、上記動作状況の観測結果に基づいて、バスの帯域制御の対象とするUDL51を決定し、決定したUDL51の動作状況に応じて帯域制御を実施する。
より具体的には、帯域制御部6は、CPU1からUDL51への起動信号と終了信号を観測し、UDL51の動作期間を把握する。そして、帯域制御部6は、UDL51の起動から終了までの1つの動作期間で、UDL51によるバスの使用帯域を観測する。また、帯域制御部6は、UDL51の動作期間とは無関係に、1つの動作期間より長い所定監視期間当たりで回路の動作率、つまり、所定監視期間中の動作期間の比率を計測する。なお、帯域制御部6は、動作率に代えて、非動作期間(アイドル期間)の比率を計測してもよい。計測した動作率(非動作率)は、UDL51の固有の特性を示す動作率の推定値として用いられる。また、帯域制御部6は、この所定監視期間おけるUDL51によるバスの平均使用帯域を観測する。
管理部7は、UDL51が起動されるタイミング、予め決められたタイミング、あるい
は予め決められた周期で、FPGA5のUDL51全体によるバスの使用帯域の総和を確認する。そして、バスの使用帯域の総和が不足する場合に、管理部7は、FPGA5中のUDL51のうち、帯域制限するUDL51を決定し、帯域制限を行う。より具体的には、管理部7は、動作中のUDL51について、バスの使用帯域の総和を計測し、計測したバスの使用帯域の総和が所定の基準値(Starget)以上か否かを判定する。ただし、管理
部7は、「基準値(Starget)以上か否か」の代わりに、「基準値(Starget)を超えるか否か」を判定してもよい。
そして、管理部7は、バスの使用帯域の高低を判定するための閾値を動的に決定する。そして、バスの使用帯域の総和が不足する場合に、管理部7は、バスの使用帯域が閾値を超えるUDL51のうち、動作率が相対的に低いものに対して帯域制限を実施する。
例えば、バスの使用帯域が閾値以上のもののうち、動作率が相対的に低いものは間欠的な動作を行っていると判断され、より強く帯域制限を受ける。つまり、間欠動作しているUDL51は、現時点を含む短期間は帯域を大きく消費するが、ある長期間で見ると帯域消費が相対的に低いと判断できる。したがって、間欠動作しているUDL51に帯域制限を実施してもある程度の長期間で見ると、帯域制限の影響は小さいと考えられる。
一方、バスの使用帯域が閾値以上のもののうち、動作率が相対的に高いものはクリティカルタスクを実行していると判断される。クリティカルタスクを実行しているUDL51には優先的にバスの使用帯域が割り当てられる。また、バスの使用帯域が閾値未満のものは、演算が主に支配的なタスクを実行していると判断される。演算が支配的なUDL51には優先的にバスの使用帯域が割り当てられる。
図3に、本情報処理装置におけるバスの構成を例示する。図3のように、CPU1、メモリ2、およびFPGA5は、チップセット3とチップセット3に接続されるバスによって接続される。すなわち、チップセット3は内部バス3Aを介してCPU1に接続されるとともに、メモリバス3Bを介してメモリ2に接続される。さらに、チップセット3は外部バス3Cを介して拡張バスインターフェース4に接続される。拡張バスインターフェース4は、拡張バス4Aを介してFPGA5の制御部・バスブリッジ52に接続される。制御部・バスブリッジ52は、FPGA内の伝送路4Bを介して帯域制御部6に接続される。また、それぞれの帯域制御部6は、管理部7に接続される。
したがって、UDL51がメモリ2、あるいはCPU1と情報を授受する場合に、情報授受の経路となる伝送路4B、拡張バス4A、外部バス3C、メモリバス3B、内部バス3A等のうち、最も帯域が狭いバスにおける帯域の割り当てが問題となる。本実施形態では、帯域制御部6は、UDL51が伝送路4Bとの間でデータを授受するときのUDL51の動作期間の開始および終了と、使用帯域とを観測し、UDL51の伝送路4Bの使用帯域を制限する。伝送路4Bの使用帯域が制限されることで、上記経路となる伝送路4B、拡張バス4A、外部バス3C、メモリバス3B、内部バス3A等での使用帯域が制限される。伝送路4B、拡張バス4A、外部バス3C、メモリバス3B、内部バス3Aがバスの一例である。
図4に、帯域制御部6の詳細構成を例示する。ただし、図4では、帯域制御部6とともに、UDL51、制御部・バスブリッジ52、管理部7、共有タイマー8も記載されている。図4のように、帯域制御部6は、モニタ61と、平均データ量観測部62と、動作期間観測部63と、制御部64と、帯域制限部65と、リクエスト遮断部66を有する。すでに述べたように、FPGA5の各構成要素は、ゲート、メモリ等のデジタル回路を組み合わせたハードウェア回路である。したがって、帯域制御部6、管理部7も、ゲート、メモリ等のデジタル回路を組み合わせたハードウェア回路である。ただし、帯域制御部6、
または、管理部7に、プロセッサとプログラムを記憶したメモリが含まれてもよい。
モニタ61は、UDL51と制御部・バスブリッジ52との間の信号を監視する。例えば、モニタ61は、UDL51と制御部・バスブリッジ52との間の信号線を分岐し、平均データ量観測部62および動作期間観測部63に送出する。したがって、モニタ61は、信号の分岐回路を有していればよい。モニタ61が監視する信号は、例えば、シリアルバスのパケットでもよいし、データ線、アドレス線、制御線等を含む信号線であってもよい。
制御部・バスブリッジ52からUDL51には初期化または処理の起動を指示する信号が送出される。初期化または処理の起動を指示する信号は、CPU1上のアプリケーション(あるいは仮想マシン)がUDL51を起動し、あるいは、初期化する指令を伝える信号である。一方、UDL51から制御部・バスブリッジ52には、終了または動作中を示す信号、およびリクエスト信号が送出される。終了または動作中を示す信号は、UDL51が処理を終了したこと、あるいは動作中であることを伝える信号である。リクエスト信号は、例えば、メモリ2からの読み出し、あるいは、メモリ2への書き込みを要求する信号である。リクエスト信号は、例えば、読み出し、あるいは書き込みの指示、メモリ2の読み出しアドレスあるいは書き込みアドレス、および読み出しデータ量あるいは書き込みデータ量を含む。動作期間観測部63は、モニタ51から送出された初期化または起動中を指示する信号、終了または起動中を示す信号を基にUDL51の動作期間の開始と終了を特定し、制御部64に伝達する。動作期間観測部63は、複数の回路ブロックのそれぞれの動作期間の開始と終了とを監視する動作期間観測部の一例である。制御部64は、UDL51の動作期間の開始と終了を平均データ量観測部62に伝達する。
平均データ量観測部62は、UDL51が動作中の期間(以下、動作期間)における平均使用帯域、および、UDL51の動作期間とは無関係な所定監視期間における平均使用帯域を計測し、制御部64に伝達する。平均データ量観測部62は、複数の回路ブロックのそれぞれによるバスの使用帯域を監視する帯域監視部の一例である。制御部64は、平均データ量観測部62で計測された2つの平均使用帯域を管理部7に伝達する。平均データ量観測部62は、例えば、UDL51からメモリ2に送出されるリクエスト信号を取得する。ただし、平均データ量観測部62は、例えば、シリアルバスについては、UDL51からメモリ2に送出されるリクエストパケットを取得すればよい。平均データ量観測部62は、リクエスト信号に含まれる読み出しまたは書き込みデータ量を取得し、データ量を積算する。そして、平均データ量観測部62は、積算されたデータ量から、単位時間当たりのデータ量である、上記2つの平均使用帯域を算出する。なお、読み出しデータまたは書き込みデータが固定長で入出力される場合には、平均データ量観測部62は、リクエスト信号の送信回数を計数し、データ量を積算すればよい。
管理部7は、各UDL51の帯域を積算した平均使用帯域の総和が所定の基準値(Starget)を超える場合には、各UDL51の動作期間の情報、および各UDL51の2つの
平均使用帯域を基に、帯域制限するUDL15を決定する。そして、管理部7は、帯域制限するUDL51の帯域制御部6の制御部64に目標帯域制限値を通知する。
通知を受けた制御部64は、通知を受けた目標帯域制限値を帯域制限部65に指示する。制御部64は、帯域制御部6の各部と管理部7とのインターフェース回路ということができる。
帯域制限部65は、指示された目標帯域制限値にしたがって、リクエスト遮断部66のスイッチをオンあるいはオフに制御する。リクエスト遮断部66はUDL51から制御部・バスブリッジ52へのリクエスト信号を遮断または接続するスイッチを有する。リクエ
スト遮断部66は、帯域制限部65からの指示にしたがってスイッチをオンまたはオフに接続する。なお、本実施形態における帯域制限部65からリクエスト遮断部66へのスイッチをオンまたはオフの指示は、UDL51において、リクエスト信号に対する応答受信時にUDL51の動作が継続不能となるタイムアウトエラーが発生しうる場合、タイムアウトしない範囲で行う。すなわち、本実施形態では、UDL51においてタイムアウトエラーが発生しない範囲でスイッチオフの期間が設定される。帯域制限部65とリクエスト遮断部66は、複数の回路ブロックのそれぞれに対してバスの使用帯域を制限可能な制限部の一例である。
共有タイマー8は、時間を計測し、帯域制御部6に通知する。例えば、帯域制御部6の併記データ量観測部は、共有タイマー8により計時し、所定監視期間内の平均使用帯域を算出する。
図5に、UDL51の動作期間と、所定監視期間の関係を例示する。図5では、2つのUDL15(UDL51AとUDL51B)について、それぞれの動作期間と使用帯域が例示されている。図5で横軸が時間(期間)であり、縦軸が帯域である。図5では、UDL51AおよびUDL51Bは、ともに所定監視期間P0中に、それぞれ3回の動作期間を含む。ただし、UDL51Aの動作期間は、UDL51Bの動作期間よりも短い。一方、UDL51Aの動作期間中の平均使用帯域は、UDL51Bの動作期間中の平均使用帯域より大きい。図5のように、動作期間が短いが平均使用帯域が大きいUDL51Aと、UDL5よりも動作期間が長いが平均使用帯域が小さいUDL51Bの使用帯域を以下の2種類の算出方法で評価する。
第1の平均使用帯域は、UDL51の動作期間中に、バスに入出されるデータ量を動作期間の長さ(時間)で割り算した平均使用帯域をいう。第1の平均使用帯域は、動作中平均使用帯域の一例である。第2の平均使用帯域は、所定監視期間中にバスに入出されるデータ量を所定監視期間の長さ(時間)で割り算した平均使用帯域をいう。したがって、第2の平均使用帯域は、UDL51の動作期間とは無関係に決定される平均使用帯域ということができる。第2の平均使用帯域は、回路ブロックのそれぞれの動作期間に限定されない所定監視期間におけるバスの平均使用帯域の一例である。
以上の構成から、FPGA5は以下の構成を有する。
A.FPGA5は、1つ以上のCPU1で実行されるアプリケーションの処理にマッピングされる複数の回路ブロック(UDL)を有し、上記一つ以上のCPU1が相互に連携して信号処理を行う。
B.FPGA5は、UDL51の起動、終了などの動作状況を観測し、あらかじめ決められた期間におけるUDL51の動作率を測定する動作期間観測部63を有する。動作率は、例えば、{(一定期間−UDLの停止中)/一定期間}等の式によって算出される。
C.FPGA5は、平均データ量観測部62を有する。平均データ量観測部62は、メモリ2等へのアクセスのリクエスト信号から、帯域制御が掛かっていない場合のUDL51の動作期間に入出力されるデータ量の時間平均(第1の平均使用帯域)を計測する。また、平均データ量観測部62は、UDL51の動作期間と無関係に計測される、所定監視期間において入出力されるデータ量の時間平均(第2の平均使用帯域)を観測する。
D.FPGA5は、予め決められた平均データ量に帯域を制限する帯域制御部65を有する。
E.FPGA5は、帯域制御部65からのオンおよびオフ信号にしたがって、バスの新規リクエストを遮断するスイッチをもつリクエスト遮断部66を有する。
F.管理部7は、例えば、UDL51を新たに起動するときに、新たに起動されるUDL51とすでに動作中のUDL51の使用帯域の総和が、予め決められた閾値超える場合に、動作中のUDL51を観測した動作状況から、いずれかのUDL51の帯域制御を行う
事を決定する。ただし、新たに起動されるUDL51の使用帯域は、任意の初期値(例えば、0)として設定される。そして、所定回数の繰り返し計算により、管理部7は、使用帯域の総和が、予め決められた閾値を超えるか否かを判定する。
G.A.〜F.の各処理は、一定期間停止していたUDL51を新たに起動する際に実行される。ただし、A.〜F.の各処理は、所定のタイミング、あるいは所定の周期で実行されるようにしてもよい。
<使用形態>
本実施形態の帯域制御部6および管理部7は、FPGA5に適用される。CPU1は、1または複数のUDL51をCPU1で実行されるアプリケーションの処理に適用する。FPGA5が、例えば、部分再構成機能(パーシャルリコンフィグ機能)と呼ばれる部分的な回路構成の書き換え機能を有する場合には、本実施形態の帯域制御部6および管理部7が効果を発揮する。
さらに、CPU1が仮想マシンを提供し、仮想マシン上で動作しているアプリケーションが1または複数のUDL51を占有して利用するケースにおいて、本実施形態の帯域制御部6および管理部7が効果を発揮する。
なお、複数の仮想マシン、プロセスが1または複数のUDLを共有する場合には、CPU1のデバイスドライバ、制御部・バスブリッジ52、UDL51のインターフェース等で、アクセスがシリアル化されるので、本実施形態の帯域制御部6および管理部7が適用可能である。本実施形態では、UDL51の動作期間、バスの平均使用帯域は、UDL51の単位で計測される。したがって、本実施形態に例示の処理では、帯域制御部6および管理部7は、1つの仮想マシン(あるいはプロセス)からの起動による処理か、複数の仮想マシン(あるいはプロセス)からの起動による処理かを区別しなくてもよい。
<処理フロー>
図6にUDL51の使用帯域が制御される処理を例示する。図6で横軸は、時間を示し、縦方向の長さは、各UDL51が使用するバスの使用帯域を例示する。図6では、区間1において、3つのUDL51(UDL51A、UDL51B、UDL51C)が起動している。区間1において、UDL51Aは、他のUDL51と比較して、動作期間は短いが使用帯域が大きい。そして、図6では、区間2の始めに、UDL51Dが起動されている。図6では、UDL51Aの動作期間中の使用帯域が大きいために、UDL51Dが起動されると、UDL51AからUDL51Dまでの全体の使用帯域が所定の制限値(Starget)を超えてしまう場合を想定している。そこで、図6では、動作率が他よりも低いU
DL51Aの使用帯域を制限することで、UDL51Dの使用帯域が確保される。
管理部7は、一定期間、例えば、所定監視期間以上停止していたUDL51(図6ではUDL51D)を起動したとき、または定期的に、以下の処理を実行する。管理部7は、動作中のUDL51の第1の平均使用帯域を集計し、動作中のUDL51すべてについての第1の平均使用帯域の総和St1が、閾値Stargetより高い(あるいは閾値Starget以上)か否かを判定する。そして、総和St1が、閾値Stargetより高い(あるいは閾値Starget以上
、以下同様)と判断された場合に、管理部7は、UDL51の中から第1の平均使用帯域が閾値T以上のもの(あるいは閾値Tを超えるもの、以下同様)を選択し、帯域制限を実施する。定性的には以下のような優先順位づけが行われる。
管理部7は、第1の平均使用帯域が閾値T以上のもののうち、動作率が低いものは、間欠動作しているとみなし、帯域制限を掛ける候補(複数)とする。一方、管理部7は、第1の平均使用帯域が閾値T以上のものでも動作率が高いものについては、クリティカルタスクとしてなるべく優先する。また、第1の平均使用帯域が閾値T未満のものについては
、管理部7は、帯域小であるか、または演算主体のUDL51であると判断する。すなわち、第1の平均使用帯域が閾値T未満のものは消費帯域が低いので、そのまま優先される。
ここで、閾値Tは、第1の平均使用帯域と第2の平均使用帯域と各UDL51の動作期間によって決定される。管理部7は、閾値Tを基に帯域制限の候補となるUDL51を選定し、選定された候補について優先的に帯域を制御することで、FPGA5内のUDL51全体が目標帯域を満たすように制御する。
閾値Tの決定フローは以下の通りである。
(ステップ1)ある閾値Tを与えた時、管理部7は、閾値Tを基にUDL51を分類する。すなわち、管理部7は、第1の平均使用帯域が閾値T以上の第1のグループと、閾値T未満の第2のグループにUDL5を分類する。
(ステップ2)そして、管理部7は、第1の平均使用帯域がT以上のUDL51(第1の
グループ)についての第1の平均使用帯域の総和Sht1、および第2の平均使用帯域の総和Sht2を算出する。また、管理部7は、第2の平均使用帯域がT未満のUDL51(第2のグループ)についての第1の平均使用帯域の総和Slt1、および第2の平均使用帯域の総和Slt2を算出する。したがって、UDL51動作中の第1の平均使用帯域の総和をSt1、および、UDL51非動作時を含む所定監視期間における第2の平均使用帯域の総和をSt2と
して、以下の式1,式2が成立する。
St1=Sht1+Slt1;(式1)
St2=Sht2+Slt2;(式2)
(ステップ3)そして、管理部7は、Sht1+Slt2を計算し、Sht1+Slt2が目標帯域Starget
以下になるようにTを決定する。より具体的には、管理部7は、閾値Tを変更して、ステップ1〜ステップ3を繰り返すことで、Sht1+Slt2が目標帯域Starget以下になる閾値Tを求める。例えば、管理部7は、2分探索などの手法でSht1+Slt2 <= Stargetとなるように、閾値Tを決定する。ただし、管理部7は、Sht1+Slt2の各項に重みAlpha, Betaを用いてAlpha・Sht1+Beta・Slt2 <= Stargetとなるように閾値Tを決定してもよい。ここで、Alpha、Betaは、1未満の任意の正数である。Alpha、Betaを1に設定してもよい。
図7に、管理部7が実行する閾値T決定の処理フローを例示する。この処理は、UDL51が一定期間停止した後に起動されるか(S1でYES)、共有タイマー8によって所定のタイミングまたは所定の周期で開始する。処理が起動されると、管理部7は、閾値Tと繰り返し数nを初期化する(S2)。初期化のためのパラメータは、例えば、CPU1がFPGA5内のレジスタに格納しておけばよい。
次に、管理部7は、閾値Tによって定まる第1のグループに対する第1の平均使用帯域の総和Sht1、第2のグループに対する第1の平均使用帯域の総和Slt1、第1のグループに対する第2平均使用帯域の総和Sht2、第2のグループに対する第2の平均使用帯域の総和Slt2を計算する(S3)。
そして、管理部7は、繰り返し数nが0になったか否かを判定する(S4)。そして、繰り返し数nが0になっていない場合、管理部7は、Alpha・Sht1+Beta・Slt2 <= Stargetか否かを判定する(S5)。
そして、S5の判定でYESの場合、閾値Tをプラス方向に更新するとともに、nを1つカウントダウンする(S6)。閾値Tの更新は、例えば、閾値Tの値の現在値から最大値までの範囲での2分探索で行ってもよい。また、閾値Tの更新は、固定値の増分を加算するものでもよい。閾値Tの範囲および増分は、例えば、CPU1がFPGA5のレジス
タに設定すればよい。そして、管理部7は、S3の処理に戻る。
一方、S5の判定でNOの場合、閾値Tをマイナス方向に更新するとともに、nを1つカウントダウンする(S7)。閾値Tの更新は、例えば、Tの値の現在値から最小値までの範囲での2分探索で行ってもよい。また、閾値Tの更新は、固定値の増分を減算するものでもよい。そして、管理部7は、S3の処理に戻る。
そして、S3の判定で繰り返し数nが0になった場合、管理部7は、算出された帯域制限値(閾値T)を新帯域制限値(算出された新たな閾値T)に更新する(S8)。そして、管理部7は、閾値T決定の処理フローを終了する。管理部7がS2−S8の処理を実行することは、複数の回路ブロックのそれぞれの動作期間におけるバスの動作中平均使用帯域の第1のグループにおける総和と回路ブロックのそれぞれの動作期間に限定されない所定監視期間におけるバスの平均使用帯域の第2のグループにおける総和とが所定の条件の満足するように閾値を決定することの一例である。
次に、図7の処理で決定された閾値Tによる帯域制限処理について説明する。管理部7は、決定した閾値T以上のUDL51の中で、動作率に応じて帯域に制限を掛ける。直接的には第1、第2の平均使用帯域の値から、第1の平均使用帯域を抑制する値を求めて制
御を行う。ただし、最低帯域保証などの閾値を別途設けても良い。
(処理例1)
UDL51毎に、管理部7は、リクエスト遮断部66による遮断の割合を開閉率=(第2
の平均使用帯域)/(第1の平均使用帯域)に設定し、帯域制御部6に指示する。この結果、究極的には、各UDL51の帯域が第2の平均使用帯域に制限されることになる。開閉率=(第2の平均使用帯域)/(第1の平均使用帯域)の値は、動作率が低いほど小さな値とな
る。なぜなら、動作率が低いほど動作中の割合が少なくなり、図6のUDL51Aのように、所定監視期間P0における未動作の期間が多くなり、第1の平均使用帯域と比較して、第2の平均使用帯域の値が小さくなるからである。したがって、処理例1では、動作率が低いUDL51ほど、強い帯域制限が加えられること結果となる。
図8に処理例1による帯域制限処理のフローを例示する。管理部7は、FPGA5内のすべてのUDL51に対して図8の処理を実行する。いま、次に処理するUDL51をUDL51n(n=1,2,・・・)とする。まず、管理部7は、UDL51nが第1の平均使用帯域T1(動作期間中における平均使用帯域)の総和St1が基準値Starget以上か否かを判定する(S10)。総和St1が基準値Starget未満の場合には、管理部7は、処理を終了する。一方、総和St1が基準値Starget以上の場合、管理部7は、UDL51nの第1の平均使用帯域T1、第2の平均使用帯域T2を所定の記憶先(メモリ2等)から読み出す(S11)。そして、管理部7は、UDL51nの第1の平均使用帯域T1が閾値T以上か否かを判定する(S12)。UDL51nの第1の平均使用帯域T1が閾値T以上の場合には、管理部7は、リクエスト遮断部66の開閉率を第2の平均使用帯域/第1の平均使用帯域に設定する(S13)。一方、UDL51nの第1の平均使用帯域T1が閾値T未満の場合には、管理部7は、リクエスト遮断部66の開閉率を1(100%)に設定する(S14)。そして、管理部7は、開閉率をUDL51nの帯域制御部6に送信する(S15)。ここで、開閉率は制限割合の一例である。そして、管理部7は、すべてのUDL51n(n=1,2,・・・)について処理を終了したか否かを判定する(S16)。そして、未処理のUDL51nがある場合には、管理部7は、S11の処理に戻る。一方、すべてのUDL51nについて処理を終了した場合には、管理部7は、処理を終了する。なお、図8の処理では、新たに起動されたUDL51について、平均使用帯域の初期値が0に設定された場合には、S10の判断でNOとなり、処理が終了することがあり得る。しかしながら、図8の処理は、次に新たなUDL51が起動された場合、あるいは、
共有タイマー8により定期的に起動される。次回のタイミングでは、今回新たに起動されたUDL51については、平均使用帯域の実測値が計測済みであり、帯域制限の対象に含めることができる。
(処理例2)
比率を掛けてT以上のUDL51の帯域を一律(係数=Slt2/Slt1に)制限する。その結果、第1の平均使用帯域が閾値T以上であるUDL51のバスの使用帯域が一律制限される結果となる。この場合には、S13において、開閉率が係数=Slt2/Slt1に設定されることになる。
管理部7が、図7、図8の処理を実行することは、管理部が複数の回路ブロックのそれぞれのバスの平均使用帯域と動作期間とに応じてバスの使用帯域を制限することの一例である。また、管理部7が、S10の判定でYESの場合にS11からS15の処理を実行することは、複数の回路ブロックのそれぞれの動作期間におけるバスの動作中平均使用帯域の総和が所定の基準値を超える場合に、複数の回路ブロックによるバスの使用帯域を制限することの一例である。また、管理部7が、S12の判定でYESの場合にS13、およびS15の処理を実行することは、複数の回路ブロックのうち、複数の回路のそれぞれの動作期間におけるバスの動作中平均使用帯域が閾値を超えている回路ブロックに対して、動作期間の割合に基づいてバスの使用帯域を制限することの一例である。また、S12、S13の処理は、バスの動作中平均使用帯域が前記閾値を超えている回路ブロックに対して、制限割合=所定監視期間おけるバスの平均使用帯域/前記バスの動作中平均使用帯域によって算出される制限割合によって、使用帯域を制限することの一例である。
<実施形態の効果>
図9に、実施形態の処理による効果を例示する。今、第1の平均使用帯域の総和St1が
所定の基準値Stargetを超えて場合を想定する。図7の処理によって、少なくとも、平均
使用帯域が閾値T以上の第1のグループ(hグループ)についての第1の平均使用帯域Sht1と、平均使用帯域が閾値T未満の第2のグループ(lグループ)についての第2の平均使用帯域Slt2の和であるSht1+Slt2が所定の基準値Starget以下になるように、閾値Tが設定される。そして、第1の平均使用帯域T1が閾値T以上のUDL51について、強制的に開閉率が処理例1、2のように設定される。したがって、いずれの処理例であっても、時間の経過とともに、第1の平均使用帯域が抑制される。
処理例1の場合には、第1の平均使用帯域がそれぞれのUDL51の第2の平均使用帯域に近づく。この場合に、動作率が低いUDL51ほど、第1の平均使用帯域に対する第2の平均使用帯域の比率が小さいので、開閉率は小さく設定され、帯域制限が強くなる。また、処理例2の場合には、開閉率は係数=Slt2/Slt1によって、一律に設定される。この場合には、第1の平均使用帯域T1が閾値T以上のUDL51について、一律強制的に帯域制限を実施できる。
そして、処理例1、2のいずれであっても、第1の平均使用帯域T1が閾値T以上のUDL51の帯域が制限され、第1の平均使用帯域T1が閾値T未満となる方向にバスの使用帯域が制御される。その結果、時間の経過とともに、第1の平均使用帯域のすべてのUDL51に対する総和は、Stargetに近づく。
以上述べたように、本実施形態の帯域制御回路である帯域制御部6と管理部7によれば、FPGA5内の複数のUDL51のそれぞれのバスの平均使用帯域と動作期間とに応じて、複数のUDL51のそれぞれのバスの使用帯域を制限する。したがって、帯域制御部6と管理部7は、UDL51の動作状況を反映してUDL51の帯域制御を実行できる。
また、本実施形態の管理部7は、UDL51の動作期間におけるバスの平均使用帯域(動作中平均使用帯域)の総和が所定の基準値(Starget)を超える場合に(図8のS10
でYESの場合)、帯域制御を実行するので、帯域制限が望ましい場合に限定して処理を実行できる。
また、本実施形態の管理部7は、複数のUDL51のうち、動作期間におけるバスの平均使用帯域T1が閾値Tを超えているUDL51に対して帯域制御を実行するので(図8のS12のYESの場合)、帯域制限が望ましいUDL51に対して帯域制御を実行できる。
また、本実施形態の管理部7は、複数のUDL51を動作期間におけるバスの平均使用帯域T1が閾値T以上の第1のグループと、平均使用帯域T1が閾値T未満の第2のグループとに分類する。そして、動作期間中の平均使用帯域の第1のグループにおける総和Sht1と、所定監視期間における平均使用帯域の第2のグループにおける総和Slt2とがSht1+Slt2がStarget以下となるように閾値Tを決定する。したがって、閾値Tとして、平均使用帯域の総和の目標値に対応して望ましい値を設定できる。
また、本実施形態の管理部7は、複数のUDL51を動作期間におけるバスの平均使用帯域T1が閾値T以上の第1のグループと、平均使用帯域T1が閾値T未満の第2のグループとに分類する。そして、動作期間中の平均使用帯域の第1のグループにおける総和Sht1と、所定監視期間における平均使用帯域の第2のグループにおける総和Slt2とがSht1+Slt2がStarget以下となるように閾値Tを反復的に決定する。したがって、複数のUDLの動作状況を反映して、複数のUDLの帯域制御を実行できる。
また、本本実施形態の管理部7は、平均使用帯域T1が閾値Tを超えるUDL51について(図8のS12でYES)、S13のように、開閉率=所定監視期間おける平均使用帯域(第2の平均使用帯域)/UDL51の動作期間の平均使用帯域の割合で帯域制限を実行する。したがって、UDL動作期間におけるバスの平均使用帯域が、所定監視期間におけるバスの平均使用帯域に近づくように帯域を制限できる。また、所定監視期間おける平均使用帯域/UDL51の動作期間の平均使用帯域の割合でUDL51の使用帯域を制限するので、動作率の低いUDLほど強く使用帯域を制限できる。
<変形例>
第1の平均使用帯域は、実測値である第2の平均使用帯域との比較計算で使用される。
このため、第1の平均使用帯域も実測値であることが望ましい。しかし、処理の初期段階
では、第1の平均使用帯域として、例えば、ユーザが管理部7に固定値をパラメータとし
て与えるようにしてもよい。すなわち、UDL5が初めて起動される場合には第1の平均
使用帯域の値が確定していない。そこで、ユーザが第1の平均使用帯域の初期値として任
意の値を設定できるようにしてもよい。例えば、初回の計算では初期値0として、管理部
7が徐々に計測値に近づけても良い。また、初期値は、設計時に見積もった値などであってもよい。また、初期値は、図7、図8が実行されるときに動作しているもっとも大きな(小さい)他のUDL5の第1の平均使用帯域の値を用いても良い。CPU1で実行されるアプリケーションが過去に動作させた時の情報を外部記憶装置などに記録しておき、次回アプリケーション実行時にCPU1が外部記憶装置の過去の動作時の値を読み込み、FPGA5に設定するようにしてもよい。
また、動作期間については、管理部7は、帯域制限が掛かっていない状態での起動から終了までの期間の値をFPGA5から取得する。管理部7は、起動のたびに、旧値と新値の差分に係数をかけて旧値に加算するなど、動作期間の測定値を緩やかに制御しても良い。また、管理部7は、各UDL51について、動作期間を毎回更新しなくてもいい。また
、管理部7は、帯域制限が掛かっているかどうかにかかわらず起動から終了までの期間の値を取得して、動作期間の値として更新するようにしても良い。
第2の平均使用帯域については、UDL51が初めて起動された後、一定期間経つまで値が確定しない。値が確定するまで、管理部7は、計算途中の最新の第2の平均使用帯域の計算結果を用いればよい。管理部7は、第2の平均使用帯域として、第1の平均使用帯域で代用してもよいし、任意の固定値で代用してもよい。管理部7は、図7、図8が実行されるときに動作しているもっとも大きな(小さい)他のUDL51nの第1の平均使用帯域の値を用いても良い。なお、第2の平均使用帯域について、平均を取る期間は移動平均でも、一定周期ごとでも良い。
また、各値の初期値については、ユーザが精度を重視する場合には、初期値を何らかの方法、例えば、実験値等を蓄積する等することで、で設定しても良い。ただし、ユーザが過渡状態を許容する場合には、固定を初期値が用いられてもよい。すなわち、いずれ定常状態に収束していくことが期待されるからである。
1 CPU
2 メモリ
3 チップセット
3A 内部バス
3B メモリバス
3C 外部バス
4 拡張バスインターフェース
4A 拡張バス
4B 伝送路
5 FPGA
6 帯域制御部
7 管理部
52 制御部・バスブリッジ
61 モニタ
62 平均データ量観測部
63 動作期間観測部
64 制御部
65 帯域制限部
66 リクエスト遮断部

Claims (7)

  1. バスを介してプロセッサと連携する複数の回路ブロックのそれぞれに対して設けられる帯域制御部と、
    前記帯域制御部のそれぞれを制御する管理部と、を備え、
    前記帯域制御部のそれぞれは、
    前記複数の回路ブロックのそれぞれによる前記バスの使用帯域を監視する帯域監視部、
    前記複数の回路ブロックのそれぞれの動作期間の開始と終了とを監視する動作期間観測部、および
    前記複数の回路ブロックのそれぞれに対して前記バスの使用帯域を制限可能な制限部を有し、
    前記管理部は、前記複数の回路ブロックのそれぞれの前記バスの平均使用帯域と動作期間とに応じて前記バスの使用帯域を制限する帯域制御回路。
  2. 前記管理部は、前記複数の回路ブロックのそれぞれの動作期間における前記バスの動作中平均使用帯域の総和が所定の基準値を超える場合に、前記複数の回路ブロックによる前記バスの使用帯域を制限する請求項1に記載の帯域制御回路。
  3. 前記管理部は、前記複数の回路ブロックのうち、前記複数の回路のそれぞれの動作期間における前記バスの動作中平均使用帯域が閾値(T)を超えている回路ブロックに対して、
    前記動作期間の割合に基づいて前記バスの使用帯域を制限する請求項1に記載の帯域制御回路。
  4. 前記管理部は、前記複数の回路ブロックを前記バスの動作中平均使用帯域が前記閾値以上の第1のグループと、前記バスの動作中平均使用帯域が前記閾値未満の第2のグループについて、前記複数の回路ブロックのそれぞれの動作期間における前記バスの動作中平均使用帯域の前記第1のグループにおける総和と前記回路ブロックのそれぞれの動作期間に限定されない所定監視期間における前記バスの平均使用帯域の前記第2のグループにおける総和とが所定の条件の満足するように前記閾値を決定する請求項3に記載の帯域制御回路。
  5. 前記管理部は、前記複数の回路ブロックのそれぞれについて、前記バスの動作中平均使用帯域が前記閾値を超えている回路ブロックに対して、制限割合=前記回路ブロックのそれぞれの動作期間に限定されない所定監視期間おけるバスの平均使用帯域/前記バスの動作中平均使用帯域によって算出される制限割合によって、使用帯域を制限する請求項3または4に記載の帯域制御回路。
  6. プロセッサと、
    前記プロセッサとバスを介して連携する複数の回路ブロックと、
    前記複数の回路ブロックのそれぞれに対して設けられる帯域制御部と、
    前記帯域制御部のそれぞれを制御する管理部と、を備え、
    前記帯域制御部のそれぞれは、
    前記複数の回路ブロックのそれぞれによる前記バスの使用帯域を監視する帯域監視部、
    前記複数の回路ブロックのそれぞれの動作期間の開始と終了とを監視する動作期間観測部、および
    前記複数の回路ブロックのそれぞれに対して前記バスの使用帯域を制限可能な制限部を有し、
    前記管理部は、前記複数の回路ブロックのそれぞれの前記バスの平均使用帯域と動作期
    間とに応じて前記バスの使用帯域を制限する演算処理装置。
  7. プロセッサと、バスを介して前記プロセッサと連携する複数の回路ブロックとを備える装置の帯域制御方法であって、
    前記複数の回路ブロックのそれぞれによる前記バスの使用帯域を監視し、
    前記複数の回路ブロックのそれぞれの動作期間の開始と終了とを監視し、
    前記複数の回路ブロックのそれぞれの前記バスの平均使用帯域と動作期間とに応じて前記複数の回路ブロックによる前記バスの使用帯域を制限する、
    装置の帯域制御方法。
JP2015164494A 2015-08-24 2015-08-24 帯域制御回路、演算処理装置、および装置の帯域制御方法 Active JP6551049B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015164494A JP6551049B2 (ja) 2015-08-24 2015-08-24 帯域制御回路、演算処理装置、および装置の帯域制御方法
US15/240,250 US10225198B2 (en) 2015-08-24 2016-08-18 Bandwidth control circuit, arithmetic processing apparatus, and bandwidth control method for apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015164494A JP6551049B2 (ja) 2015-08-24 2015-08-24 帯域制御回路、演算処理装置、および装置の帯域制御方法

Publications (2)

Publication Number Publication Date
JP2017045089A true JP2017045089A (ja) 2017-03-02
JP6551049B2 JP6551049B2 (ja) 2019-07-31

Family

ID=58103878

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015164494A Active JP6551049B2 (ja) 2015-08-24 2015-08-24 帯域制御回路、演算処理装置、および装置の帯域制御方法

Country Status (2)

Country Link
US (1) US10225198B2 (ja)
JP (1) JP6551049B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021048513A (ja) * 2019-09-19 2021-03-25 富士通株式会社 情報処理装置、情報処理方法および仮想マシン接続管理プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005003961A2 (en) * 2003-07-07 2005-01-13 Koninklijke Philips Electronics N.V. Data processing system and method for data processing
JP2010039767A (ja) * 2008-08-05 2010-02-18 Canon Inc 組込みシステム
US20130254444A1 (en) * 2012-03-23 2013-09-26 Ricoh Company, Ltd. Image processing apparatus

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961341B1 (en) * 1996-07-02 2005-11-01 Microsoft Corporation Adaptive bandwidth throttling for network services
US6028841A (en) * 1997-06-06 2000-02-22 Nortel Networks Corporation Distributed bus throttle and method
JP2004326180A (ja) 2003-04-21 2004-11-18 Matsushita Electric Ind Co Ltd 集積回路、それを用いた画像入出力装置及び画像入出力方法
JP4269177B2 (ja) * 2003-08-20 2009-05-27 日本電気株式会社 セッション中継装置及び中継方法
EP1880296A1 (en) 2005-05-04 2008-01-23 Nxp B.V. Memory controller and method for controlling access to a memory, as well as system comprising a memory controller
JP2006350573A (ja) 2005-06-14 2006-12-28 Sharp Corp データ転送制御装置,データ転送制御方法,データ転送装置,画像形成装置,データ転送制御プログラム、および該制御プログラムを記録したコンピュータ読み取り可能な記録媒体
US7765294B2 (en) * 2006-06-30 2010-07-27 Embarq Holdings Company, Llc System and method for managing subscriber usage of a communications network
US7577780B2 (en) * 2007-02-28 2009-08-18 National Chiao Tung University Fine-grained bandwidth control arbiter and the method thereof
JP5715458B2 (ja) 2011-03-22 2015-05-07 ルネサスエレクトロニクス株式会社 情報処理システム、調停方法
KR101487628B1 (ko) * 2013-12-18 2015-01-29 포항공과대학교 산학협력단 단말에서 에너지를 효율적으로 사용하기 위한 어플리케이션 인지 패킷 전송 방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005003961A2 (en) * 2003-07-07 2005-01-13 Koninklijke Philips Electronics N.V. Data processing system and method for data processing
JP2007519058A (ja) * 2003-07-07 2007-07-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データ処理用データ処理システム及び方法
JP2010039767A (ja) * 2008-08-05 2010-02-18 Canon Inc 組込みシステム
US20130254444A1 (en) * 2012-03-23 2013-09-26 Ricoh Company, Ltd. Image processing apparatus
JP2013196667A (ja) * 2012-03-23 2013-09-30 Ricoh Co Ltd 画像処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021048513A (ja) * 2019-09-19 2021-03-25 富士通株式会社 情報処理装置、情報処理方法および仮想マシン接続管理プログラム
JP7280508B2 (ja) 2019-09-19 2023-05-24 富士通株式会社 情報処理装置、情報処理方法および仮想マシン接続管理プログラム

Also Published As

Publication number Publication date
US10225198B2 (en) 2019-03-05
US20170063701A1 (en) 2017-03-02
JP6551049B2 (ja) 2019-07-31

Similar Documents

Publication Publication Date Title
US10331492B2 (en) Techniques to dynamically allocate resources of configurable computing resources
JP6278320B2 (ja) エンドツーエンドデータセンタ性能制御
TWI496005B (zh) 共享資源的仲裁方法及裝置
US7865686B2 (en) Virtual computer system, and physical resource reconfiguration method and program thereof
US7769936B2 (en) Data processing apparatus and method for arbitrating between messages routed over a communication channel
US9632836B2 (en) Scheduling applications in a clustered computer system
JP2011065649A (ja) トランザクションの優先レベルを設定するデータ処理装置および方法
WO2015101091A1 (zh) 一种分布式资源调度方法及装置
US10908955B2 (en) Systems and methods for variable rate limiting of shared resource access
US11799901B2 (en) Predictive rate limiting system for cloud computing services
US10481944B2 (en) Adaptive quality of service control circuit
JP2016126677A (ja) 負荷算出方法、負荷算出プログラム及び負荷算出装置
JP6201591B2 (ja) 情報処理装置および情報処理装置の制御方法
Shen et al. Goodbye to fixed bandwidth reservation: Job scheduling with elastic bandwidth reservation in clouds
US20050125797A1 (en) Resource management for a system-on-chip (SoC)
US10705985B1 (en) Integrated circuit with rate limiting
CN113746763B (zh) 一种数据处理的方法、装置和设备
JP6551049B2 (ja) 帯域制御回路、演算処理装置、および装置の帯域制御方法
Behnke et al. Towards a real-time IoT: Approaches for incoming packet processing in cyber–physical systems
CN110716805A (zh) 图形处理器的任务分配方法、装置、电子设备及存储介质
CN112486871B (zh) 一种用于片上总线的路由方法以及***
WO2010089626A1 (en) Hybrid program balancing
EP4281876A1 (en) Memory controller and data processing system with memory controller
RU2684581C2 (ru) Способ стохастической диспетчеризации очередей коммутатора и устройство, его реализующее
WO2023226437A1 (zh) 一种资源调度方法、装置及设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190424

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190617

R150 Certificate of patent or registration of utility model

Ref document number: 6551049

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150