IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特開2024-135244コンテナシステムにおいてハードウェアアクセラレータを使用可能にする方法、管理装置、および、プログラム
<>
  • 特開-コンテナシステムにおいてハードウェアアクセラレータを使用可能にする方法、管理装置、および、プログラム 図1
  • 特開-コンテナシステムにおいてハードウェアアクセラレータを使用可能にする方法、管理装置、および、プログラム 図2
  • 特開-コンテナシステムにおいてハードウェアアクセラレータを使用可能にする方法、管理装置、および、プログラム 図3
  • 特開-コンテナシステムにおいてハードウェアアクセラレータを使用可能にする方法、管理装置、および、プログラム 図4
  • 特開-コンテナシステムにおいてハードウェアアクセラレータを使用可能にする方法、管理装置、および、プログラム 図5
  • 特開-コンテナシステムにおいてハードウェアアクセラレータを使用可能にする方法、管理装置、および、プログラム 図6
  • 特開-コンテナシステムにおいてハードウェアアクセラレータを使用可能にする方法、管理装置、および、プログラム 図7
  • 特開-コンテナシステムにおいてハードウェアアクセラレータを使用可能にする方法、管理装置、および、プログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024135244
(43)【公開日】2024-10-04
(54)【発明の名称】コンテナシステムにおいてハードウェアアクセラレータを使用可能にする方法、管理装置、および、プログラム
(51)【国際特許分類】
   G06F 8/60 20180101AFI20240927BHJP
