(57)【要約】【課題】本発明は中央処理装置のための割り当て方法及びそれを用いたサーバを提供することを目的の一つとする。【解決手段】中央処理装置のための割り当て方法であって、サーバの第１の有効性をテストするステップと、第１のタスクを実行するように構成された第１の中央処理装置の第１の数と、第２のタスクを実行するように構成された第２の中央処理装置の第２の数と、第１の有効性とを記録するステップと、第１の中央処理装置がビジー状態か否かを判断するステップと、第１の中央処理装置がビジー状態な場合に第１の数を増加させるステップと、第１の中央処理装置がビジー状態でない場合に第１のタスクに占有されている帯域幅が最大帯域幅に達しているか否かを判断するステップと、第１のタスクに占有されている帯域幅が最大帯域幅に達していない場合には第２の数を増加させるステップと、上述したステップを継続的に実行するステップとを含む。【選択図】図３
2018106660.tif 000002
【特許請求の範囲】
【請求項１】
複数の中央処理装置を備える処理システムに適応される割り当て方法であって、
サーバの第１の効率をテストすること、および第１の種類のタスクを実行するように構成された少なくとも一つの第１の中央処理装置の第１の数と、第２の種類のタスクを実行するように構成された少なくとも一つの第２の中央処理装置の第２の数と、前記第１の効率とを記録することと、
前記少なくとも一つの第１の中央処理装置がビジー状態になっているか否かを判断することと、
前記少なくとも一つの第１の中央処理装置が前記ビジー状態になっている場合に、前記少なくとも一つの第１の中央処理装置の前記第１の数を増加させることと、
前記少なくとも一つの第１の中央処理装置がビジー状態ではない場合に、前記第１の種類のタスクによって占有されている帯域幅が最大帯域幅に達したか否かを判断することと、
前記第１の種類のタスクによって占有されている前記帯域幅が前記最大帯域幅に達していない場合に、前記少なくとも一つの第２の中央処理装置の前記第２の数を増加させることと、
前記サーバの前記第１の効率をテストするステップと、前記少なくとも一つの第１の中央処理装置が前記ビジー状態になっているか否かを判断するステップと、前記第１の種類のタスクによって占有されている前記帯域幅が前記最大帯域幅に達しているか否かを判断するステップとを、前記第１の種類のタスクによって占有されている前記帯域幅が前記最大帯域幅に達するまで継続的に実行することと、
を含み、
前記少なくとも一つの第１の中央処理装置の前記第１の数と、前記少なくとも一つの第２の中央処理装置の前記第２の数がともに初期設定で１である、割り当て方法。
【請求項２】
前記少なくとも一つの第１の中央処理装置がビジー状態になっているか否かを判断することは、
前記少なくとも一つの第１の中央処理装置の占有リソースの量が閾値以上であるか否かを判断することを含み、
前記第１の中央処理装置の占有リソースの量が閾値以上である場合に、前記少なくとも一つの第１の中央処理装置がビジー状態になっていると判断し、および前記少なくとも一つの第１の中央処理装置の占有リソースの量が閾値よりも小さい場合には、前記少なくとも一つの第１の中央処理装置はビジー状態になっていないと判断する、請求項１に記載の割り当て方法。
【請求項３】
前記第１の種類のタスクによって占有されている帯域幅が最大帯域幅に達した場合の前記サーバの第１の作業効率に関する表を得ることをさらに含み、前記第１の作業効率に関する表は、少なくとも前記第１の効率と、前記第1の数と、前記第２の数とから成る、請求項１に記載の割り当て方法。
【請求項４】
前記サーバの第２の効率をテストすることおよび第３の種類のタスクを実行するように構成された少なくとも一つの第３の中央処理装置の第３の数と、第４の種類のタスクを実行するように構成された少なくとも一つの第４の中央処理装置の第４の数と、前記第２の効率とを記録することと、
前記少なくとも一つの第３の中央処理装置の前記第３の数を１だけ減じることと、
前記少なくとも一つの第３の中央処理装置の前記第３の数がゼロに等しくない場合に、前記少なくとも一つの第３の中央処理装置の前記第３の数が、前記少なくとも一つの第４の中央処理装置の前記第４の数よりも大きくないか否かを判断すること、および前記第３の数が前記第４の数よりも大きくない場合に、前記第４の数を増加させること、および前記複数の中央処理装置の総数から、前記第１の数と、前記第２の数と、前記第４の数とを減じることによって、前記第３の数をリセットすることと、
をさらに含み、前記少なくとも一つの第４の中央処理装置の第４の数は、初期設定で１であり、また、前記少なくとも一つの第３の中央処理装置の前記第３の数は、前記複数の中央処理装置の総数から、前記第１の数と、前記第２の数と、前記第４の数とを減じることによって初期化される、請求項１に記載の割り当て方法。
【請求項５】
前記少なくとも一つの第３の中央処理装置の前記第３の数がゼロに等しい場合の前記サーバの第２の作業効率に関する表を得ることをさらに含み、前記第２の作業効率に関する表は、少なくとも前記第２の効率と、前記第３の数と、前記第４の数とから成る、請求項４に記載の割り当て方法。
【請求項６】
少なくとも一つのネットワークパケットを受信するように構成された少なくとも一つのハードウェアキューと、
前記少なくとも一つのネットワークパケットを再割り当てするように構成された少なくとも一つのソフトウェアキューと、
少なくとも一つのプロセッサであって、各プロセッサが、少なくとも一つの第１の中央処理装置および少なくとも一つの第２の中央処理装置を備え、および前記少なくとも一つのネットワークパケットを処理するように構成されている、少なくとも一つのプロセッサと、
少なくとも一つの実行命令を格納するように構成された少なくとも一つの記憶装置であって、前記少なくとも一つのプロセッサは、その実行命令により、
サーバの第１の効率をテストするために、および第１の種類のタスクを実行するように構成された前記少なくとも一つの第１の中央処理装置の第１の数と、第２の種類のタスクを実行するように構成された前記少なくとも一つの第２の中央処理装置の第２の数と、前記第１の効率とを記録するために、
前記少なくとも一つの第１の中央処理装置がビジー状態になっているか否かを判断するために、
前記少なくとも一つの第１の中央処理装置が前記ビジー状態になっている場合に、前記少なくとも一つの第１の中央処理装置の前記第１の数を増加させるために、
前記少なくとも一つの第１の中央処理装置がビジー状態ではない場合に、前記第１の種類のタスクによって占有されている帯域幅が最大帯域幅に達したか否かを判断するために、
前記第１の種類のタスクによって占有されている前記帯域幅が前記最大帯域幅に達していない場合に、前記少なくとも一つの第２の中央処理装置の前記第２の数を増加させるために、および
前記サーバの前記第１の効率をテストするステップと、前記少なくとも一つの第１の中央処理装置が前記ビジー状態になっているか否かを判断するステップと、前記第１の種類のタスクによって占有されている前記帯域幅が前記最大帯域幅に達しているか否かを判断するステップとを、前記第１の種類のタスクによって占有されている前記帯域幅が前記最大帯域幅に達するまで継続的に実行するためにプログラムされる、少なくとも一つの記憶装置と、
を備えるサーバであって、
前記少なくとも一つの第１の中央処理装置の前記第１の数と、前記少なくとも一つの第２の中央処理装置の前記第２の数がともに初期設定で１である、サーバ。
【請求項７】
前記少なくとも一つのプロセッサは、前記少なくとも一つの第１の中央処理装置の占有リソースの量が閾値以上である場合に、前記少なくとも一つの第１の中央処理装置がビジー状態になっていると判断し、また、前記少なくとも一つのプロセッサは、前記少なくとも一つの第１の中央処理装置の占有リソースの量が閾値よりも少ない場合に、前記少なくとも一つの第１の中央処理装置がビジー状態になっていないと判断する、請求項６に記載のサーバ。
【請求項８】
前記少なくとも一つのプロセッサはさらに、前記第１の種類のタスクによって占有されている帯域幅が最大帯域幅に達した場合の前記サーバの第１の作業効率に関する表を取得するように構成され、前記第１の作業効率に関する表は、少なくとも前記第１の効率と、前記第１の数字と、前記第２の数字とから成る、請求項６に記載のサーバ。
【請求項９】
前記少なくとも一つのプロセッサは、前記少なくとも一つのネットワークパケットを処理するように構成された少なくとも一つの第３の中央処理装置および少なくとも一つの第４の中央処理装置をさらに備え、前記少なくとも一つのプロセッサはさらに、
前記サーバの第２の効率をテストするために、および第３の種類のタスクを実行するように構成された前記少なくとも一つの第３の中央処理装置の第３の数と、第４の種類のタスクを実行するように構成された前記少なくとも一つの第４の中央処理装置の第４の数と、前記第２の効率とを記録するために、
前記少なくとも一つの第３の中央処理装置の前記第３の数を１だけ減じるために、および
前記少なくとも一つの第３の中央処理装置の前記第３の数がゼロに等しくない場合に、前記少なくとも一つの第３の中央処理装置の前記第３の数が、前記少なくとも一つの第４の中央処理装置の前記第４の数よりも大きくないか否かを判断するために、および前記第３の数が前記第４の数よりも大きくない場合に、前記第４の数を増加させ、および処理システム内の複数の中央処理装置の総数から、前記第１の数と、前記第２の数と、前記第４の数とを減じることによって、前記第３の数をリセットするために用いられ、
前記少なくとも一つの第４の中央処理装置の前記第４の数は、初期設定で１であり、また、前記少なくとも一つの第３の中央処理装置の前記第３の数は、前記複数の中央処理装置の総数から、前記第１の数と、前記第２の数と、前記第４の数とを減じることによって初期化される、請求項６に記載のサーバ。
【請求項１０】
前記少なくとも一つのプロセッサは、前記少なくとも一つの第３の中央処理装置の前記第３の数がゼロに等しい場合の前記サーバの第２の作業効率に関する表を取得し、前記第２の作業効率に関する表は、少なくとも前記第２の効率と、前記第３の数と、前記第４の数とから成る、請求項９に記載のサーバ。
【請求項１１】
複数の中央処理装置を備える処理システムに適応される割り当て方法であって、
サーバの第１の効率をテストすること、および第１の種類のタスクを実行するように構成された少なくとも一つの第１の中央処理装置の第１の数と、第２の種類のタスクを実行するように構成された少なくとも一つの第２の中央処理装置の第２の数と、前記第１の効率とを記録することと、
前記第１の中央処理装置の前記第１の数を１だけ減らすことと、
前記少なくとも一つの第１の中央処理装置の前記第１の数がゼロに等しくない場合に、前記第１の中央処理装置の前記第１の数が、前記少なくとも一つの第２の中央処理装置の前記第２の数よりも大きくないか否かを判断すること、前記第２の数を増加させること、および前記第１の数が前記第２の数よりも大きくない場合には、前記複数の中央処理装置の総数から前記第２の数を減じることにより、前記第１の数をリセットすることと、
を含み、
前記少なくとも一つの第２の中央処理装置の前記第２の数は、初期設定で１であり、前記少なくとも一つの第１の中央処理装置の前記第１の数は、前記複数の中央処理装置の前記総数から前記第２の数を減じることによって初期化される、割り当て方法。
【請求項１２】
少なくとも一つのネットワークパケットを受信するように構成された少なくとも一つのハードウェアキューと、
前記少なくとも一つのネットワークパケットを再割り当てするように構成された少なくとも一つのソフトウェアキューと、
少なくとも一つの第１の中央処理装置および少なくとも一つの第２の中央処理装置を備え、および前記少なくとも一つのネットワークパケットを処理するように構成された少なくとも一つのプロセッサと、
少なくとも一つの実行命令を格納するように構成された少なくとも一つの記憶装置であって、前記少なくとも一つのプロセッサは、その実行命令により、
サーバの第１の効率をテストするために、および第１の種類のタスクを実行するように構成された前記少なくとも一つの第１の中央処理装置の第１の数と、第２の種類のタスクを実行するように構成された前記少なくとも一つの第２の中央処理装置の第２の数と、前記第１の効率とを記録するために、
前記少なくとも一つの第１の中央処理装置の前記第１の数を１だけ減らすために、および
前記少なくとも一つの第１の中央処理装置の前記第１の数がゼロに等しくない場合に、前記少なくとも一つの第１の中央処理装置の前記第１の数が、前記少なくとも一つの第２の中央処理装置の前記第２の数よりも大きくないか否かを判断するために、前記第２の数を増加させるために、および前記第１の数が前記第２の数よりも大きくない場合には、処理システム内の前記複数の中央処理装置の総数から前記第２の数を減じることにより、前記第１の数をリセットするためにプログラムされる、少なくとも一つの記憶装置と、
を備えるサーバであって、
前記少なくとも一つの第２の中央処理装置の前記第２の数は、初期設定で１であり、前記少なくとも一つの第１の中央処理装置の前記第１の数は、前記複数の中央処理装置の前記総数から前記第２の数を減じることによって初期化される、サーバ。
【請求項１３】
前記少なくとも一つのプロセッサは、前記少なくとも一つの第１の中央処理装置の前記第１の数がゼロに等しい場合の前記サーバの第１の作業効率に関する表を取得し、前記第１の作業効率に関する表は、少なくとも前記第１の効率と、前記第１の数と、前記第２の数とから成る、請求項１２に記載のサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、中央処理装置の割り当て方法およびそれを用いたサーバに関する。
【背景技術】
【０００２】
人々は、長い間、ストレージシステムの効率を高めるために、ストレージシステムのアクセス速度の向上を追い続けている。しかし、ストレージシステムの効率は、従来のハードディスクドライブ（ＨＤＤ）のアクセス速度の限界のため、大幅に向上させることができない可能性がある。そのため、多くの人は、従来のハードディスクドライブ（ＨＤＤ）の代わりにソリッドステートディスク（ＳＳＤ）を用いることを提案している。オールフラッシュアレイ（ＡＦＡ）から成る構造の下では、ネットワークカードを備えたクライアントとサーバとの間の高アクセス効率は、高速および低遅延伝送という特徴を有するＩｎｆｉｎｉＢａｎｄ（登録商標）規格を用いることによって実現することができる。しかし、ＩｎｆｉｎｉＢａｎｄ規格は、費用がかかり、イーサネット（登録商標）と互換性がない。したがって、人々は、イーサネットの環境で、高アクセス効率を実現できることを期待している。しかし、ネットワークパケットを受信する低位層のネットワークカードの遅延および上位層のネットワークの遅延のため、クライアントとサーバの間で高いアクセス効率を実現できない可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本開示においては、中央処理装置の割り当て方法およびそれを用いたサーバが開示されている。その割り当て方法およびそのサーバにおいて、その中央処理装置は、異なる種類の処理タスクの負荷に従って自動的に割り当てられ、その結果、サーバの全体効率が向上される。
【０００４】
本開示の例示的な実施形態に従って、複数の中央処理装置を備えている処理システムに適応される割り当て方法が開示されている。その方法は、サーバの第１の効率をテストするステップおよび第１の種類のタスクを実行するように構成された少なくとも一つの第１の中央処理装置の第１の数と、第２の種類のタスクを実行するように構成された少なくとも一つの第２の中央処理装置の第２の数と、第１の効率とを記録するステップと、少なくとも一つの第１の中央処理装置がビジー状態になっているか否かを判断するステップと、少なくとも一つの第１の中央処理装置がビジー状態になっている場合に、少なくとも一つの第１の中央処理装置の前記第１の数を増加させるステップと、少なくとも一つの第１の中央処理装置がビジー状態ではない場合に、第１の種類のタスクによって占有されている帯域幅が最大帯域幅に達したか否かを判断するステップと、第１の種類のタスクによって占有されている前記帯域幅が最大帯域幅に達していない場合に、少なくとも一つの第２の中央処理装置の第２の数を増加させるステップと、サーバの第１の効率をテストするステップ、少なくとも一つの第１の中央処理装置がビジー状態になっているか否かを判断するステップおよび第１の種類のタスクによって占有されている帯域幅が最大帯域幅に達しているか否かを判断するステップを、第１の種類のタスクによって占有されている帯域幅が最大帯域幅に達するまで継続的に実行するステップとを含む。少なくとも一つの第１の中央処理装置の第１の数と、少なくとも一つの第２の中央処理装置の第２の数はともに初期設定で１である。
【０００５】
本開示の例示的な実施形態によるサーバが開示されている。そのサーバは、少なくとも一つのハードウェアキューと、少なくとも一つのソフトウェアキューと、少なくとも一つのプロセッサと、少なくとも一つの記憶装置とを含む。少なくとも一つのハードウェアキューは、少なくとも一つのネットワークパケットを受信するように構成されている。少なくとも一つのソフトウェアキューは、少なくとも一つのネットワークパケットを再割り当てするように構成されている。少なくとも一つのプロセッサは、第１の中央処理装置および第２の中央処理装置を含み、および少なくとも一つのネットワークパケットを処理するように構成されている。少なくとも一つの記憶装置は、少なくとも一つの実行命令を格納するように構成されている。少なくとも一つの実行命令により、少なくとも一つのプロセッサは、サーバの第１の効率をテストするようにおよび第１の種類のタスクを実行するように構成された少なくとも一つの第１の中央処理装置の第１の数と、第２の種類のタスクを実行するように構成された少なくとも一つの第２の中央処理装置の第２の数と、第１の効率とを記録するようにプログラムされ、少なくとも一つの第１の中央処理装置がビジー状態になっているか否かを判断するようにプログラムされ、少なくとも一つの第１の中央処理装置がビジー状態になっている場合に、少なくとも一つの第１の中央処理装置の第１の数を増加させるようにプログラムされ、少なくとも一つの第１の中央処理装置がビジー状態でない場合には、第１の種類のタスクによって占有されている帯域幅が最大帯域幅に達したか否かを判断するようにプログラムされ、第１の種類のタスクによって占有されている帯域幅が最大帯域幅に達していない場合には、少なくとも一つの第２の中央処理装置の第２の数を増加させるようにプログラムされ、サーバの第１の効率をテストするステップと、記少なくとも一つの第１の中央処理装置がビジー状態になっているか否かを判断するステップと、第１の種類のタスクによって占有されている帯域幅が最大帯域幅に達しているか否かを判断するステップとを、第１の種類のタスクによって占有されている帯域幅が最大帯域幅に達するまで継続的に実行するようにプログラムされている。少なくとも一つの第１の中央処理装置の第１の数と、少なくとも一つの第２の中央処理装置の第２の数はともに初期設定で１である。
【０００６】
本開示の一つの実施形態による、複数の中央処理装置を備える処理システムに適応される割り当て方法が開示されている。その方法は、サーバの第１の効率をテストするステップおよび第１の種類のタスクを実行するように構成された少なくとも一つの第１の中央処理装置の第１の数と、第２の種類のタスクを実行するように構成された少なくとも一つの第２の中央処理装置の第２の数と、前記第１の効率とを記録するステップと、少なくとも一つの第１の中央処理装置の第１の数を１だけ減らすステップと、少なくとも一つの第１の中央処理装置の第１の数がゼロに等しくない場合に、少なくとも一つの第１の中央処理装置の第１の数が、少なくとも一つの第２の中央処理装置の第２の数よりも大きくないか否かを判断するステップと、第１の数が第２の数よりも大きくない場合に、第２の数を増加させるステップおよび複数の中央処理装置の総数から第２の数を減じることにより、第１の数をリセットするステップとを含む。少なくとも一つの第２の中央処理装置の第２の数は、初期設定で１であり、および少なくとも一つの第１の中央処理装置の第１の数は、複数の中央処理装置の総数から第２の数を減じることによって初期化される。
【０００７】
本開示の一つの実施形態によるサーバが開示されている。そのサーバは、少なくとも一つのハードウェアキューと、少なくとも一つのソフトウェアキューと、少なくとも一つのプロセッサと、少なくとも一つの記憶装置とを含む。少なくとも一つのハードウェアキューは、少なくとも一つのネットワークパケットを受信するように構成されている。少なくとも一つのソフトウェアキューは、少なくとも一つのネットワークパケットを再割り当てするように構成されている。少なくとも一つのプロセッサは、第１の中央処理装置および第２の中央処理装置を含み、および少なくとも一つのネットワークパケットを処理するように構成されている。少なくとも一つの記憶装置は、少なくとも一つの実行命令を格納するように構成されている。少なくとも一つの実行命令により、少なくとも一つのプロセッサは、サーバの第１の効率をテストするようにおよび第１の種類のタスクを実行するように構成された少なくとも一つの第１の中央処理装置の第１の数と、第２の種類のタスクを実行するように構成された少なくとも一つの第２の中央処理装置の第２の数と、第１の効率とを記録するようにプログラムされ、少なくとも一つの第１の中央処理装置の第１の数を１だけ減らすようにプログラムされ、少なくとも一つの第１の中央処理装置の第１の数がゼロに等しくない場合に、少なくとも一つの第１の中央処理装置の第１の数が、少なくとも一つの第２の中央処理装置の第２の数よりも大きくないか否かを判断するようにプログラムされ、第１の数が第２の数よりも大きくない場合には、第２の数を増加させ、および複数の中央処理装置の総数から第２の数を減じることにより、第１の数をリセットするようにプログラムされている。少なくとも一つの第２の中央処理装置の第２の数は、初期設定で１であり、少なくとも一つの第１の中央処理装置の第１の数は、複数の中央処理装置の総数から第２の数を減じることによって初期化される。
【０００８】
上記の説明に基づいて、本開示の割り当て方法およびサーバにおいては、第１の中央処理装置の数は、第１の中央処理装置の負荷を判断することによって選択的に増加され、また、第２の中央処理装置の数は、第１の種類のタスクの帯域幅を判断することによって、選択的に増加される。上述したステップは、繰り返し実行される。したがって、サーバの効率を向上させるための、中央処理装置の理想的な割り当てが行われる。
【図面の簡単な説明】
【０００９】
本開示は、本明細書において以下に示す詳細な説明と、単に例示として示され、そのため本開示を制限するものではない添付図面とから、より十分に理解されることになるであろう。
【００１０】
【図１】本開示の一つの実施形態によるサーバの構造概念図である。
【図２】本開示の一つの実施形態による中央処理装置の割り当て方法に関するフローチャートである。
【図３】本開示の別の実施形態による中央処理装置の割り当て方法に関するフローチャートである。
【図４】本開示の別の実施形態による中央処理装置の割り当て方法に関するフローチャートである。
【図５】本開示の別の実施形態による中央処理装置の割り当て方法に関するフローチャートである。
【発明を実施するための形態】
【００１１】
以下の詳細な説明においては、説明目的のため、開示した実施形態の完全な理解を与えるために、多くの具体的な詳細が記載されている。しかし、それらの具体的な詳細を要することなく、一つ以上の実施形態を実施できることは明らかであろう。他の例では、図を簡略化するために、周知の構造および装置が模式的に図示されている。
【００１２】
本開示の一つの実施形態によるサーバの構造概念図である図１を参照して下さい。図１に図示されているように、サーバ１は、ネットワークインタフェースコントローラ（ＮＩＣ）１０およびコア１２を含む。ネットワークインタフェースコントローラ１０は、クライアント２によって送信されたネットワークパケットＰＫＴを受信するように構成された複数のハードウェアキュー１０２〜１０６を有している。実際には、受信側スケーリング（Ｒｅｃｅｉｖｅ  Ｓｉｄｅ  Ｓｃａｌｉｎｇ：ＲＳＳ）が無効になっている場合、ネットワークインタフェースコントローラ１０は、一つのハードウェアキューを有しているにすぎない。対照的に、受信側スケーリング（ＲＳＳ）が可能になっている場合には、ネットワークインタフェースコントローラ１０は、複数のハードウェアキュー（例えば、ハードウェアキュー１０２〜１０６）を有している。受信側スケーリング（ＲＳＳ）は、ネットワークインタフェースコントローラ１０が、インターネット処理負荷をマルチコアコンピュータ内の少なくとも一つのプロセッサのマルチコア処理ユニットに配分できるようにするのに用いられ、その結果、サーバは、高いネットワークフローを処理することが可能になる。複数のハードウェアキューは、それぞれ一つずつ複数の中央処理装置に対応している。図１の実施形態に示すように、複数のハードウェアキュー１０２〜１０６は、それぞれ、プロセッサ１４内の中央処理装置Ｃ１〜Ｃ３に対応しているため（図では、例示のためだけに図示されており、そのため本開示を制限するものではない）、ネットワークパケットＰＫＴを処理のために、プロセッサ１４内の複数の中央処理装置Ｃ１〜Ｃ３に配分することができる。この実施形態において言及している中央処理装置Ｃ１〜Ｃ３は、説明のために用いられているにすぎない。実際には、プロセッサ１４は、中央処理装置Ｃ１〜Ｃ３以外にも、より多くの中央処理装置を含んでいる。この実施形態において、コア１２内の複数のソフトウェアキュー１２２〜１２６は、同じ中央処理装置に対応している。そのため、ハードウェアキュー１０２〜１０６の負荷が不均衡である場合、複数のソフトウェアキュー１２２〜１２６は、中央処理装置Ｃ１〜Ｃ３の負荷が均衡するように、ネットワークパケットＰＫＴを再割り当てするのに用いることができるであろう。
【００１３】
一つの実施形態において、プロセッサ１４内の複数の第１の中央処理装置（例えば、中央処理装置Ｃ１〜Ｃ３）は、第１の種類のタスクを実行し、その結果、ネットワークインタフェースコントローラ１０は、クライアント２からネットワークパケットＰＫＴを受信する。一つの実施形態において、記憶装置１６（図では、単に説明のために、一つの記憶装置だけが図示され、そのため、本開示を制限するものではない）は、少なくとも一つの実行命令を格納する。プロセッサ１４は、サーバ１の第１の効率をテストし、少なくとも一つの実行命令に従って、第１の種類のタスクを実行するように構成された第１の中央処理装置の第１の数を記録する。図１および図２を参照して下さい。図２は、本開示の一つの実施形態による中央処理装置の割り当て方法に関するフローチャートである。図２の実施形態において、プロセッサ１４は、第１の中央処理装置の第１の数を１になるように初期化する。ステップＳ２０１において、プロセッサ１４は、サーバ１の第１の効率をテストして記録する。第１の効率は、ＩＯＰＳ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｏｐｅｒａｔｉｏｎｓ  ｐｅｒ  Ｓｅｃｏｎｄ）の測定によって得られる。次のステップＳ２０３において、プロセッサ１４は、第１の種類のタスクによって占有されている帯域幅が最大帯域幅に達しているか否かを判断する。第１の種類のタスクによって占有されている帯域幅が前記最大帯域幅に達していない場合には、ステップＳ２０５において、第１の中央処理装置の第１の数を増加させて、サーバ１の第１の効率を記録する。
【００１４】
この実施形態において、ネットワークインタフェースコントローラ１０が、クライアント２からネットワークパケットＰＫＴを受信すると、第１の種類のタスクを実行するために、プロセッサ１４によって、複数の中央処理装置の中の一つの第１の中央処理装置が割り当てられる。上述したプロセスは、ネットワークインタフェースコントローラ１０のハードウェアインタラプトと呼ばれている。プロセッサ１４は、テストすることにより、第１の種類のタスクによって占有されている帯域幅が、ネットワークインタフェースコントローラ１０の最大帯域幅に達しているか否かを判断する。第１の種類のタスクによって占有されている帯域幅が、ネットワークインタフェースコントローラ１０の最大帯域幅に達していない場合には、プロセッサ１４は、第１の中央処理装置の第１の数を１から２にさらに増加させて、サーバ１の第１の効率を記録する。この実施形態において、プロセッサ１４は、第１の種類のタスクによって占有されている帯域幅が、ネットワークインタフェースコントローラ１０の最大帯域幅に達するまで、上述したステップを継続的に実行することにより、第１の中央処理装置の第１の数を徐々に増加させる。プロセッサ１４によって記録された第１の中央処理装置の第１の数は、最大帯域幅に達した場合に、ネットワークインタフェースコントローラ１０によって要求される第１の中央処理装置の最小数である。最大帯域幅に達した状態では、プロセッサ１４は、他の第１の中央処理装置をネットワークインタフェースコントローラ１０に割り当てる必要はない。その代わり、プロセッサ１４は、残りの中央処理装置を、サーバ１の他の装置に割り当てるため、中央処理装置のリソースの無駄使いが避けられる。
【００１５】
上述した実施形態では、第１の中央処理装置によって実行される第１の種類のタスクのみが考慮されている。別の実施形態ではさらに、プロセッサ１４内の複数の第２の中央処理装置によって実行される第２の種類のタスクが考慮される。第２の種類のタスクは、ｉＳＣＳＩ（ｉｎｔｅｒｎｅｔ  ｓｍａｌｌ  ｃｏｍｐｕｔｅｒ  ｓｙｓｔｅｍ  ｉｎｔｅｒｆａｃｅ）ターゲットがネットワークパケットＰＫＴを受信して処理するように実行される。実際には、ｉＳＣＳＩは、サーバ１とクライアント２との間で情報がやりとりされるように、ＴＣＰ／ＩＰに基づいて、サーバ１をクライアント２に接続するように構成されている。ｉＳＣＳＩターゲットは、それぞれ、ネットワークパケットを処理するように構成された中央処理装置に割り当てられているネットワークスレッドおよびワーカースレッドを有している。図１および図３を参照して下さい。図３は、本開示の一つの実施形態による中央処理装置の割り当て方法に関するフローチャートである。図３の実施形態において、プロセッサ１４は、第１の種類のタスクを実行するために、１になるように第１の中央処理装置の第１の数を初期化し、および第２の種類のタスクを実行するために、１になるように第２の中央処理装置の第２の数を初期化する。ステップＳ３０１において、プロセッサ１４は、一つ以上の実行命令に従って、サーバ１の第１の効率をテストして、第１の種類のタスクを実行するように構成された第１の中央処理装置の第１の数と、第２の種類のタスクを実行するように構成された第２の中央処理装置の第２の数と、第１の効率とを記録する。次のステップＳ３０３では、プロセッサ１４は、第１の中央処理装置がビジー状態になっているか否かを判断する。第１の中央処理装置がビジー状態になっている場合、プロセッサ１４は、ステップＳ３０７において、第１の中央処理装置の第１の数を増加させる。第１の中央処理装置がビジー状態になっていない場合には、プロセッサ１４は、ステップＳ３０５において、第１の種類のタスクによって占有されている帯域幅が最大帯域幅に達しているか否かを判断する。第１の種類のタスクによって占有されている帯域幅が最大帯域幅に達していない場合、ステップＳ３０９において、第２の中央処理装置の第２の数を増加させる。サーバ１の第１の効率をテストするステップを継続的に実行して、サーバ１の第１の中央処理装置がビジー状態になっているか否かを判断し、および、第１の種類のタスクによって占有されている帯域幅が最大帯域幅に達しているか否かを判断する。
【００１６】
一つの実施形態において、ステップＳ３０３では、プロセッサ１４は、第１の中央処理装置がビジー状態になっているか否かを判断し、以下のステップを含む。プロセッサ１４は、第１の中央処理装置の占有リソースの量が閾値以上であるか否かを判断する。第１の中央処理装置の占有リソースの量が閾値以上である場合、プロセッサ１４は、第１の中央処理装置がビジー状態になっていると判断する。第１の中央処理装置の占有リソースの量が閾値未満である場合には、プロセッサ１４は、第１の中央処理装置がビジー状態になっていないと判断する。一つの実施形態において、占有リソースは、第１の中央処理装置の使用量とみなされる。その使用量が閾値よりも大きい（例えば、８０％）場合、プロセッサ１４は、第１の中央処理装置がビジー状態になっていると判断する。対照的に、使用量が閾値未満である場合、プロセッサ１４は、第１の中央処理装置がビジー状態になっていないと判断する。別の実施形態では、占有リソースは、複数の第１の中央処理装置の平均使用量とみなされる。例えば、それぞれ、８５％、９０％および８０％の使用量を有する３つの第１の中央処理装置がある。３つの第１の中央処理装置の平均使用量は、８０％である閾値よりも大きい８５％であることが分かっているため、プロセッサ１４は、３つの第１の中央処理装置がビジー状態になっていると判断する。
【００１７】
実施形態において、第１の種類のタスクによって占有されている帯域幅が最大帯域幅に達している場合、サーバ１の作業効率に関する表が得られる。作業効率に関する表は、少なくとも第１の効率と、第１の数と、第２の数とを含む。本開示の一つの実施形態による作業効率に関する表１を参照して下さい。表１に示されているように、プロセッサ１４が、少なくとも一つの実行命令に従って、上述したステップを実行した後、プロセッサ１４は、第１の種類のタスクによって占有されている帯域幅が最大帯域幅に達したときに、サーバの作業効率に関する表を得る。
【００１８】
【表１】
2018106660.tif 000003
【００１９】
表１に示されているように、第１の種類のタスクを実行するように構成された第１の中央処理装置の第１の数および第２の種類のタスクを実行するように構成された第２の中央処理装置の第２の数に対する割り当てが変化した場合、得られる第１の効率が相対的に変化する。換言すると、中央処理装置の数が制限されている状態において、中央処理装置に対する理想的な割り当ては、表１において、上述した割り当て方法によって得ることができる。表１を実施例として採用すると、第１の中央処理装置の第１の数と、第２の中央処理装置の第２の数の合計が１０である状況では、それぞれ、第１の中央処理装置の第１の数が４になるように設定し、および第２の中央処理装置の第２の数が６になるように設定することによって得られた第１の効率は、それぞれ、第１の中央処理装置の第１の数が３になるように設定し、および第２の中央処理装置の第２の数が７になるように設定することによって得られた第１の効率よりも良いであろう。表１からは、第２の中央処理装置の第２の数が１１である状況では、第１の中央処理装置の第１の数を３になるように設定することによって得られる第１の効率は、第１の中央処理装置の第１の数が４になるように設定することによって得られる第１の効率よりも良くなることが分かる。表１からは、それぞれ、第１の中央処理装置の第１の数が３になるように設定し、および第２の中央処理装置の第２の数が６になるように設定することによって得られる第１の効率は、第１の中央処理装置の第１の数が４になるように設定し、および第２の中央処理装置の第２の数が７になるように設定することによって得られる第１の効率よりも良くなることが分かる。上述した実施形態からは、第１の中央処理装置の第１の数と、第２の中央処理装置の第２の数の合計が大きい状況での効率は、必ずしも、第１の中央処理装置の第１の数と、第２の中央処理装置の第２の数の合計が小さい状況での効率よりも良くないことが分かる。さらに、表１からは、第１の中央処理装置の第１の数および第２の中央処理装置の第２の数に対する異なる割り当て方法が、第１の中央処理装置の第１の数と、第２の中央処理装置の第２の数の合計が一貫している状況で、異なる効率を生じさせることも分かる。中央処理装置のリソースが限定されている状況では、最良の効率を得るための割り当て方法は、本開示の割り当て方法によって、中央処理装置に対する各割り当てに対応する効率を繰り返しテストして記録することによって、見いだすことができるであろう。
【００２０】
図１および図４を参照して下さい。図４は、本開示の別の実施形態による中央処理装置の割り当て方法に関するフローチャートである。この実施形態において、プロセッサ１４は、第３の中央処理装置および第４の中央処理装置をさらに含む。記憶装置１６に格納されている少なくとも一つの実行命令に従って、プロセッサ１４は、ステップＳ４０１において、サーバ１の第２の効率をテストして、第３の種類のタスクを実行するように構成された第３の中央処理装置の第３の数と、第４の種類のタスクを実行するように構成された第４の中央処理装置の第４の数と、第２の効率とを記録する。実施形態において、第３の種類のタスクおよび第４の種類のタスクは、ＳＯＦＡ（Ｓｏｆｔｗａｒｅ  Ｏｒｃｈｅｓｔｒａｔｅｄ  Ｆｌａｓｈ  Ａｒｒａｙ）でのフロントエンドにおける入力／出力要求に関する処理手順およびバックエンドにおける読出し／書込みに関する処理手順にそれぞれ対応している。この実施形態において、第１の中央処理装置の第１の数と、第２の中央処理装置の第２の数と、第３の中央処理装置の第３の数と、第４の中央処理装置の第４の数の合計は、サーバ１内の中央処理装置の総数である。一つの実施例において、サーバ１内の中央処理装置の総数が２４であり、および割り当てられた第１の中央処理装置の第１の数と、割り当てられた第２の中央処理装置の第２の数の合計が１３であると仮定する。この実施例では、プロセッサ１４によって設定される、第３の中央処理装置の第３の数と、第４の中央処理装置の第４の数の合計は１１である。
【００２１】
別の実施形態において、第１の中央処理装置の第１の数と、第２の中央処理装置の第２の数と、第３の中央処理装置の第３の数と、第４の中央処理装置の第４の数の合計は、サーバ１内の中央処理装置の総数よりも低い。例えば、サーバ１内の中央処理装置の総数が２４であり、割り当てられた第１の中央処理装置の第１の数と、割り当てられた第２の中央処理装置の第２の数の合計が１１であり、割り当てられた第３の中央処理装置の第３の数と、割り当てられた第４の中央処理装置の第４の数の合計が１０であると仮定する。換言すると、この実施形態では、残りの３つの中央処理装置を、他のタスクまたは残りのアイドルを処理するのに用いることができるであろう。
【００２２】
ステップＳ４０２では、第３の中央処理装置の第３の数が１だけ減じられ、次のステップＳ４０２’では、プロセッサ１４は、第３の中央処理装置の第３の数がゼロに等しいか否かを判断する。第３の中央処理装置の第３の数がゼロに等しくない場合には、ステップＳ４０３において、プロセッサ１４は、第３の中央処理装置の第３の数が、第４の中央処理装置の第４の数よりも高くないか否かを判断する。ステップＳ４０５では、第３の中央処理装置の第３の数が、第４の中央処理装置の第４の数よりも高くない場合、プロセッサ１４は、第４の中央処理装置の第４の数を増加させ、および中央処理装置（第１の中央処理装置、第２の中央処理装置、第３の中央処理装置および第４の中央処理装置）の総数から、第１の中央処理装置の第１の数と、第２の中央処理装置の第２の数と、第４の中央処理装置の第４の数とを減じることにより、第３の中央処理装置の第３の数をリセットする。
【００２３】
一つの実施形態において、サーバ１内の中央処理装置の総数が３０であり、また、割り当てられた第１の中央処理装置の第１の数と、割り当てられた第２の中央処理装置の第２の数の合計が１３である場合には、プロセッサ１４によって割り当てられた第３の中央処理装置の第３の数および第４の中央処理装置の第４の数が１１になると仮定する。この実施形態では、プロセッサ１４は、１になるように第４の中央処理装置の第４の数を初期化する。この時点で、第３の中央処理装置の第３の数は１０である。ステップＳ４０１では、第３の中央処理装置の第３の数および第４の中央処理装置の第４の数が、それぞれ１０および１である場合、プロセッサ１４は、サーバ１の第２の効率をテストして記録し、および次のステップＳ４０２において、第３の中央処理装置の第３の数を１だけ減ずる。さらに、ステップＳ４０２’では、プロセッサ１４は、第３の数がゼロであるか否かを判断する。第３の数がゼロでない場合には、ステップＳ４０３において、プロセッサ１４は、第３の中央処理装置の第３の数が、第４の中央処理装置の第４の数よりも大きくないと判断する。この実施形態では、既に第４の中央処理装置の第４の数よりも大きくなっている、第３の中央処理装置の第３の数が１０から９に減じられているため、プロセッサ１４は、ステップＳ４０１において、第２の効率をテストする。上述したステップを繰り返した後、第４の中央処理装置の第４の数は、徐々に１０から１へ低下する。この時点で、第３の中央処理装置の第３の数は、第４の中央処理装置の第４の数に等しく（ともに１に等しい）、また、プロセッサ１４は、ステップＳ４０５において、第４の中央処理装置の第４の数を１から２に増加させ、および中央処理装置（第１の中央処理装置、第２の中央処理装置、第３の中央処理装置および第４の中央処理装置）の総数から、第１の中央処理装置の第１の数と、第２の中央処理装置の第２の数と、第４の中央処理装置の第４の数とを減じることによって、第３の中央処理装置の第３の数をリセットし、この場合、第３の数は９になる。
【００２４】
この時点で、ステップＳ４０１において、第３の中央処理装置の第３の数および第４の中央処理装置の第４の数が、それぞれ９および２である場合、プロセッサ１４は、第２の効率をテストし、および上述したステップを繰り返す。第３の中央処理装置の数がゼロになった場合、少なくとも第２の効率と、第３の中央処理装置の数と、第４の中央処理装置の数とを含むサーバ１の作業効率に関する表を得ることができる。表１および表２を参照して下さい。表２は、本開示の一つの実施形態による作業効率に関する表である。作業効率に関する表は、少なくとも第２の効率と、第３の数と、第４の数とを含む。表２に示すように、サーバ１の第２の効率は、第３の中央処理装置の第３の数および第４の中央処理装置の第４の数に対する割り当てが変化した場合に、相対的に変化する。表２からは、第３の中央処理装置の第３の数が７である場合、２になるように第４の中央処理装置の第４の数を設定することによって得られる第２の効率が、３になるように第４の中央処理装置の第４の数を設定することによって得られる第２の効率よりも良くなることが分かる。換言すれば、第３の中央処理装置の第３の数と、第４の中央処理装置の第４の数の合計が小さい状態での第２の効率は、第３の中央処理装置の第３の数と、第４の中央処理装置の第４の数の合計が大きい状態での第２の効率よりも良くなる可能性がある。換言すると、上述した中央処理装置の割り当て方法を繰り返し実行することによって得られる、作業効率に関する表を介して、プロセッサ１４は、中央処理装置のリソースが限定されている状態で、中央処理装置の改善された割り当てを得ることができ、その結果、リソースの無駄遣いを避けることができ、およびサーバ１の効率を上げることができる。
【００２５】
【表２】
2018106660.tif 000004
【００２６】
一つの実施形態において、サーバ１が２４個の中央処理装置を有し、およびそれら２４個の中央処理装置が、上述した４つのタスクを実行するために割り当てられる場合、２４個の中央処理装置を割り当てる組合せの数は１７７１になる。しかし、本開示の割り当て方法によって、サーバの作業効率に関する表で生成される、２４個の中央処理装置を割り当てる組合せの数は、１７７１よりも小さくなる。例えば、１３個の中央処理装置が、第１の種類のタスクおよび第２の種類のタスクを実行するために割り当てられ、および残りの１１個の中央処理装置が、第３の種類のタスクおよび第４の種類のタスクを実行するために割り当てられる場合、２４個の中央処理装置を割り当てる組合せの数は、本開示の割り当て方法を用いることにより、約１００となる。そのため、テスト処理手順および中央処理装置を割り当てるための時間が節約される。
【００２７】
上述した実施形態では、ＳＯＦＡに関連する第３の種類のタスクおよび第４の種類のタスク、ならびに第１の種類のタスクおよび第２の種類のタスクのための割り当て方法が開示されている。しかし、別の実施形態では、その割り当て方法は、第３の種類のタスクおよび第４の種類のタスクだけのためのものである。本開示の別の実施形態による中央処理装置の割り当て方法に関するフローチャートである図５を参照して下さい。図５に示すステップは、図４に示すステップと同様であるため、ここでは繰り返さない。図５と図４の唯一の違いは、図５のステップＳ４０５’では、第３の中央処理装置の第３の数が、中央処理装置（第３の中央処理装置および第４の中央処理装置）の総数から、第４の中央処理装置の第４の数を減じることによって得られるということである。換言すると、この実施形態では、第１の中央処理装置の第１の数および第２の中央処理装置の第２の数は、考慮されていない。
【００２８】
上記の説明に基づいて、中央処理装置の割り当て方法およびサーバの動作において、第１の中央処理装置の数は、第１の中央処理装置の負荷を判断することによって選択的に増加される。さらに、第２の中央処理装置の第２の数は、第１の種類のタスクによって占有されている帯域幅が最大帯域幅に達しているか否かを判断することによって、選択的に増加される。上述したステップが繰り返し実行される。そのため、中央処理装置の理想的な割り当て方法が得られ、その結果、サーバの全体効率が向上する。
【００２９】
本発明を上述した実施形態に関連して説明してきたが、それらは、本発明を限定することを意図されていない。本発明の趣旨および範囲から逸脱することなく実行されるさまざまな変形および変更は、本発明がクレームする範囲内にある。したがって、本発明の保護の範囲は、添付クレームによって定義される。
【図１】
2018106660.tif 000005
【図２】
2018106660.tif 000006
【図３】
2018106660.tif 000007
【図４】
2018106660.tif 000008
【図５】
2018106660.tif 000009