(57)【特許請求の範囲】
【請求項１】
入力されるパケットを複数のプロセッサで並列処理するパケット処理装置であって、
前記パケットを保管するメモリと、
それぞれが、プロセッサと該プロセッサが前記メモリにアクセスするためのインタフェースを備え、動作の起動および停止が可能であり、動作中は、クロック速度の調整が可能な動作クロックで前記プロセッサを動作させて、前記メモリにアクセスして該メモリに保管されたパケットを処理する複数の処理ラインと、
前記入力されるパケットのトラヒック量と、動作中の前記処理ラインの消費電力とから、前記入力されるパケットをロスなく処理できかつ前記パケット処理装置の消費電力が最小となる、動作する処理ラインの個数と、処理ラインの動作クロックのクロック速度とを決定し、その決定に基づいて前記処理ラインの稼動および動作クロックを制御するライン制御部と、を有し、
前記処理ラインが、前記プロセッサの消費電力と前記インタフェースの消費電力を別々に計測しており、
前記ライン制御部が、
前記入力されるパケットのトラヒック量の計測値と、動作中の処理ラインの個数とから、前記パケット処理装置の消費電力が最小となる第１のクロック速度を算出し、
前記動作中の処理ラインを前記第１のクロック速度で動作させ、前記プロセッサの消費電力の計測値と前記インタフェースの消費電力の計測値とを用いて導出される、動作する処理ラインの個数に対する前記プロセッサ処理装置の消費電力を表す関係式の値が最小となる、動作する処理ラインの個数を、動作させる処理ラインの新たな個数とし、
前記入力されるパケットのトラヒック量の計測値と、前記動作させる処理ラインの新たな個数とから、前記パケットの消費電力が最小となる第２のクロック速度を算出し、
前記動作させる処理ラインの新たな個数と、前記第２のクロック速度とに基づいて前記処理ラインを制御するものであり、
前記各処理ラインでの前記プロセッサの消費電力の計測値の総和に動作中の処理ラインの個数の２乗を乗算した値をＷ1とし、前記各処理ラインでの前記インタフェースの消費電力の計測値の平均値をＷmとすると、前記動作させる処理ラインの新たな個数が（２Ｗ1／（Ｗm））(1/3)と表される、
パケット処理装置。
【請求項２】
入力されるパケットを保管するメモリと、プロセッサと該プロセッサが前記メモリにアクセスするためのインタフェースを備え、前記メモリにアクセスして該メモリに保管されたパケットを並列処理する複数の処理ラインとを有するパケット処理装置におけるパケット処理方法であって、
前記処理ラインにおいて、前記プロセッサの消費電力と前記インタフェースの消費電力を別々に計測しており、
前記入力されるパケットのトラヒック量の計測値と、動作中の処理ラインの個数とから、前記パケット処理装置の消費電力が最小となる第１のクロック速度を算出し、
前記動作中の処理ラインを前記第１のクロック速度で動作させ、前記プロセッサの消費電力の計測値と前記インタフェースの消費電力の計測値とを用いて導出される、動作する処理ラインの個数に対する前記プロセッサ処理装置の消費電力を表す関係式の値が最小となる、動作する処理ラインの個数を、動作させる処理ラインの新たな個数とし、
前記入力されるパケットのトラヒック量の計測値と、前記動作させる処理ラインの新たな個数とから、前記パケットの消費電力が最小となる第２のクロック速度を算出し、
前記動作させる処理ラインの新たな個数と、前記第２のクロック速度とに基づいて前記処理ラインの稼働および動作クロックを制御するものであり、
前記各処理ラインでの前記プロセッサの消費電力の計測値の総和に動作中の処理ラインの個数の２乗を乗算した値をＷ1とし、前記各処理ラインでの前記インタフェースの消費電力の計測値の平均値をＷmとすると、前記動作させる処理ラインの新たな個数が（２Ｗ1／（Ｗm））(1/3)と表される、
パケット処理方法。
【請求項３】
入力されるパケットを保管するメモリと、プロセッサと該プロセッサが前記メモリにアクセスするためのインタフェースを備え、前記メモリにアクセスして該メモリに保管されたパケットを並列処理する複数の処理ラインとを有するパケット処理装置として、コンピュータを動作させるためのプログラムであって、
前記処理ラインにおいて、前記プロセッサの消費電力と前記インタフェースの消費電力を別々に計測しており、
前記入力されるパケットのトラヒック量の計測値と、動作中の処理ラインの個数とから、前記パケット処理装置の消費電力が最小となる第１のクロック速度を算出する手順と、
前記動作中の処理ラインを前記第１のクロック速度で動作させ、前記プロセッサの消費電力の計測値と前記インタフェースの消費電力の計測値とを用いて導出される、動作する処理ラインの個数に対する前記プロセッサ処理装置の消費電力を表す関係式の値が最小となる、動作する処理ラインの個数を、動作させる処理ラインの新たな個数とする手順と、
前記入力されるパケットのトラヒック量の計測値と、前記動作させる処理ラインの新たな個数とから、前記パケットの消費電力が最小となる第２のクロック速度を算出する手順と、
前記動作させる処理ラインの新たな個数と、前記第２のクロック速度とに基づいて前記処理ラインの稼働および動作クロックを制御する手順をコンピュータに実行させるものであり、
前記各処理ラインでの前記プロセッサの消費電力の計測値の総和に動作中の処理ラインの個数の２乗を乗算した値をＷ1とし、前記各処理ラインでの前記インタフェースの消費電力の計測値の平均値をＷmとすると、前記動作させる処理ラインの新たな個数が（２Ｗ1／（Ｗm））(1/3)と表される、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプロセッサでパケットを並列処理するパケット処理装置に関する。
【背景技術】
【０００２】
近年ではネットワーク内を流れるトラヒック量が増加しており、それに伴ってルータ等のパケット処理装置には高速でパケットを処理することが要求されている。１つのプロセッサで逐次的にパケットを処理する機構のパケット処理装置では動作クロックを高速化することにより単位時間当りのパケット処理量（パケット処理性能）を向上させることができる。しかし、動作クロックを高速化すると動作クロックの３乗に比例してプロセッサの消費電力が上昇し、それによってパケット処理装置の消費電力が膨大なものとなってしまう。
【０００３】
この問題を解決する手段として、複数のプロセッサによってパケットを並列処理する機構を備えたパケット処理装置がある。例えば、プロセッサエレメントと呼ばれる小型のプロセッサを複数個備え、それらでパケットを並列処理するネットワークプロセッサがある（非特許文献１参照）。このネットワークプロセッサを用いることにより、パケットを並列処理するルータ等のパケット処理装置を構成することができる。
【０００４】
複数のプロセッサでパケットを並列処理することにより、動作クロックを高速化せずにパケット処理性能を向上させることができる。パケットを処理するプロセッサおよびそのプロセッサに対応するインタフェース等からなる処理ラインが複数個同時に動作することになるので、パケット処理装置の消費電力は処理ラインの個数分だけ上昇する。しかし、複数のプロセッサでパケットを並列処理するパケット処理装置によれば、動作クロックの３乗に比例して消費電力が上昇するようなパケット処理装置と比べて、パケット処理性能の向上に伴う消費電力の上昇は抑制される。
【非特許文献１】河合栄治，門林雄基，山口英，“ネットワークプロセッサ技術に関するサーベイ，”電子情報通信学会  信学技報  インターネットアーキテクチャ，ｖｏｌ．１０３，Ｎｏ．６２，ｐｐ．５５−６０，２００３年５月
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ネットワークプロセッサを用いてパケットを並列処理する機器では、パケットが最大レートで到着しても、それらのパケットを処理できるだけの数の処理ラインが備えられている。また一般に、そのような機器では、到着するパケット量の変化によらず、処理ラインを構成する全てのモジュールが常時稼動する。このため、到着するパケット量が少ないときには処理ラインの処理能力に余裕が生じる。しかし、全ての処理ラインが常時稼動しているので、パケット並列処理装置は、到着するパケットが少ないときでも、最大レートでパケットが到着するときと同じだけの電力を消費する。そのため、複数のプロセッサでパケットを並列処理するパケット処理装置であっても到着するパケット量が変動する場合には電力の消費に無駄があった。
【０００６】
本発明の目的は、到着するパケットのトラヒック量の変動に応じて消費電力を適切に抑制することのできるパケット処理装置を提供することである。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明のパケット処理装置は、
入力されるパケットを複数のプロセッサで並列処理するパケット処理装置であって、
前記パケットを保管するメモリと、
それぞれが、プロセッサと該プロセッサが前記メモリにアクセスするためのインタフェースを備え、動作の起動および停止が可能であり、動作中は、クロック速度の調整が可能な動作クロックで前記プロセッサを動作させて、前記メモリにアクセスして該メモリに保管されたパケットを処理する複数の処理ラインと、
前記入力されるパケットのトラヒック量と、動作中の前記処理ラインの消費電力とから、前記入力されるパケットをロスなく処理できかつ前記パケット処理装置の消費電力が最小となる、動作する処理ラインの個数と、処理ラインの動作クロックのクロック速度とを決定し、その決定に基づいて前記処理ラインの稼動および動作クロックを制御するライン制御部と、を有している。
【０００８】
また、前記ライン制御部は、
前記パケット処理装置の消費電力が最小となる、前記動作させる処理ラインの個数を算出し、
算出した前記動作させる処理ラインの個数に基づいて、前記パケット処理装置の消費電力が最小となる、動作クロックのクロック速度を算出し、
算出した前記動作する処理ラインの個数と、前記動作クロックのクロック速度とに基づいて前記処理ラインを制御することにしてもよい。
【０００９】
また、前記ライン制御部は、
前記入力されるパケットのトラヒック量の計測値と、動作中の処理ラインの個数とから、前記パケットの消費電力が最小となる第１のクロック速度を算出し、
前記動作中の処理ラインを前記第１のクロック速度で動作させ、そのときの前記動作中の処理ラインの消費電力から、動作させる処理ラインの新たな個数を算出し、
前記入力されるパケットのトラヒック量の計測値と、前記動作させる処理ラインの新たな個数とから、前記パケットの消費電力が最小となる第２のクロック速度を算出し、
前記動作させる処理ラインの新たな個数と、前記第２のクロック速度とに基づいて前記処理ラインを制御することにしてもよい。
【００１０】
また、前記処理ラインは、前記プロセッサの消費電力と前記インタフェースの消費電力を別々に計測しており、
前記ライン制御部は、前記プロセッサの消費電力の計測値と前記インタフェースの消費電力の計測値とを用いて導出される、動作する処理ラインの個数に対する前記プロセッサ処理装置の消費電力を表す関係式の値が最小となる、動作する処理ラインの個数を、前記動作させる処理ラインの新たな個数とすることにしてもよい。
【００１１】
また、前記各処理ラインでの前記プロセッサの消費電力の計測値の総和に動作中の処理ラインの個数の２乗を乗算した値をＷ1とし、前記各処理ラインでの前記インタフェースの消費電力の計測値の平均値をＷmとすると、前記動作させる処理ラインの新たな個数が（２Ｗ1／（Ｗm））(1/3)と表されるものとしてもよい。
【発明の効果】
【００１２】
本発明によれば、入力されるパケットのトラヒック量と、動作中の処理ラインの消費電力とから、入力されるパケットをロスなく処理できかつパケット処理装置の消費電力が最小となる処理ラインの動作数と動作クロックのクロック速度とが決定されるので、トラヒック量の変動に応じてパケット処理装置の消費電力を適切に抑制することができる。
【発明を実施するための最良の形態】
【００１３】
本発明を実施するための形態について図面を参照して詳細に説明する。
【００１４】
図１は、本実施形態のパケット処理装置の構成を示すブロック図である。図１を参照すると、パケット処理装置１０は、入力ポート１１、出力ポート１２、メモリ１３、処理ライン１４、ライン制御部１５、およびトラヒック計測部１６を有している。
【００１５】
入力ポート１１および出力ポート１２は、外部ネットワーク（不図示）との間でパケットの入出力を行う際のインタフェースとなる。外部ネットワークから受信されるパケットは入力ポート１１に入力する。外部ネットワークへ送信するパケットは出力ポートから出力される。
【００１６】
トラヒック計測部１６は、入力ポート１１に到着するパケットのトラヒック量を計測する。
【００１７】
メモリ１３は、入力ポート１１から入力されたパケットあるいは出力ポート１２から出力されるパケットを一時的に保管する。メモリ１３はインタフェース３１を有し、そのインタフェース３１を介して処理ライン１４からアクセスされる。
【００１８】
処理ライン１４はパケット処理装置１０に複数備えられている。全ての処理ライン１４が常時動作しているのではなく、ライン制御部１５によって決定された数の処理ライン１４だけが動作する。そのために各処理ライン１４はライン制御部１５からの指示に従って自身を起動したり停止したりする機能を備えている。動作中の処理ライン１４は自身の消費電力を計測する機能と、自身の動作クロックのクロック速度を調整する機能を備えている。
【００１９】
また動作中の処理ライン１４はパケットを処理する。パケットの処理には、入力ポート１１から入力したパケットをメモリ１３を介して取得して解析することや、送信するパケットを生成してメモリ１３を介して出力ポート１２から出力することが含まれる。
【００２０】
図１を更に参照すると、処理ライン１４は、プロセッサ２１、インタフェース２２、動作クロック調整部２３、起動／停止処理部２４、および電力計測部２５を有している。
【００２１】
プロセッサ２１はインタフェース２２を介してメモリ１３との間でパケットを入出力し、パケットの処理を行う。
【００２２】
インタフェース２２は、処理するパケットのデータをメモリとの間で交換するためのメモリアクセス用のインタフェースである。
【００２３】
動作クロック調節部２３は、プロセッサ２１の動作クロックをライン制御部１５から指示されたクロック速度に調整する。
【００２４】
起動／停止処理部２４は、ライン制御部１５からの指示に従って処理ライン１４内のデバイスを起動または停止させる。
【００２５】
電力計測部２５は、プロセッサ２１およびインタフェース２２の消費電力を計測する。
【００２６】
ライン制御部１５は、到着するパケットのトラヒック量に応じて、パケット処理装置１０の消費電力が小さくなるように、動作させる処理ライン１４の数と、動作クロックのクロック速度を変化させる。
【００２７】
その際、ライン制御部１５は、各処理ライン１４で計測された消費電力とトラヒック計測部１６で計測されたトラヒック量とから、パケット処理装置１０の消費電力が最小となるような、動作させる処理ライン１４の数を決定する。
【００２８】
続いて、ライン制御部１５は、動作する処理ライン１４の数と、トラヒック計測部１６で計測されたトラヒック量とから、パケット処理装置１０の消費電力が最小となるような、処理ライン１４の動作クロックのクロック速度を決定する。
【００２９】
動作させる処理ライン１４の数と、処理ライン１４の動作クロックのクロック速度とを決定すると、ライン制御部１５は、その決定に基づいて各処理ライン１４に起動または停止を指示し、また決定したクロック速度で動作するように各処理ライン１４に指示する。
【００３０】
例えば到着するパケットのトラヒック量が同じでも、並列で動作する処理ライン１４の数を増やしつつ、処理ライン１４内のプロセッサ２１の動作クロックのクロック速度を下げることで、パケット処理装置１０全体としての処理性能を保ちつつ消費電力を削減することができる。前述したようにプロセッサ２１の消費電力は動作クロックの３乗に比例して増加する。それ故、動作クロックのクロック速度を下げることにより、動作する処理ライン１４の数を増やした分を補填するだけの消費電力の削減効果を得ることができる。
【００３１】
ただし、処理ライン１４内のデバイスにはクロック速度を変化させないことが好ましいものがある。例えば、メモリ１３との間でデータのｒｅａｄ／ｗｒｉｔｅを行うためのインタフェース２２はクロック速度を変化させないことが好ましい。メモリ１３とプロセッサ２１との間でやりとりされるデータ量は、動作する処理ライン１４の数が変化しても変化しない場合にはこれに該当する。その場合、動作する処理ライン１４の数によって変化しないデータ量を処理するためにインタフェース２２の動作クロックを動作する処理ラインの数によらず一定にしておくのがよい。動作する処理ライン１４の数を増加させると、動作するインタフェース２２の数が増加するので、増加したインタフェース２２の分だけ消費電力は増加することになる。インタフェース２２の分の消費電力は、動作する処理ライン１４の数を増やすと増えるので、動作する処理ライン１４の数を増やしつつ動作クロックのクロック速度を下げることにより低減されるプロセッサ２１の消費電力とトレードオフの関係となる。
【００３２】
本実施形態では、電力計測部２５は、プロセッサ２１とインタフェース２２の両方の消費電力を計測し、ライン制御部１５はその計測結果を基に、動作させる処理ライン１４の数と動作クロックのクロック速度を決定するので、プロセッサ２１の消費電力と２２インタフェースの消費電力のトレードオフを考慮に入れて消費電力が最小になるような制御を行うことができる。
【００３３】
図２は、動作させる処理ライン１４の数と動作クロックのクロック速度を決定する方法を示すフローチャートである。図２を参照すると、まず、トラヒック計測部１６は、定期的にパケット処理装置１０に到着するパケットのトラヒック量を計測する（ステップ１０１）。前回の計測値と比べた変動幅が小さければ、動作させる処理ライン１４の数や動作クロックのクロック速度が大きく変化しないことを考慮し、前回の計測値と比べた変動幅が所定の閾値を越えていたときだけ、それ以降の処理を実行することにしてもよい。また、動作する処理ライン１４の数と動作クロックのクロック速度の現在の値を決定したときの計測値と比べた変動幅が所定の閾値を超えていたときだけ、それ以降の処理を実行することにしてもよい。
【００３４】
次に、計測されたトラヒック量のパケットを処理できる範囲で最低のクロック速度で動作するときの消費電力を計測するために、計測されたトラヒック量のパケットを動作中の処理ライン１４で処理できる範囲で最低のクロック速度を算出し、動作クロックをそのクロック速度に設定する（ステップ１０２）。
【００３５】
このときの動作クロックのクロック速度の設定例として、｛（計測されたトラヒック量）×（最大トラヒック量を１つの処理ラインで処理する場合の最低のクロック速度）｝／｛（最大トラヒック量）×（動作中の処理ラインの数）｝によって算出される値を使用する。最大トラヒック量とは、パケット処理装置１０へ到着するパケットの、想定される最大のトラヒック量であり、予め定めておくことができる値である。その値に応じて、最大トラヒック量を１つの処理ラインで処理する場合の最低のクロック速度も予め定めておくことができる。
【００３６】
その後、動作中の各処理ライン１４においてプロセッサ２１とインタフェース２２における消費電力を計測する（ステップ１０３）。
【００３７】
続いて、計測された消費電力から、パケット処理装置１０の消費電力を最小にする、動作する処理ライン１４の数を計算する（ステップ１０４）。その際の計算方法の詳細については後述する。
【００３８】
更に、計測されたトラヒック量のパケットをステップ１０４で算出された数の処理ライン１４で処理できる範囲で最低のクロック速度を算出する（ステップ１０５）。
【００３９】
このときの動作クロックのクロック速度の設定例として、｛（計測されたトラヒック量）×（最大トラヒック量を１つの処理ラインで処理する場合の最低のクロック速度）｝／｛（最大トラヒック量）×（算出した処理ラインの数）｝によって算出される値を使用する。
【００４０】
最後に、動作する処理ライン１４の数がステップ１０４で算出した数となり、動作クロックがステップ１０５で算出したクロック速度となるように、各処理ライン１４を制御する（ステップ１０６）。
【００４１】
以上のようにして、動作させる処理ライン１４の数と動作クロックのクロック速度とが決定される。
【００４２】
図３は、前述したステップ１０４において、動作する処理ライン１４の数を算出する方法を示すフローチャートである。図３を参照すると、まず、ステップ１０３にて計測された各プロセッサ２１の消費電力から、それらの総和に並列処理ライン数の２乗を乗算した値であるＷ1を算出する（ステップ２０１）。このＷ1は、パケット処理装置１０の消費電力に対するプロセッサ２１の消費電力の寄与の程度を示す指標値（プロセッサ指標値）となる。
【００４３】
また、ステップ１０３にて計測された各インタフェース２１の消費電力から、それらの平均値であるＷmを算出する（ステップ２０２）。このＷmは、パケット処理装置１０の消費電力に対するインタフェース２２の消費電力の寄与の程度を示す指標値（インタフェース指標値）となる。ステップ２０１とステップ２０２の順序は特に限定されない。
【００４４】
続いて、ステップ２０１で算出したプロセッサ指標値Ｗ1と、ステップ２０２で算出したインタフェース指標値Ｗmとを式（１）に代入することにより、動作する処理ライン１４の数ｎに対する、パケット処理装置１０の消費電力を示す関数の式（消費電力式）を決定する（ステップ２０３）。式（１）において、Ｗbはメモリ１３へのアクセスのためのバッファの消費電力である。
【００４５】
【数１】
0004782082.tif 000002
【００４６】
最後に、ステップ２０３で決定した消費電力式が極小となるｎの値を算出し、それを動作する処理ライン１４の数とする（ステップ２０４）。
【００４７】
以上のようにして、動作する処理ライン１４の数が算出される。次に、上述した処理ライン１４の数の算出の意味を詳しく説明する。
【００４８】
図１に示したパケット処理装置１０は、主に、プロセッサ２１とインタフェース２２、ならびにメモリ１３で電力を消費する。プロセッサ２１とインタフェース２２は処理ライン１４毎にあるため、動作する処理ライン１４の分だけ消費電力が増加する。
【００４９】
複数の処理ライン１４が独立にパケットを処理する場合、動作する処理ライン１４の数ｎと、処理ライン１４内のプロセッサ２１の動作クロックのクロック速度Ｃpの積が、１つの処理ライン１４で全てのパケットをロスなく処理することができる最低のクロック速度Ｃ以上であれば、どの処理ライン１４でもパケットのロスが発生しない。
【００５０】
動作クロックのクロック速度が低いほど消費電力は小さく抑えられるので、消費電力を削減するには、動作する処理ライン１４の数ｎと、処理ライン１４内のプロセッサ２１の動作クロックのクロック速度Ｃpの積がクロック速度Ｃに等しくなることが望ましい。
【００５１】
ここで、クロック速度Ｃの値は、パケットの到着レートが最大であるときに１つの処理ライン１４で全てのパケットをロスなく処理することができる最低のクロック速度Ｃ1と、最大トラヒック量に対する計測時のトラヒック量の割合αとの積で与えられる。
【００５２】
よって、動作する処理ライン１４の数ｎと、クロック速度Ｃpとの積は、Ｃ1αと等しくなる。１つの処理ライン１４で全てのパケットを処理し、その処理ライン１４のプロセッサ２１がクロック速度Ｃ1αで動作しているときの消費電力をＷ1（α）とすると、同じだけのパケットをｎ個の処理ライン１４で処理する場合の１つのプロセッサ２１あたりの消費電力はＷ1（α）／ｎ3となる。これは１つの処理ライン１４内のプロセッサ２１の動作クロックのクロック速度がＣ1α／ｎになるためである。なお、Ｗ1（α）は前述したＷ1と同じものと意味するが、Ｗ1の値がαに依存することを明示している。
【００５３】
１つのプロセッサ２１の消費電力Ｗ1（α）／ｎ3は電力計測部２５で計測されているため、その計測値よりＷ1（α）を算出することができる。
【００５４】
ここで、パケット処理装置１０全体の消費電力が最小となるような、動作する処理ライン１４の数ｎを求めることを考える。そこで、パケット処理装置１０全体の消費電力をライン数ｎの関数として導出する。
【００５５】
１つの処理ライン１４あたりの消費電力はプロセッサ２１の消費電力とインタフェース２２の消費電力Ｗmとの和である。プロセッサ２１の消費電力は、前述したようにＷ1（α）／ｎ3で表される。よって、１つの処理ライン１４あたりの消費電力は（Ｗm＋Ｗ1（α）／ｎ3）で表すことができる。動作する処理ライン１４がｎ個存在すれば、パケット処理装置１４全体の処理ライン１４での消費電力はｎ（Ｗm＋Ｗ1（α）／ｎ3）で表される。
【００５６】
また、メモリ１３で消費される電力として、入出力用のバッファのために用意されたメモリ容量で消費される電力Ｗbがある。これを含めたパケット処理装置１０全体の消費電力はｎ（Ｗm＋Ｗ1（α）／ｎ3）＋Ｗbと表すことができる（式（１））。
【００５７】
パケット処理装置１０全体の消費電力が最小となる、動作する処理ライン１４の数ｎを決定するには、式（１）で表される電力（ｎ）が極小となるｎを求めればよい。
そのために、式（１）をｎで微分し、それが０となるｎを求める。この結果、パケット処理装置１０の消費電力が最小となる処理ライン１４の数は式（２）で表される。
【００５８】
【数２】
0004782082.tif 000003
【００５９】
式（２）のうち、インタフェース２２の消費電力Ｗmは、各インタフェース２２の対応する電力計測部２５によって計測される。また、前述のようにＷ1（α）は、電力計測部２５によって計測されるプロセッサ２１の消費電力より導出することができる。
【００６０】
次に、具体的な数値を用いて、動作させる処理ライン１４の数を実際に算出した例を示す。ここで、Ｗm＝０．０００１、Ｗ1＝７０とすると、式（２）より、動作させる処理ライン１４の数は１１１．８６・・・となる。処理ライン１４の数は整数値であるため、この値の小数点以下を四捨五入、もしくは切り上げると、動作させる処理ライン１４の数は１１２となる。また、小数点以下を切り捨てると、動作させる処理ライン１４の数は１１１となる。
【００６１】
これより、処理ライン数を１１１もしくは１１２になるように、処理ライン１４を起動あるいは停止させることで、消費電力が最小の状態でパケット処理装置１０を稼動することができる。
【００６２】
以上説明したように、本実施形態によれば、入力されるパケットのトラヒック量と、動作中の処理ライン１４の消費電力とから、入力されるパケットをロスなく処理できかつパケット処理装置１０の消費電力が最小となる処理ラインの動作数と動作クロックのクロック速度とが決定されるので、トラヒック量の変動に応じてパケット処理装置１０の消費電力を適切に抑制することができる。また、パケット処理装置１０の設計時に、想定されるトラヒック量から、消費電力が最小となる処理ライン１４の数を評価することができ、消費電力の少ないパケット処理装置１４の設計が可能になる。
【００６３】
なお、本実施形態のライン制御部１５およびトラヒック計測部１６は、コンピュータの備えるプロセッサが記録媒体からソフトウェアプログラムを読み出して実行することにより実現することもできる。
【図面の簡単な説明】
【００６４】
【図１】本実施形態のパケット処理装置の構成を示すブロック図である。
【図２】動作させる処理ライン１４の数と動作クロックのクロック速度を決定する方法を示すフローチャートである。
【図３】前述したステップ１０４において、動作する処理ライン１４の数を算出する方法を示すフローチャートである。
【符号の説明】
【００６５】
１０    パケット処理装置
１１    入力ポート
１２    出力ポート
１３    メモリ
１４    処理ライン
１５    ライン制御部
１６    トラヒック計測部
２１    プロセッサ
２２    インタフェース
２３    動作クロック調整部
２４    起動／停止処理部
２５    電力計測部
【図１】
0004782082.tif 000004
【図２】
0004782082.tif 000005
【図３】
0004782082.tif 000006