【FI】
G06F8/60
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023045838
(22)【出願日】2023-03-22
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】濱田 心一
(72)【発明者】
【氏名】高橋 敏明
(72)【発明者】
【氏名】三舩 和磨
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AA07
5B376AA21
5B376AA32
5B376AB01
5B376AB12
(57)【要約】
【課題】コンテナ仮想化システムにおいて、ハードウェアアクセラレータを使用可能にする技術を提供する。
【解決手段】コンテナ実行手段から、ハードウェア特性情報を取得する取得処理(S1)と、ハードウェアアクセラレータを使用可能にする機能を有するコンテナ単位を、コンテナ実行手段にデプロイするデプロイ処理(S2)と、ハードウェア特性情報に基づいて、コンテナ単位に対して、アクセラレータ設定パラメータを投入する投入処理(S3)と、を含む方法。
【選択図】図1
【特許請求の範囲】
【請求項1】
1つ以上のコンテナ実行手段と、前記1つ以上のコンテナ実行手段を制御する制御手段とを備えるコンテナ仮想化システムにおいて、ハードウェアアクセラレータを使用可能にする方法であって、
前記コンテナ実行手段から、前記コンテナ実行手段に対応するハードウェアの特性を示すハードウェア特性情報を取得する取得処理と、
前記ハードウェアアクセラレータを使用可能にする機能を有するコンテナ単位を、前記コンテナ実行手段にデプロイするデプロイ処理と、
前記コンテナ実行手段から取得した前記ハードウェア特性情報に基づいて、当該コンテナ実行手段にデプロイされた前記コンテナ単位に対して、アクセラレータ設定パラメータを投入する投入処理と、を含む、方法。
【請求項2】
前記投入処理では、前記コンテナ実行手段にデプロイされたコンテナ単位に対して、当該コンテナ実行手段から取得した前記ハードウェア特性情報が、前記ハードウェアアクセラレータが存在することを示す場合に、前記アクセラレータ設定パラメータを投入する、
請求項1に記載の方法。
【請求項3】
前記投入処理では、前記コンテナ実行手段から取得した前記ハードウェア特性情報に基づいて、当該コンテナ実行手段にデプロイされたコンテナ単位に投入する前記アクセラレータ設定パラメータを生成する、請求項1または2に記載の方法。
【請求項4】
前記デプロイ処理では、前記制御手段に、前記コンテナ実行手段への前記コンテナ単位のデプロイを実行させる、請求項1に記載の方法。
【請求項5】
前記ハードウェアアクセラレータは、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)のうちの少なくとも1つである、請求項1に記載の方法。
【請求項6】
1つ以上のコンテナ実行手段と、前記1つ以上のコンテナ実行手段を制御する制御手段とを備えるコンテナ仮想化システムを管理する管理装置であって、
前記コンテナ実行手段から、前記コンテナ実行手段に対応するハードウェアの特性を示すハードウェア特性情報を取得する取得手段と、
前記ハードウェアアクセラレータを使用可能にする機能を有するコンテナ単位を、前記コンテナ実行手段にデプロイするデプロイ手段と、
前記コンテナ実行手段から取得した前記ハードウェア特性情報に基づいて、当該コンテナ実行手段にデプロイされた前記コンテナ単位に対して、アクセラレータ設定パラメータを投入する投入手段と、を備える、管理装置。
【請求項7】
1つ以上のコンテナ実行手段と、前記1つ以上のコンテナ実行手段を制御する制御手段とを備えるコンテナ仮想化システムにおいて、ハードウェアアクセラレータを使用可能にするためのプログラムであって、コンピュータに、
前記コンテナ実行手段から、前記コンテナ実行手段に対応するハードウェアの特性を示すハードウェア特性情報を取得する取得処理と、
前記ハードウェアアクセラレータを使用可能にする機能を有するコンテナ単位を、前記コンテナ実行手段にデプロイするデプロイ処理と、
前記コンテナ実行手段から取得した前記ハードウェア特性情報に基づいて、当該コンテナ実行手段にデプロイされた前記コンテナ単位に対して、アクセラレータ設定パラメータを投入する投入処理と、を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンテナシステムにおいてハードウェアアクセラレータを使用可能にする方法、管理装置、および、プログラムに関する。
【背景技術】
【0002】
近年、コンテナ仮想化技術を用いてクラウドサービスを提供する、いわゆるCaaS(Container as a service)技術が開発されている。例えば、特許文献1には、複数の共通仮想マシンによってアプリケーションの実行環境を提供することが開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2022-000814号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1には、上述のアプリケーションの実行環境において、ハードウェアアクセラレータを使用する方法が開示されていない。
【0005】
本発明の一態様は、上記の問題に鑑みてなされたものであり、その目的の一例は、コンテナ仮想化システムにおいて、ハードウェアアクセラレータを使用可能にする技術を提供することである。
【課題を解決するための手段】
【0006】
本発明の一態様に係る方法は、1つ以上のコンテナ実行手段と、前記1つ以上のコンテナ実行手段を制御する制御手段とを備えるコンテナ仮想化システムにおいて、ハードウェアアクセラレータを使用可能にする方法であって、前記コンテナ実行手段から、前記コンテナ実行手段に対応するハードウェアの特性を示すハードウェア特性情報を取得する取得処理と、前記ハードウェアアクセラレータを使用可能にする機能を有するコンテナ単位を、前記コンテナ実行手段にデプロイするデプロイ処理と、前記コンテナ実行手段から取得した前記ハードウェア特性情報に基づいて、当該コンテナ実行手段にデプロイされた前記コンテナ単位に対して、アクセラレータ設定パラメータを投入する投入処理と、を含む。
【0007】
本発明の一態様に係る管理装置は、1つ以上のコンテナ実行手段と、前記1つ以上のコンテナ実行手段を制御する制御手段とを備えるコンテナ仮想化システムを管理する管理装置であって、前記コンテナ実行手段から、前記コンテナ実行手段に対応するハードウェアの特性を示すハードウェア特性情報を取得する取得手段と、前記ハードウェアアクセラレータを使用可能にする機能を有するコンテナ単位を、前記コンテナ実行手段にデプロイするデプロイ手段と、前記コンテナ実行手段から取得した前記ハードウェア特性情報に基づいて、当該コンテナ実行手段にデプロイされた前記コンテナ単位に対して、アクセラレータ設定パラメータを投入する投入手段と、を備える。
【0008】
本発明の一態様に係るプログラムは、1つ以上のコンテナ実行手段と、前記1つ以上のコンテナ実行手段を制御する制御手段とを備えるコンテナ仮想化システムにおいて、ハードウェアアクセラレータを使用可能にするためのプログラムであって、コンピュータに、前記コンテナ実行手段から、前記コンテナ実行手段に対応するハードウェアの特性を示すハードウェア特性情報を取得する取得処理と、前記ハードウェアアクセラレータを使用可能にする機能を有するコンテナ単位を、前記コンテナ実行手段にデプロイするデプロイ処理と、前記コンテナ実行手段から取得した前記ハードウェア特性情報に基づいて、当該コンテナ実行手段にデプロイされた前記コンテナ単位に対して、アクセラレータ設定パラメータを投入する投入処理と、を実行させる。
【発明の効果】
【0009】
本発明の一態様によれば、コンテナ仮想化システムにおいて、ハードウェアアクセラレータを使用可能にする技術を提供することができる。
【図面の簡単な説明】
【0010】
図1】本発明の例示的実施形態1に係る方法の一例を示すフローチャートである。
図2】本発明の例示的実施形態1におけるコンテナ仮想化システムの概略構成の一例を示すブロック図である。
図3】本発明の例示的実施形態1に係る管理装置の概略構成の一例を示すブロック図である。
図4】本発明の例示的実施形態2に係るVNFM、CCMおよびCaasプラットフォームの概略構成の一例を示すブロック図である。
図5】本発明の例示的実施形態2に係る方法の一例を示すフローチャートである。
図6】本発明の例示的実施形態2におけるアクセラレータ設定パラメータの一例を示す図である。
図7】本発明の例示的実施形態3に係る方法の一例を示すシーケンス図である。
図8】コンピュータの構成例を示す模式図である。
【発明を実施するための形態】
【0011】
〔例示的実施形態1〕
本発明の第1の例示的実施形態(例示的実施形態1)について、図面を参照して詳細に説明する。本例示的実施形態は、後述する例示的実施形態の基本となる形態である。
【0012】
図1は、例示的実施形態1に係る方法の一例を示すフローチャートである。例示的実施形態1に係る方法は、コンテナ仮想化システムにおいて、ハードウェアアクセラレータを使用可能にする方法である。
【0013】
本明細書において、コンテナ仮想化システムとは、アプリケーションおよび当該アプリケーションの実行環境を仮想化したコンテナを、物理マシンまたは仮想マシンを仮想化した1以上のコンテナ実行手段によって実行するシステムである。コンテナ仮想化システムは、例えば、Kubernetes(登録商標)などのコンテナオーケストレーションシステムツールを用いて作成することができる。
【0014】
図2は、例示的実施形態1におけるコンテナ仮想化システム10の概略構成の一例を示すブロック図である。コンテナ仮想化システム10は、制御手段11、および、1以上のコンテナ実行手段12を備えている。
【0015】
コンテナ実行手段12は、例えば、Kubernetes(登録商標)におけるワーカノード(worker node)であり、コンテナ単位を実行する。コンテナ単位は、例えば、Kubernetes(登録商標)におけるポッド(POD)であり、コンテナの実行単位である。
【0016】
一態様において、コンテナ実行手段12は、物理マシン(物理サーバ)、または、仮想マシン(物理サーバ)によって構成されている。コンテナ実行手段12は、ハードウェアと対応付けられている。コンテナ実行手段12が物理マシンによって構成されている場合は、コンテナ実行手段12に対応するハードウェアは、当該物理マシンを指し、コンテナ実行手段12が仮想マシンによって構成されている場合は、コンテナ実行手段12に対応するハードウェアは、当該仮想マシンを実現する物理マシンを指す。
【0017】
制御手段11は、例えば、Kubernetes(登録商標)におけるマスタノード(master node)またはコントロールプレーン(control plane)であり、各コンテナ実行手段12、および、各コンテナ実行手段12によって実行されるコンテナ単位を制御する。
【0018】
例示的実施形態1に係る方法は、1以上のコンピュータによって実行することができる。一態様において、例示的実施形態1に係る方法は、コンテナ仮想化システム10を管理する管理装置20によって実行することができる。以下では、一例として、例示的実施形態1に係る方法を、管理装置20によって実行する場合について説明するが、本例示的実施形態はこれに限定されない。
【0019】
ステップS1(取得処理)において、管理装置20は、コンテナ実行手段12から、当該コンテナ実行手段12に対応するハードウェアの特性を示すハードウェア特性情報を取得する。一態様において、ハードウェア特性情報は、ハードウェアの構成を示す情報や、ハードウェアの構成に関連付けられた情報を含み、例えば、ハードウェアが備えているハードウェアアクセラレータの有無、および、当該ハードウェアアクセラレータに関する情報を含んでいてよい。
【0020】
管理装置20は、コンテナ仮想化システム10が備える全てのコンテナ実行手段12からハードウェア特性情報を取得してもよいし、一部のコンテナ実行手段12からハードウェア特性情報を取得してもよい。
【0021】
ステップS2(デプロイ処理)において、管理装置20は、ハードウェアアクセラレータを使用可能にする機能を有するコンテナ単位A1を、コンテナ実行手段12にデプロイする。ハードウェアアクセラレータを使用可能にする機能を有するコンテナ単位A1は、コンテナ実行手段12にデプロイされ、アクセラレータ設定パラメータが投入されることにより、当該コンテナ実行手段12において、ハードウェアアクセラレータが使用可能となる。コンテナ実行手段12において使用可能になったハードウェアアクセラレータは、例えば、当該コンテナ実行手段12において実行される他のコンテナ単位が、コンテナ単位A1を介して使用することができる。
【0022】
管理装置20は、コンテナ仮想化システム10が備える全てのコンテナ実行手段12に対してコンテナ単位A1をデプロイしてもよいし、一部のコンテナ実行手段12に対してコンテナ単位A1をデプロイしてもよい。
【0023】
ステップS3(投入処理)において、管理装置20は、コンテナ実行手段12から取得したハードウェア特性情報に基づいて、当該コンテナ実行手段12にデプロイされたコンテナ単位A1に対して、アクセラレータ設定パラメータを投入する。これにより、当該コンテナ実行手段12において、ハードウェアアクセラレータを使用可能とすることができる。
【0024】
管理装置20は、コンテナ実行手段12から取得したハードウェア特性情報に基づいて、当該コンテナ実行手段12にデプロイされたコンテナ単位A1に対して、アクセラレータ設定パラメータを投入するか否かを判定してもよいし、コンテナ実行手段12から取得したハードウェア特性情報に基づいて、当該コンテナ実行手段12にデプロイされたコンテナ単位A1に対して投入するアクセラレータ設定パラメータを生成してもよい。
【0025】
図3は、例示的実施形態1に係る管理装置20の概略構成の一例を示すブロック図である。コンテナ仮想化システム10を管理する管理装置20は、例えば、CCM(CIS Cluster Management)装置であり、取得手段21、デプロイ手段22、および、投入手段23を備えている。
【0026】
取得手段21は、コンテナ実行手段12から、当該コンテナ実行手段12に対応するハードウェアの特性を示すハードウェア特性情報を取得する。
【0027】
デプロイ手段22は、ハードウェアアクセラレータを使用可能にする機能を有するコンテナ単位A1を、コンテナ実行手段12にデプロイする。
【0028】
投入手段23は、コンテナ実行手段12から取得したハードウェア特性情報に基づいて、当該コンテナ実行手段12にデプロイされたコンテナ単位A1に対して、アクセラレータ設定パラメータを投入する。
【0029】
(本例示的実施形態の効果)
以上によれば、コンテナ仮想化システムにおいて、ハードウェアアクセラレータを使用可能にすることができる。従来のコンテナ仮想化システムでは、コンテナ実行手段12に対応するハードウェアのハードウェア特性情報を参照する方法がないため、ハードウェアアクセラレータを使用可能にする機能を有するコンテナ単位に対して、アクセラレータ設定パラメータを投入することができなかった。これに対し、本例示的実施形態によれば、コンテナ実行手段12からハードウェア特性情報を取得し、当該ハードウェア特性情報に基づいて、当該コンテナ実行手段12にデプロイされた、ハードウェアアクセラレータを使用可能にする機能を有するコンテナ単位に対して、アクセラレータ設定パラメータを投入することができる。これにより、コンテナ仮想化システムにおいて、ハードウェアアクセラレータを使用可能にすることができる。
【0030】
〔例示的実施形態2〕
本発明の第2の例示的実施形態(例示的実施形態2)について、図面を参照して詳細に説明する。なお、例示的実施形態1にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付し、その説明を適宜省略する。
【0031】
本例示的実施形態では、RAN(Radio Access Network)の機能を仮想化したvRAN(virtualized RAN)を実現するために、VNFM(Virtualized Network Function Manager)の制御に基づき、CCMが、Kubernetes(登録商標)を使用してCaaS(Container as a Service)プラットフォームを作成し、ハードウェアアクセラレータを使用可能にする例について説明する。
【0032】
図4は、例示的実施形態2に係るVNFM30、CCM40およびCaasプラットフォーム50の概略構成の一例を示すブロック図である。
【0033】
VNFM30は、vRANを実現するために、CCM40を制御する。例えば、VNFM30は、CCM40を制御して、Caasプラットフォーム50を作成させ、Caasプラットフォーム50上で、vRANを構成する各要素(vCU(virtualized Central Unit)、vDU(virtualized Distributed Unit)など)を実行させる。
【0034】
CCM40は、例示的実施形態1における管理装置20に対応し、VNFM30によって設定されたシナリオに基づいてCaasプラットフォーム50の構築を行なうコンポーネントである。CCM40は、取得手段41、デプロイ手段42、投入手段43、および、管理手段44を備えている。
【0035】
Caasプラットフォーム50は、例示的実施形態1におけるコンテナ仮想化システム10に対応する。Caasプラットフォーム50は、マスタノード51、および、1以上のワーカノード52を備えている。マスタノード51は、例示的実施形態1における制御手段11に対応し、各ワーカノード52を制御する。ワーカノード52は、例示的実施形態1におけるコンテナ実行手段12に対応し、ポッドを実行する。ポッドは、例示的実施形態1におけるコンテナ単位に対応する。なお、マスタノード51は、コントロールプレーンであってもよい。
【0036】
図5は、例示的実施形態2に係る方法の一例を示すフローチャートである。ステップS10において、CCM40の管理手段44は、VNFM30の制御に基づき、Kubernetes(登録商標)を使用してCaasプラットフォーム50を作成する。
【0037】
ここで、vRANを構成する一部の要素(例えば、vDU)が特定のハードウェアアクセラレータを使用するものとする。その場合、CCM40は、特定のハードウェアアクセラレータを使用するポッドがデプロイされるワーカノード52(以下、対象のワーカノード52とも記載する)において、特定のハードウェアアクセラレータを使用可能にする処理を実行する。なお、Caasプラットフォーム50が備える全てのワーカノード52を対象のワーカノード52としてもよい。
【0038】
なお、特定のハードウェアアクセラレータは、ハードウェアによる情報処理を支援する装置であれば特に限定されないが、例えば、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)のうちの少なくとも1つであってよい。
【0039】
ステップS11(取得処理)において、CCM40の取得手段41は、対象のワーカノード52から、当該ワーカノード52に対応するハードウェアの特性を示すハードウェア特性情報を取得する。一態様において、ハードウェア特性情報には、特定のハードウェアアクセラレータの有無を示す情報、特定のハードウェアアクセラレータに関する情報などが含まれている。特定のハードウェアアクセラレータに関する情報としては、特定のハードウェアアクセラレータのPCIアドレスなどが挙げられる。
【0040】
ステップS12(デプロイ処理)において、CCM40のデプロイ手段42は、アクセラレータポッドA2を、対象のワーカノード52にデプロイする。アクセラレータポッドA2は、特定のハードウェアアクセラレータを使用可能にする機能を有しているポッドであり、例示的実施形態1におけるコンテナ単位A1に対応する。
【0041】
一態様において、ステップS12では、デプロイ手段42は、マスタノード51に、対象のワーカノード52へのアクセラレータポッドA2のデプロイを実行させてよい。
【0042】
ステップS13(投入処理)において、CCM40の投入手段43は、対象のワーカノード52から取得したハードウェア特性情報に基づいて、当該ワーカノード52にデプロイされたアクセラレータポッドA2に対して、アクセラレータ設定パラメータを投入する。
【0043】
一態様において、ステップS13では、投入手段43は、対象のワーカノード52にデプロイされたアクセラレータポッドA2に対して、当該ワーカノード52から取得したハードウェア特性情報が、特定のハードウェアアクセラレータが存在することを示す場合に、アクセラレータ設定パラメータを投入してもよい。これにより、特定のハードウェアアクセラレータが存在するハードウェアに対応するワーカノード52にデプロイされたアクセラレータポッドA2にのみ、適切にアクセラレータ設定パラメータを投入することができる。
【0044】
また、一態様において、ステップS13では、投入手段43は、対象のワーカノード52から取得したハードウェア特性情報に基づいて、当該ワーカノード52にデプロイされたアクセラレータポッドA2に投入するアクセラレータ設定パラメータを生成してもよい。例を挙げて説明する。
【0045】
図6は、例示的実施形態2におけるアクセラレータ設定パラメータの一例を示す図である。一態様において、アクセラレータ設定パラメータは、アプリベンダから提供されたアクセラレータ設定ファイルに対して、変数情報が入力されたものである。図6に示す例では、アクセラレータ設定パラメータには、インタフェース名、VLAN ID(virtual LAN Identifier)、MTU(Maximum Transmission Unit)、VF(Virtual Function)数、MAC(Media Access Control)アドレス(VF用)、PCI(Peripheral Component Interconnect)アドレスなどが変数情報として含まれている。
【0046】
一態様において、アクセラレータ設定パラメータには、ユーザ定義可能な可変値部と、CCM40が設定する固定値部とが含まれていてよい。例えば、図6に示す例では、PCIアドレスが固定値部であり、その他が可変値部である。
【0047】
PCIアドレスは、特定のハードウェアアクセラレータのPCIアドレスであり、CCM40の取得手段41が、対象のワーカノード52から取得したものである。このように、投入手段43は、対象のワーカノード52から取得したハードウェア特性情報に基づいて、当該ワーカノード52にデプロイされたアクセラレータポッドA2に投入するアクセラレータ設定パラメータを生成してもよい。これにより、アクセラレータポッドA2に対して、ワーカノード52のハードウェア特性情報に応じた適切なアクセラレータ設定パラメータを投入することができる。
【0048】
以上により、Caasプラットフォーム50の対象のワーカノード52において、ハードウェアアクセラレータを使用可能にすることができる。
【0049】
(変形例)
一態様において、ステップS12では、デプロイ手段42は、対象のワーカノード52のうち、当該ワーカノード52から取得したハードウェア特性情報が、特定のハードウェアアクセラレータが存在することを示すワーカノード52のみに、アクセラレータポッドA2をデプロイしてもよい。これにより、不要なワーカノード52に、アクセラレータポッドA2がデプロイされることを防ぐことができる。
【0050】
〔例示的実施形態3〕
本発明の第3の例示的実施形態について、図面を参照して詳細に説明する。なお、例示的実施形態1または2にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付し、その説明を適宜省略する。
【0051】
本例示的実施形態では、CCMがハードウェアアクセラレータを使用可能にする例について、GS NFV-IFA規格に基づいて説明する。
【0052】
図7は、例示的実施形態3に係る方法の一例を示すシーケンス図である。図7では、Consumer80、NFVO(Network Function Virtualization Orchestration)60、CCM40、CISM(Container Infrastructure Service Management)71およびCISI(Container Infrastructure Service Instance)72の動作の流れについて説明する。
【0053】
Consumer80は、CCMを制御するコンポーネントであり、例えば、例示的実施形態2のVNFM30であってよい。NFVO60は、リソースの管理を行なうコンポーネントである。CCM40は、例示的実施形態2のCCM40と同様の構成を有しており、Consumer80によって設定されたシナリオに基づいて、CISM71および1つ以上のCISI72を備えるCISクラスター70を作成する。CISM71は、例示的実施形態1における制御手段11に対応し、1つ以上のCISI72を制御する。CISI72は、例示的実施形態1におけるコンテナ実行手段12に対応し、コンテナ単位を実行する。
【0054】
ステップS20において、Consumer80が、CCM40に、特定のハードウェアアクセラレータを使用可能にする機能を有するデーモンオブジェクト(Daemon Object)A3のデプロイを要求する。デーモンオブジェクトは、コンテナ単位の一種であり、当該デーモンオブジェクトがデプロイされたCISI72に特定の機能を追加する。ハードウェアアクセラレータを使用可能にする機能を有するデーモンオブジェクトA3は、例示的実施形態1におけるコンテナ単位A1に対応し、CISI72にデプロイされ、アクセラレータ設定パラメータが投入されることにより、CISI72において、特定のハードウェアアクセラレータが使用可能となる。
【0055】
ステップS21において、CCM40は、デーモンオブジェクトA3のために必要となるリソースを算出する。ステップS22において、CCM40は、NFVO60から、ステップS21において算出したリソースを獲得する。
【0056】
ステップS23(取得処理)において、CCM40の取得手段41は、CISI72に対し、当該CISI72に対応するハードウェアの特性を示すハードウェア特性情報を問い合わせる。ステップS24(取得処理)において、CCM40の取得手段41は、CISI72から、ハードウェア特性情報を取得する。
【0057】
ステップS25(デプロイ処理)において、CCM40のデプロイ手段42は、CISM71に、CISI72へのデーモンオブジェクトA3のデプロイを指示する。ステップS26(デプロイ処理)において、CISM71は、CISI72へのデーモンオブジェクトA3のデプロイの準備を行い、ステップS27(デプロイ処理)において、CISM71は、CISI72に、デーモンオブジェクトA3をデプロイする。その後、ステップS28(デプロイ処理)において、CISM71は、CCM40に、デプロイの完了を通知する。
【0058】
ステップS29(投入処理)において、CCM40の投入手段43は、CISI72から取得したハードウェア特性情報に基づいて、当該CISI72にデプロイされたデーモンオブジェクトA3に対して、アクセラレータ設定パラメータを投入する。
【0059】
一態様において、ステップS29では、投入手段43は、CISI72にデプロイされたデーモンオブジェクトA3に対して、当該CISI72から取得したハードウェア特性情報が、特定のハードウェアアクセラレータが存在することを示す場合に、アクセラレータ設定パラメータを投入してもよい。また、一態様において、ステップS29では、投入手段43は、CISI72から取得したハードウェア特性情報に基づいて、当該CISI72にデプロイされたデーモンオブジェクトA3に投入するアクセラレータ設定パラメータを生成してもよい。一態様において、投入手段43は、CISI72から取得したハードウェア特性情報の少なくとも一部を、デーモンオブジェクトA3に投入するアクセラレータ設定パラメータに含めてもよい。
【0060】
そして、ステップS30において、CCM40は、Consumer80に処理の完了を通知する。以上により、CISI72において、ハードウェアアクセラレータを使用可能にすることができる。
【0061】
〔ソフトウェアによる実現例〕
管理装置20およびCCM40の一部又は全部の機能は、集積回路(ICチップ)等のハードウェアによって実現してもよいし、ソフトウェアによって実現してもよい。
【0062】
後者の場合、管理装置20およびCCM40は、例えば、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータによって実現される。このようなコンピュータの一例(以下、コンピュータCと記載する)を図8に示す。コンピュータCは、少なくとも1つのプロセッサC1と、少なくとも1つのメモリC2と、を備えている。メモリC2には、コンピュータCを管理装置20またはCCM40として動作させるためのプログラムPが記録されている。コンピュータCにおいて、プロセッサC1は、プログラムPをメモリC2から読み取って実行することにより、管理装置20またはCCM40の各機能が実現される。
【0063】
プロセッサC1としては、例えば、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、TPU(Tensor Processing Unit)、量子プロセッサ、マイクロコントローラ、又は、これらの組み合わせなどを用いることができる。メモリC2としては、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又は、これらの組み合わせなどを用いることができる。
【0064】
なお、コンピュータCは、プログラムPを実行時に展開したり、各種データを一時的に記憶したりするためのRAM(Random Access Memory)を更に備えていてもよい。また、コンピュータCは、他の装置との間でデータを送受信するための通信インタフェースを更に備えていてもよい。また、コンピュータCは、キーボードやマウス、ディスプレイやプリンタなどの入出力機器を接続するための入出力インタフェースを更に備えていてもよい。
【0065】
また、プログラムPは、コンピュータCが読み取り可能な、一時的でない有形の記録媒体Mに記録することができる。このような記録媒体Mとしては、例えば、テープ、ディスク、カード、半導体メモリ、又はプログラマブルな論理回路などを用いることができる。コンピュータCは、このような記録媒体Mを介してプログラムPを取得することができる。また、プログラムPは、伝送媒体を介して伝送することができる。このような伝送媒体としては、例えば、通信ネットワーク、又は放送波などを用いることができる。コンピュータCは、このような伝送媒体を介してプログラムPを取得することもできる。
【0066】
〔付記事項1〕
本発明は、上述した実施形態に限定されるものでなく、請求項に示した範囲で種々の変更が可能である。例えば、上述した実施形態に開示された技術的手段を適宜組み合わせて得られる実施形態についても、本発明の技術的範囲に含まれる。
【0067】
〔付記事項2〕
上述した実施形態の一部又は全部は、以下のようにも記載され得る。ただし、本発明は、以下の記載する態様に限定されるものではない。
【0068】
(付記1)
1つ以上のコンテナ実行手段と、前記1つ以上のコンテナ実行手段を制御する制御手段とを備えるコンテナシステムにおいて、ハードウェアアクセラレータを使用可能にする方法であって、
前記コンテナ実行手段から、前記コンテナ実行手段に対応するハードウェアの特性を示すハードウェア特性情報を取得する取得処理と、
前記ハードウェアアクセラレータを使用可能にする機能を有するコンテナ単位を、前記コンテナ実行手段にデプロイするデプロイ処理と、
前記コンテナ実行手段から取得した前記ハードウェア特性情報に基づいて、当該コンテナ実行手段にデプロイされた前記コンテナ単位に対して、アクセラレータ設定パラメータを投入する投入処理と、を含む、方法。
【0069】
(付記2)
前記投入処理では、前記コンテナ実行手段にデプロイされたコンテナ単位に対して、当該コンテナ実行手段から取得した前記ハードウェア特性情報が、前記ハードウェアアクセラレータが存在することを示す場合に、前記アクセラレータ設定パラメータを投入する、
付記1に記載の方法。
【0070】
(付記3)
前記投入処理では、前記コンテナ実行手段から取得した前記ハードウェア特性情報に基づいて、当該コンテナ実行手段にデプロイされたコンテナ単位に投入する前記アクセラレータ設定パラメータを生成する、付記1または2に記載の方法。
【0071】
(付記4)
前記デプロイ処理では、前記制御手段に、前記コンテナ実行手段への前記コンテナ単位のデプロイを実行させる、付記1~3に記載の方法。
【0072】
(付記5)
前記ハードウェアアクセラレータは、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)のうちの少なくとも1つである、付記1~4に記載の方法。
【0073】
(付記6)
1つ以上のコンテナ実行手段と、前記1つ以上のコンテナ実行手段を制御する制御手段とを備えるコンテナシステムを管理する管理装置であって、
前記コンテナ実行手段から、前記コンテナ実行手段に対応するハードウェアの特性を示すハードウェア特性情報を取得する取得手段と、
前記ハードウェアアクセラレータを使用可能にする機能を有するコンテナ単位を、前記コンテナ実行手段にデプロイするデプロイ手段と、
前記コンテナ実行手段から取得した前記ハードウェア特性情報に基づいて、当該コンテナ実行手段にデプロイされた前記コンテナ単位に対して、アクセラレータ設定パラメータを投入する投入手段と、を備える、管理装置。
【0074】
(付記7)
1つ以上のコンテナ実行手段と、前記1つ以上のコンテナ実行手段を制御する制御手段とを備えるコンテナシステムにおいて、ハードウェアアクセラレータを使用可能にするためのプログラムであって、コンピュータに、
前記コンテナ実行手段から、前記コンテナ実行手段に対応するハードウェアの特性を示すハードウェア特性情報を取得する取得処理と、
前記ハードウェアアクセラレータを使用可能にする機能を有するコンテナ単位を、前記コンテナ実行手段にデプロイするデプロイ処理と、
前記コンテナ実行手段から取得した前記ハードウェア特性情報に基づいて、当該コンテナ実行手段にデプロイされた前記コンテナ単位に対して、アクセラレータ設定パラメータを投入する投入処理と、を実行させる、プログラム。
【0075】
(付記8)
1つ以上のコンテナ実行手段と、前記1つ以上のコンテナ実行手段を制御する制御手段とを備えるコンテナシステムを管理する管理装置であって、
少なくとも1つのプロセッサとを備え、
前記プロセッサは、
前記コンテナ実行手段から、前記コンテナ実行手段に対応するハードウェアの特性を示すハードウェア特性情報を取得する取得処理と、
前記ハードウェアアクセラレータを使用可能にする機能を有するコンテナ単位を、前記コンテナ実行手段にデプロイするデプロイ処理と、
前記コンテナ実行手段から取得した前記ハードウェア特性情報に基づいて、当該コンテナ実行手段にデプロイされた前記コンテナ単位に対して、アクセラレータ設定パラメータを投入する投入処理と、を実行する、管理装置。
【0076】
なお、この管理装置は、更にメモリを備えていてもよく、このメモリには、前記取得処理、前記デプロイ処理、および、前記投入処理を前記プロセッサに実行させるためのプログラムが記憶されていてもよい。また、このプログラムは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
【符号の説明】
【0077】
コンテナ仮想化システム 10
制御手段 11
コンテナ実行手段 12
管理装置 20
取得手段 21
デプロイ手段 22
投入手段 23
VNFM 30
CCM(管理装置) 40
CaaSプラットフォーム(コンテナ仮想化システム) 50
マスタノード(制御手段) 51
ワーカノード(コンテナ実行手段) 52
NFVO 60
CISクラスター(コンテナ仮想化システム) 70
CISM(制御手段) 71
CISI(コンテナ実行手段) 72
Consumer 80
図1
図2
図3
図4
図5
図6
図7
図8