(57)【要約】【課題】マイクロサービスアーキテクチャを採用した情報処理装置のモジュールへの割り当てＣＰＵコア数および性能の見積りを可能とする。【解決手段】コア数算出部１１１は、性能算出部１１２が出力した一時処理性能値の処理に必要なＣＰＵコア数の総数を算出する。性能算出部１１２は、一時処理性能値への処理性能値増分の加算を繰り返しながら、コア数算出部１１１に必要なＣＰＵコア数の総数を算出させ、所定の割り当て可能ＣＰＵコア上限数を超えない最大の一時処理性能値である処理性能上限値を求める。【選択図】図５
2019149043.tif 000002
【特許請求の範囲】
【請求項１】
複数のモジュールから構成される情報処理装置の処理性能値の上限を示す処理性能上限値を見積もる見積り装置であって、
前記モジュールそれぞれに１つのＣＰＵ（Central Processing Unit）コアが割り当てられたときの前記処理性能値を示す各モジュールの単位処理性能値、前記処理性能値の最小の見積り値を示す処理性能初期値、および、所定の割り当て可能ＣＰＵコア上限数を記憶する記憶部と、
前記処理性能初期値に所定の処理性能の増分を示す処理性能値増分を加算して一時処理性能値を算出し、前記算出した一時処理性能値および前記単位処理性能値を用いて、当該一時処理性能値を満たすのに必要なＣＰＵコア数を示す必要ＣＰＵコア数を前記モジュールごとに算出し、前記モジュールごとに算出された必要ＣＰＵコア数の総数を割り当てＣＰＵコア総数として算出するコア数算出部と、
前記算出された割り当てＣＰＵコア総数が前記割り当て可能ＣＰＵコア上限数を超えるか否かの判定を、前記一時処理性能値への前記処理性能値増分の加算を繰り返すごとに実行し、前記算出された割り当てＣＰＵコア総数が前記割り当て可能ＣＰＵコア上限数を超えない最大の前記一時処理性能値を前記処理性能上限値として算出する性能算出部と
を備えることを特徴とする見積り装置。
【請求項２】
前記性能算出部は、
前記処理性能上限値および前記単位処理性能値を用いて、前記処理性能上限値を満たす前記必要ＣＰＵコア数を前記モジュールごとに算出し、当該モジュールそれぞれの割り当てＣＰＵコア数とする
ことを特徴とする請求項１に記載の見積り装置。
【請求項３】
前記情報処理装置は、通信データを処理する情報処理装置であり、
前記処理性能値は、単位時間当たりに処理する前記通信データの数である
ことを特徴とする請求項１または請求項２に記載の見積り装置。
【請求項４】
複数のモジュールから構成される情報処理装置の処理性能値の上限を示す処理性能上限値を見積もる見積り装置の見積り方法であって、
前記見積り装置は、前記モジュールそれぞれに１つのＣＰＵコアが割り当てられたときの前記処理性能値を示す各モジュールの単位処理性能値、前記処理性能値の最小の見積り値を示す処理性能初期値、および、所定の割り当て可能ＣＰＵコア上限数を記憶部に記憶しており、
前記処理性能初期値に所定の処理性能の増分を示す処理性能値増分を加算して一時処理性能値を算出し、前記算出した一時処理性能値および前記単位処理性能値を用いて、当該一時処理性能値を満たすのに必要なＣＰＵコア数を示す必要ＣＰＵコア数を前記モジュールごとに算出し、前記モジュールごとに算出された必要ＣＰＵコア数の総数を割り当てＣＰＵコア総数として算出するステップと、
前記算出された割り当てＣＰＵコア総数が前記割り当て可能ＣＰＵコア上限数を超えるか否かの判定を、前記一時処理性能値への前記処理性能値増分の加算を繰り返すごとに実行し、前記算出された割り当てＣＰＵコア総数が前記割り当て可能ＣＰＵコア上限数を超えない最大の前記一時処理性能値を前記処理性能上限値として算出するステップと
を実行することを特徴とする見積り方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のモジュールから構成される情報処理装置におけるモジュールへの割り当てＣＰＵ（Central Processing Unit）コア数と処理性能値とを見積もる見積り装置および見積り方法に関する。
【背景技術】
【０００２】
従来、キャリア内の転送系サービス機能は、機能に応じた専用ハードウェアによって実現されており、機能とハードウェアが一体化していた。このため、ある機能のハードウェアの使用率が低い場合であっても、他の機能には転用できず非効率であった。このような問題を解消するために、汎用物理サーバ上に複数の仮想マシンを稼働させ、必要に応じて仮想マシンに機能を実現させて、サービスを提供するネットワーク機能の仮想化が普及している。
【０００３】
１つの汎用物理サーバ上で稼働する複数の仮想マシンを接続する手法として、非特許文献１に記載のあるように、仮想的なスイッチであるＯｖＳ（Open vSwitch）という標準的なソフトウェアを用いる手法がある。また、ＳＲ−ＩＯＶ（Single Root I/O Virtualization）という技術を用いて物理ＮＩＣ（Network Interface Card）を直接仮想マシンがアクセスできるようにして、ソフトウェアによるスイッチング処理をハードウェアで実現する手法がある。
【０００４】
ＯｖＳやＳＲ−ＩＯＶを用いた転送系装置とは別に、機能を実現するモジュールをＣＰＵコアが専有されるように割り当て、複数のモジュールが順次ＩＰ（Internet Protocol）パケットを処理する転送系装置が出現している。このような複数のモジュールを組み合わせて１つのサービス（装置）を実現する形態をマイクロサービスアーキテクチャという。この転送系装置において、複数あるモジュールのなかに処理負荷が高いモジュールがあると、そのモジュールがボトルネックとなり、全体の処理性能が低下してしまう。
【０００５】
このような場合には、処理負荷が高いモジュールにＣＰＵコアを複数割り当て、当該モジュールの処理能力を向上させることで、ボトルネックを解消し、転送系装置としての処理性能を向上させることができる。各モジュールに適切な数のＣＰＵコアを割り当て、ＣＰＵコアの処理能力の空きを削減することにより、ハードウェアリソースを無駄なく使うことができる。
【０００６】
なお、以下では、ＣＰＵコアが割り当てられたモジュールをモジュールインスタンスとも記す。マイクロサービスアーキテクチャでは、処理が重いモジュールについては、複数のモジュールインスタンスを生成して処理することで、全体の処理を高速化し、かつ、リソース使用率を向上させる。
【０００７】
図７は、従来技術であるマイクロサービスアーキテクチャを採用した転送系装置２０１のモジュール構成を説明するための図である。転送系装置２０１は、それぞれ別の機能を有するモジュールＡ、モジュールＢ、モジュールＣおよびモジュールＤから構成される。モジュールＡにはＣＰＵコアが１つ専有するように割り当てられ、モジュールインスタンスＡ（図７ではＭ＿Ａと記載）２１１ＡとしてＩＰパケットを処理する。同様に、モジュールＢ、モジュールＣおよびモジュールＤには、ＣＰＵコアがそれぞれ１つ、２つ、１つ専有するように割り当てられ、モジュールインスタンスＢ（図７ではＭ＿Ｂと記載）２１１Ｂ、モジュールインスタンスＣ（図７ではＭ＿Ｃと記載）２１１Ｃ１、２１１Ｃ２および、モジュールインスタンスＤ（図７ではＭ＿Ｄと記載）２１１Ｄが、それぞれの機能を実現してＩＰパケットを処理する。
高負荷なモジュール（機能）については、複数のコアを割り当てて複数のモジュールインスタンスを生成させて処理させることで、負荷を分散させることができ、全体処理のなかで当該モジュールがボトルネックになることを防ぐことができる。
【０００８】
メモリバッファ（図７ではＢと記載）２２１Ａは、モジュールインスタンスＡ２１１ＡとモジュールインスタンスＢ２１１Ｂとの間に介在しており、モジュールインスタンスＡ２１１Ａが処理したＩＰパケットが格納される。続いて、モジュールインスタンスＢ２１１Ｂが、メモリバッファ２２１ＡからＩＰパケットを取り出して処理する。モジュールインスタンスＢ２１１ＢとモジュールインスタンスＣ２１１Ｃ１との間のメモリバッファ２２１Ｂ１についても同様であり、モジュールインスタンスＢ２１１ＢとモジュールインスタンスＣ２１１Ｃ２との間のメモリバッファ２２１Ｂ２についても同様である。モジュールインスタンスＣ２１１Ｃ１とモジュールインスタンスＤ２１１Ｄとの間のメモリバッファ２２１Ｃ１、および、モジュールインスタンスＣ２１１Ｃ２とモジュールインスタンスＤ２１１Ｄとの間のメモリバッファ２２１Ｃ２についても同様である。なお、物理ＮＩＣやメモリ上のＩＰパケットの操作には、ＤＰＤＫ（Data Plane Development Kit）（非特許文献２参照）と呼ばれる技術が用いられる。
【０００９】
このように、コアを専有するモジュールインスタンスがメモリバッファを介して、次々とＩＰパケットを処理することで、高速な中継処理やヘッダの編集処理が可能となる。また、高負荷な機能を実現するモジュールについては、複数のコアを割り当てて複数のモジュールインスタンスとすることで、ＩＰパケットを並列処理することができ、他のモジュールと同等の処理性能を実現することができる。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】中村哲朗, 他3名, MAGONIA (SPP): 機能間高速連携技術, NTT技術ジャーナル, 2016.8, pp.31-33, [online], [平成30年2月14日検索], インターネット<URL:http://www.ntt.co.jp/journal/1608/files/jn20160831.pdf>
【非特許文献２】DPDK, [online], [平成30年2月14日検索], インターネット<URL:http://dpdk.org/>
【発明の概要】
【発明が解決しようとする課題】
【００１１】
従来の転送系装置のソフトウェアは、モノリシックにできている。このため、転送系装置を１つのモジュールとみなし、転送系装置に対する入力トラフィックと使用リソース量から処理可能なトラフィックの上限を判断して、性能値を求めている。一方、マイクロサービスアーキテクチャを採用した転送系装置においては、処理内容に応じてモジュールの構成を変えたり、１つのモジュールに対するモジュールインスタンスの数（モジュールに割り当てるＣＰＵコア数）を増減したりすることが可能である。このため、従来までのモノリシックな転送系装置に対する性能値の見積りとは異なる見積り手法が求められる。さらに、予想されるトラフィック量の処理に必要な、モジュールインスタンスの数を見積もる手法が求められている。
このようなマイクロサービスアーキテクチャを採用した装置に対する見積りは、転送系装置に限らず、他の情報処理装置でも必要となる。
【００１２】
このような背景を鑑みて本発明がなされたのであり、本発明は、複数のモジュールから構成される情報処理装置におけるモジュールへの割り当てＣＰＵコア数および処理性能値の見積りを可能とする見積り装置および見積り方法を提供することを課題とする。
【課題を解決するための手段】
【００１３】
前記した課題を解決するため、請求項１に記載の発明は、複数のモジュールから構成される情報処理装置の処理性能値の上限を示す処理性能上限値を見積もる見積り装置であって、前記モジュールそれぞれに１つのＣＰＵ（Central Processing Unit）コアが割り当てられたときの前記処理性能値を示す各モジュールの単位処理性能値、前記処理性能値の最小の見積り値を示す処理性能初期値、および、所定の割り当て可能ＣＰＵコア上限数を記憶する記憶部と、前記処理性能初期値に所定の処理性能の増分を示す処理性能値増分を加算して一時処理性能値を算出し、前記算出した一時処理性能値および前記単位処理性能値を用いて、当該一時処理性能値を満たすのに必要なＣＰＵコア数を示す必要ＣＰＵコア数を前記モジュールごとに算出し、前記モジュールごとに算出された必要ＣＰＵコア数の総数を割り当てＣＰＵコア総数として算出するコア数算出部と、前記算出された割り当てＣＰＵコア総数が前記割り当て可能ＣＰＵコア上限数を超えるか否かの判定を、前記一時処理性能値への前記処理性能値増分の加算を繰り返すごとに実行し、前記算出された割り当てＣＰＵコア総数が前記割り当て可能ＣＰＵコア上限数を超えない最大の前記一時処理性能値を前記処理性能上限値として算出する性能算出部とを備えることを特徴とする見積り装置とした。
【００１４】
また、請求項４に記載の発明は、複数のモジュールから構成される情報処理装置の処理性能値の上限を示す処理性能上限値を見積もる見積り装置の見積り方法であって、前記見積り装置が、前記モジュールそれぞれに１つのＣＰＵコアが割り当てられたときの前記処理性能値を示す各モジュールの単位処理性能値、前記処理性能値の最小の見積り値を示す処理性能初期値、および、所定の割り当て可能ＣＰＵコア上限数を記憶部に記憶しており、前記処理性能初期値に所定の処理性能の増分を示す処理性能値増分を加算して一時処理性能値を算出し、前記算出した一時処理性能値および前記単位処理性能値を用いて、当該一時処理性能値を満たすのに必要なＣＰＵコア数を示す必要ＣＰＵコア数を前記モジュールごとに算出し、前記モジュールごとに算出された必要ＣＰＵコア数の総数を割り当てＣＰＵコア総数として算出するステップと、前記算出された割り当てＣＰＵコア総数が前記割り当て可能ＣＰＵコア上限数を超えるか否かの判定を、前記一時処理性能値への前記処理性能値増分の加算を繰り返すごとに実行し、前記算出された割り当てＣＰＵコア総数が前記割り当て可能ＣＰＵコア上限数を超えない最大の前記一時処理性能値を前記処理性能上限値として算出するステップとを実行することを特徴とする見積り方法とした。
【００１５】
このような構成にすることで、見積り装置は、割り当て可能ＣＰＵコア上限数以下のコアで処理可能な処理性能上限値を算出することができる。
【００１６】
また、請求項２に記載の発明は、前記性能算出部が、前記処理性能上限値および前記単位処理性能値を用いて、前記処理性能上限値を満たす前記必要ＣＰＵコア数を前記モジュールごとに算出し、当該モジュールそれぞれの割り当てＣＰＵコア数とすることを特徴とする請求項１に記載の見積り装置とした。
【００１７】
このような構成にすることで、見積り装置は、処理性能上限値の処理に必要なＣＰＵコア数をモジュールごとに算出することができる。
【００１８】
請求項３に記載の発明は、前記情報処理装置が、通信データを処理する情報処理装置であり、前記処理性能値が、単位時間当たりに処理する前記通信データの数であることを特徴とする請求項１または請求項２に記載の見積り装置とした。
【００１９】
このような構成にすることで、見積り装置は、割り当て可能ＣＰＵコア上限数以下のコアで処理可能な通信データ数の上限値を算出することができる。また、この上限値の処理に必要なＣＰＵコア数をモジュールごとに出力することができる。
【発明の効果】
【００２０】
本発明によれば、複数のモジュールから構成される情報処理装置におけるモジュールへの割り当てＣＰＵコア数および処理性能値の見積りを可能とする見積り装置および見積り方法を提供することができる。
【図面の簡単な説明】
【００２１】
【図１】本実施形態に係る見積り装置が、性能やモジュールインスタンス数を見積もる対象となる転送系装置のモジュール構成を例示する図である。
【図２】本実施形態に係る、モジュールインスタンスの単位処理量を示すモジュール性能テーブルのデータ構成を例示する図である。
【図３】本実施形態に係る、モジュール構成を例示する図である。
【図４】本実施形態に係る見積り装置が実行する見積り処理を説明するための図である。
【図５】本実施形態に係る見積り装置の全体構成を例示する図である。
【図６】本実施形態に係る見積り処理のフローチャートである。
【図７】従来技術であるマイクロサービスアーキテクチャを採用した転送系装置のモジュール構成を説明するための図である。
【発明を実施するための形態】
【００２２】
以下に、転送系装置のモジュールインスタンス数（モジュールに割り当てるＣＰＵコア数）と処理性能値の見積り手法の概要を説明した後に、本発明を実施するための形態（実施形態）における見積り装置（後記する図５参照）について説明する。
【００２３】
≪見積り手法の概要≫
図１は、本実施形態に係る見積り装置が、処理性能値やモジュールインスタンス数を見積もる対象となる転送系装置２００のモジュール構成を例示する図である。転送系装置２００は、モジュールＡ２１０Ａ、モジュールＢ２１０Ｂ、モジュールＣ２１０Ｃ、モジュールＤ２１０Ｄ、モジュールＥ２１０ＥおよびモジュールＦ２１０Ｆの６つのモジュールから構成され、ＩＰパケットを順次処理する。なお、モジュール間に存在するメモリバッファ（図７参照）は省略している。
【００２４】
図２は、本実施形態に係る、モジュールインスタンスの単位処理量を示すモジュール性能テーブル１２１のデータ構成を例示する図である。単位処理量とは、モジュールに１つのＣＰＵコアを割り当てたときの処理性能値を示す。モジュール性能テーブル１２１は、モジュールとモジュールインスタンスの単位処理量（単位処理性能値、モジュール単位処理量またはモジュールの単位処理量とも記す）とを関連付けて記憶する表形式のデータである。モジュール単位処理量は、１コアが割り当てられたモジュール（モジュールインスタンス）の単位時間に処理可能なＩＰパケットの量を示しており、単位は、例えば、ｋｐｐｓ（kilo packets per second）である。
【００２５】
モジュール性能テーブル１２１によれば、モジュールＡ２１０Ａの単位処理量が２０００ｋｐｐｓであるのに対して、モジュールＥ２１０Ｅの単位処理量は２００ｋｐｐｓである。モジュールの単位処理量は、モジュールに１つのコアを割り当てて、処理可能なトラフィックの上限値を実測することで測定できる。
【００２６】
図３は、本実施形態に係る、モジュール構成を例示する図である。図３記載のモジュール構成（モジュールインスタンス構成）の例では、モジュールＡ２１０Ａ、モジュールＢ２１０Ｂ、モジュールＣ２１０Ｃ、モジュールＤ２１０Ｄ、モジュールＥ２１０ＥおよびモジュールＦ２１０Ｆのインスタンスが、それぞれ１個、２個、２個、４個、１０個、１個含まれている。このようなモジュール構成にすることにより、全てのモジュールが２０００ｋｐｐｓのトラフィックを処理することが可能である。このため、何れのモジュールがボトルネックになることもなく、転送系装置２００（図１参照）は、２０００ｋｐｐｓのトラフィックを処理できるようになる。
【００２７】
図４は、本実施形態に係る見積り装置１００が実行する見積り処理を説明するための図である。見積り処理では、利用可能なモジュールインスタンス数（後記する割り当て可能コア数）の上限（割り当て可能ＣＰＵコア上限数）が決まっており、この上限以下で処理可能なトラフィック量の最大値を求める。ここでは、上限が２０であると仮定して説明する。
【００２８】
見積り装置１００は、初期値（処理性能初期値）のトラフィック量を２００ｋｐｐｓとして、転送系装置２００が、このトラフィック量を処理するのに必要なモジュールインスタンス総数を求める。必要なモジュールインスタンス総数は、各モジュールについて、トラフィックを処理するのに必要なモジュールインスタンス数（必要ＣＰＵコア数、必要コア数）を求め、次に、その総和を計算することで算出できる。例えば、トラフィック量が２００ｋｐｐｓの場合は、モジュールＡ２１０Ａ〜モジュールＦ２１０Ｆの全てのモジュールの単位処理量が２００ｋｐｐｓ以上（図２参照）なので、各モジュールは、１つのモジュールインスタンスでトラフィックを処理でき、モジュールインスタンス総数は６となる（図４のトラフィック量が２００の行を参照）。
【００２９】
モジュールインスタンス数の上限は２０なので、さらに多くのトラフィックが処理可能と考えられる。見積り装置１００は、トラフィック量を２００ｋｐｐｓ増やして４００ｋｐｐｓとして、同様に計算すると、モジュールインスタンス総数は７となる（図４のトラフィック量が４００の行を参照）。
【００３０】
見積り装置１００は、トラフィック量を２００ｋｐｐｓ増やして６００ｋｐｐｓとして、同様に計算すると、モジュールインスタンス総数は９となる（図４のトラフィック量が６００の行を参照）。なお、モジュールＤ２１０Ｄの単位処理量は５００ｋｐｐｓであり、６００ｋｐｐｓを処理するには、２つのモジュールインスタンスが必要となる。モジュールインスタンス数は、トラフィック量を単位処理量（単位処理性能値）で割った値の小数点以下を切り上げることで求められる。
以下、見積り装置１００は、トラフィック量を２００ｋｐｐｓずつ増やしながら、トラフィックを処理するのに必要なモジュールインスタンス数が２０を超えるまで、計算を繰り返す。
【００３１】
トラフィック量が２０００ｋｐｐｓでの処理に必要なモジュールインスタンス総数は、２０である（図４のトラフィック量が２０００の行を参照）。まだ、上限の２０を超えていないので、見積り装置１００は、２００ｋｐｐｓ増やして２２００ｋｐｐｓの場合を計算する。２２００ｋｐｐｓのトラフィックの処理に必要なモジュールインスタンス総数は２６であり（図４のトラフィック量が２２００の行を参照）、上限の２０を超えており、見積り装置１００は、処理不可能と判定して、２０００ｋｐｐｓが処理可能なトラフィック量の上限であると算出する。最後に、見積り装置１００は、２０００ｋｐｐｓのトラフィック処理に必要な、モジュールごとのモジュールインスタンス数を算出する。
【００３２】
以上の処理により、見積り装置１００は、モジュールインスタンス総数の上限（割り当て可能ＣＰＵコア上限数）が２０である場合に、処理可能なトラフィック量の上限が２０００ｋｐｐｓであることが求めることができ、このときのモジュールごとのモジュールインスタンス数を算出することができる。
【００３３】
≪見積り装置の全体構成≫
図５は、本実施形態に係る見積り装置１００の全体構成を例示する図である。見積り装置１００は、制御部１１０、記憶部１２０、入出力部１３０を含んで構成される。制御部１１０は、ＣＰＵから構成され、後記する見積りプログラム１２２を記憶部１２０に展開して、実行することで見積り処理を実行する。制御部１１０は、コア数算出部１１１および性能算出部１１２を備える。
【００３４】
コア数算出部１１１は、与えられたトラフィック量を処理するのに必要な各モジュールのインスタンス数（モジュールに割り当てるコア数、割り当てコア数、割り当てＣＰＵコア数、必要ＣＰＵコア数とも記す）およびその総数（割り当てＣＰＵコア総数）を算出する。
性能算出部１１２は、後記する入出力部１３０から入力された割り当て可能コア数から処理可能なトラフィック量（処理性能値）の上限（処理性能上限値）を算出する。また、この処理性能上限値のトラフィック量を処理するのに必要な各モジュールのインスタンス数（必要ＣＰＵコア数）を算出する。
【００３５】
記憶部１２０は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤＤ（Hard Disk Drive）およびフラッシュメモリなどから構成され、モジュール性能テーブル１２１や見積りプログラム１２２、ＯＳ（Operating System）（不図示）、見積り処理の実行中に必要となるデータを記憶する。
【００３６】
モジュール性能テーブル１２１（図２参照）は、各モジュールの単位処理量を記憶する。図２では、テーブル形式のデータ構成をしているが、これに限る必要はなく、他のデータ形式であってもよい。モジュールの名称や数、単位処理量は、後記する入出力部１３０を介して、見積り装置１００の外部から入力される。
見積りプログラム１２２は、見積り処理を実行するプログラムである。
【００３７】
入出力部１３０は、見積り装置１００の外部とのデータの入出力を実行し、例えば、キーボード、ディスプレイ、ＮＩＣなどのデバイスを含む。見積り処理の入力データであり、モジュール性能テーブル１２１に格納されるモジュールの単位処理量や後記する割り当て可能なＣＰＵコア数は、キーボードから入力されたり、通信データとしてＮＩＣが受信することで入力されたりする。また、見積り処理の処理結果である各モジュールのインスタンス数（割り当てられたコア数）は、ディスプレイ上の表示データやＮＩＣが送信した通信データとして出力される。
【００３８】
≪見積り処理≫
図６は、本実施形態に係る見積り処理のフローチャートである。図６を参照しながら、制御部１１０が実行する見積り処理を説明する。見積り処理の入力データは、モジュールの名称、各モジュールの単位処理量、後記する割り当て可能コア数、後記する性能見積り精度（処理性能値増分）、および、後記する処理性能初期値である。入力データは、入出力部１３０から入力され、記憶部１２０に記憶される。なお、モジュールの名称と各モジュールの単位処理量は、モジュール性能テーブル１２１に記憶される。
【００３９】
割り当て可能コア数（割り当て可能ＣＰＵコア上限数）は、モジュールに割り当て可能なコア数の上限である（図４の説明では２０）。見積り処理では、割り当て可能コア数以下で処理可能なトラフィック量の最大値を算出する。なお、以下ではこの最大値のことを割り当て可能コア数における性能上限値または単に性能上限値（処理性能上限値）とも記す。
【００４０】
性能見積り精度（処理性能値増分）は、性能上限値を算出する際の誤差の許容値である。性能見積り精度は、図４で説明した繰り返し処理におけるトラフィック量の増分の２００ｋｐｐｓに相当し、性能上限値を求める精度になる。
処理性能初期値は、処理性能値の初期値であり、処理性能値の見積り値の最小値である。例えば、処理性能初期値は、複数あるモジュールの単位処理量のなかで最小の単位処理量である。
見積り処理の出力データは、各モジュールの割り当てコア数（モジュールインスタンス数）と割り当て可能コア数における性能上限値である。出力データは、入出力部１３０を介して出力される。
【００４１】
以下、図６に記載した各ステップを説明する。なお、ｃｅｉｌ関数は、天井関数とも呼ばれる、引数以上で最小の整数を求める関数である。引数が正ならば、小数点以下を切り上げる関数である。例えば、ｃｅｉｌ（１．５）＝２であり、ｃｅｉｌ（３）＝３である。
入力データの性能見積り精度（図４では２００ｋｐｐｓ）をΔＴとする。処理性能初期値（図４では２００ｋｐｐｓ）をＴ０とする。Ｔは、処理性能値の変数（一時処理性能値）である。
【００４２】
ステップＳ１０１において、性能算出部１１２が、整数変数のｎを０とする。
ステップＳ１０２において、性能算出部１１２が、Ｔ＝Ｔ０＋ΔＴ×ｎとする。Ｔは、初期値（処理性能初期値）の２００ｋｐｐｓから、２００ｋｐｐｓずつ増えていく。
【００４３】
ステップＳ１０３において、コア数算出部１１１が、各モジュールについてｃｅｉｌ（Ｔ／モジュールの単位処理量）を計算することで、処理性能値Ｔのトラフィック量の処理に必要なコア数（モジュールインスタンス数、割り当てＣＰＵコア数、必要ＣＰＵコア数、必要コア数）を算出する。例えば、Ｔが６００ｋｐｐｓであるとすると、モジュールＤ２１０Ｄ（図２に示すように単位処理量は５００ｋｐｐｓ）の必要コア数は２となる（図４のトラフィック量が６００の行を参照）。
ステップＳ１０４において、コア数算出部１１１が、ステップＳ１０３で算出した各モジュールの必要コア数の合計を計算して必要総コア数（モジュールインスタンス総数、割り当てＣＰＵコア総数、図４のモジュールインスタンス総数）を算出する。
【００４４】
ステップＳ１０５において、性能算出部１１２が、入力データである割り当て可能コア数が、ステップＳ１０４で算出した必要総コア数以上であるか否か判定する。割り当て可能コア数が必要総コア数以上であれば（ステップＳ１０５→Ｙ）ステップＳ１０６に進み、そうでなければ（ステップＳ１０５→Ｎ）ステップＳ１０７に進む。
【００４５】
ステップＳ１０６において、性能算出部１１２が、ｎに１を加算し、ステップＳ１０２に戻る。
ステップＳ１０７において、性能算出部１１２が、Ｔ＝Ｔ０＋ΔＴ×（ｎ−１）を性能上限値として出力する。図４においては、２０００ｋｐｐｓが性能上限値であった。
【００４６】
ステップＳ１０８において、性能算出部１１２が、ｃｅｉｌ（Ｔ／モジュールの単位処理量）を各モジュールの必要コア数として出力する。図４においては、モジュールＡ２１０Ａ〜モジュールＦ２１０Ｆの必要コア数は、それぞれ、１、２、２、４、１０、１であった（図４のトラフィック量が２０００の行を参照）。
【００４７】
≪見積り処理の特徴≫
ステップＳ１０３〜Ｓ１０４において、コア数算出部１１１が、性能算出部１１２が算出したトラフィック量（一時処理性能値）Ｔを処理するのに必要な各モジュールのコア数（モジュールインスタンス数、割り当てＣＰＵコア数）とその総数（モジュールインスタンス総数、割り当てＣＰＵコア総数）を算出する。
【００４８】
ステップＳ１０２、Ｓ１０５、Ｓ１０６において、性能算出部１１２が、コア数算出部１１１が算出する必要コア総数が割り当て可能コア数（割り当て可能ＣＰＵコア上限数）を超過するまでＴを初期値（処理性能初期値）からΔＴずつ加算する。続いて、ステップＳ１０７、Ｓ１０８において、性能算出部１１２が、必要コア総数が割り当て可能コア数を超過する直前のＴを性能上限値（処理性能上限値）として出力し、このＴに対する各モジュールの必要コア数（割り当てＣＰＵコア数）を出力する。
【００４９】
≪見積り処理の効果≫
見積り装置１００が見積り処理を実行することで、マイクロサービスアーキテクチャの転送系装置の性能値（処理可能なトラフィック量）が見積り可能となる。また、モジュールごとに処理に必要なモジュールインスタンス数（割り当てコア数）が見積り可能となり、最適なモジュール構成におけるモジュールインスタンス数が見積り可能となる。引いては、転送系装置のプロビジョニングが可能となる。
【００５０】
≪変形例：情報処理装置≫
見積り装置１００は、マイクロサービスアーキテクチャの転送系装置を見積り対象としていた。しかしながら、転送系装置に限らず、処理モジュールが独立しており、モジュールに割り当てるコア数に比例して処理量が増加するモジュール構成をしている情報処理装置に対しても、見積り装置１００を適用することができる。この場合、見積り装置１００は、情報処理装置の性能上限値や各モジュールの割り当てコア数（モジュールインスタンス数、割り当てＣＰＵコア数）を算出することができる。
【符号の説明】
【００５１】
１００  見積り装置
１１０  制御部
１１１  コア数算出部
１１２  性能算出部
１２０  記憶部
１２１  モジュール性能テーブル
１２２  見積りプログラム
１３０  入出力部
【図１】
2019149043.tif 000003
【図２】
2019149043.tif 000004
【図３】
2019149043.tif 000005
【図４】
2019149043.tif 000006
【図５】
2019149043.tif 000007
【図６】
2019149043.tif 000008
【図７】
2019149043.tif 000009