WO2024009367A1 - デバイス割当制御装置、デバイス割当制御方法及びプログラム - Google Patents

デバイス割当制御装置、デバイス割当制御方法及びプログラム Download PDF

Info

Publication number
WO2024009367A1
WO2024009367A1 PCT/JP2022/026630 JP2022026630W WO2024009367A1 WO 2024009367 A1 WO2024009367 A1 WO 2024009367A1 JP 2022026630 W JP2022026630 W JP 2022026630W WO 2024009367 A1 WO2024009367 A1 WO 2024009367A1
Authority
WO
WIPO (PCT)
Prior art keywords
container
allocation
application
required performance
device allocation
Prior art date
Application number
PCT/JP2022/026630
Other languages
English (en)
French (fr)
Inventor
志久 平井
宏基 馬場
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to PCT/JP2022/026630 priority Critical patent/WO2024009367A1/ja
Publication of WO2024009367A1 publication Critical patent/WO2024009367A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Definitions

  • the present invention relates to a device allocation control device, a device allocation control method, and a program.
  • Non-Patent Document 1 GPU, FPGA, smart NIC (e.g. , RDMA-compatible NICs), and SoCs can be assigned to containers.
  • the container control unit on the container orchestration platform has a meta-plugin function (non-patent document 2) that allows allocation of various devices (hardware resources) to containers. By linking a dedicated device plug-in for each device with this meta-plugin function, it becomes possible to register and manage devices.
  • the scheduler in the master node receives an application deployment manifest from the user via the API server in the master node. .
  • the scheduler determines the worker node (physical server or virtual machine) to be allocated based on the requested amount of devices in the deployment manifest.
  • the container control unit in the worker node selects an allocatable device, and the device is allocated to the container.
  • one node corresponds to one physical server or one logical server.
  • worker nodes and devices that can be allocated with sufficient resources are determined based on a simple amount of device requests from users.
  • the present invention has been made in view of the above points, and an object of the present invention is to make it possible to allocate devices to containers so as to satisfy the required performance of an application.
  • the device allocation control device includes a required performance reception unit that is configured to receive information indicating the required performance of an application, and a device configuration and topology in multiple container orchestration platforms.
  • the container orchestration infrastructure on which the container that starts the application is deployed, the node on which the container is deployed, and the quota of each device for each node are determined so as to minimize the cost calculated by the algorithm.
  • a device allocation determining unit configured to determine the device allocation determining unit; and a container orchestration platform that the device allocation determining unit has determined as a deployment destination to instruct the container orchestration platform to allocate the device determined by the device allocation determining unit. and a device allocation instruction section configured.
  • FIG. 3 is a diagram for explaining assignment of devices to containers.
  • 1 is a diagram showing an example of a functional configuration of a device allocation control system according to an embodiment of the present invention.
  • 1 is a diagram showing an example of a hardware configuration of a computer functioning as a heterogeneous computing design control unit 1 in an embodiment of the present invention.
  • FIG. FIG. 2 is a diagram for explaining an example of a processing procedure executed in the device allocation control system.
  • optimal hardware resource design and control is performed by combining the required performance for each application with device configuration and topology configuration information.
  • the transport device control cooperation unit 17 when offloaded data crosses between multiple devices and between physical or logical servers, the transport device resource pool 4 such as a router or switch Cooperation is performed with the transport control device management section 3 that manages the .
  • FIG. 2 is a diagram showing an example of a functional configuration of a device allocation control system according to an embodiment of the present invention.
  • each of the plurality of container orchestration platforms 2 can communicate with the heterogeneous computing design control unit 1.
  • the heterogeneous computing design control section 1 can communicate with the transport control device management section 3.
  • the transport control device management unit 3 is capable of communicating with the transport device resource pool 4 .
  • the container orchestration platform 2, the heterogeneous computing design control section 1, and the transport control device management section 3 may be realized using the same computer. Alternatively, any one of these three may be realized using a different computer. Alternatively, each of these three may be implemented using different computers.
  • the container orchestration platform 2 is, for example, a container orchestration platform such as Kubernetes. As shown in FIG. 1, the container orchestration infrastructure 2 includes a master node and a worker node. The Master node includes an API server 21. A Worker node includes one or more containers. Each of the nodes is configured on a different physical or logical server. If each node is configured on a logical server, each node may be configured on the same physical server.
  • the transport device resource pool 4 stores resources (transfer routers or switches, optical transmission devices in the transmission system, and information managed by these devices) in a network that connects physical or logical servers that are candidates for container deployment. (VLAN ID, optical wavelength, etc.)) and a group of information.
  • the transport control device management unit 3 manages resources (routers, switches, etc.) in the transport device resource pool 4, and manages the resources (routers, switches, etc.) between physical or logical servers when connecting devices across physical or logical servers. Controls for providing virtual private networks.
  • the heterogeneous computing design control unit 1 includes a required performance reception unit 11, a device information acquisition unit 12, a performance estimation model acquisition unit 13, a device allocation determination unit 14, a device information monitoring unit 15, a device allocation instruction unit 16, a transport Includes device control cooperation section 17. These units may be realized using the same computer, or may be partially or entirely realized using different computers.
  • the required performance accepting unit 11 accepts an application required performance profile regarding one or more applications (hereinafter referred to as “target applications”) that the user wants to execute on the container, and sends the application required performance profile to the device allocation determining unit 14.
  • the application required performance profile is a profile in which required performance information for each of one or more applications is described.
  • the required performance information includes, for example, internal processing delay time, throughput, and other application-specific performance indicators.
  • the internal processing delay time is an average delay, an allowable delay (tail delay, percentile delay), etc., and which index is used may differ depending on the application.
  • the device information acquisition unit 12 provides information ( (hereinafter referred to as “device information”) from the device information storage unit 121 and transmits the acquired device information to the device allocation determining unit 14.
  • the device information storage unit 121 stores device information.
  • the device information includes, for example, the device type and identifier, the type and identifier of the physical or logical server in which the device is installed, the internal topology configuration, the location of the physical or logical server, and the physical or logical network connection information within or between locations. .
  • the performance estimation model acquisition unit 13 acquires information (hereinafter referred to as “model information”) that is created for each application and indicates a model for estimating each performance index of the application.
  • model information is acquired from the estimated model repository 122 and transmitted to the device allocation determining unit 14 .
  • the performance estimation model repository 122 stores model information created for each application.
  • the device information monitoring unit 15 monitors the devices deployed and managed in each container orchestration platform 2 (GPUs, FPGAs, and smart devices deployed and managed in each worker node).
  • Information regarding the usage status of NIC for example, RDMA compatible NIC
  • hardware resources such as SoC
  • the status information is sent to the device allocation determining unit 14.
  • the device usage information is information that includes, for each device, information indicating whether the device has already been allocated to a specific container, the usage rate of the device, and the like.
  • the device allocation determining unit 14 determines whether each container (hereinafter referred to as the container orchestration infrastructure 2 to which the application container (hereinafter referred to as "application container”) is to be deployed, the physical or logical server (worker node) to which the application container is to be deployed, the allocated device type for each physical or logical server to be deployed; An allocated device identifier and an allocated device quantity are determined.
  • the device allocation determining unit 14 determines the container orchestration platform 2 at the deployment destination, the physical or logical server (worker node) at the deployment destination of the application container, the assigned device type and assigned device for each physical or logical server at the deployment destination.
  • the device allocation instruction unit 16 is notified of the identifier and the allocated device quantity.
  • the device allocation determination unit 14 uses device information and model information to generate a large amount of input patterns for allocation amounts for each device (CPU, memory, other devices, etc.) (i.e., for each physical or logical server at the deployment destination). For a large number of patterns of allocated device type, allocated device identifier, and allocated device quantity), estimated values of each performance index of the application related to the application container to be deployed are derived.
  • the device allocation determining unit 14 uses an optimization algorithm from the allocation amount for each device (CPU, memory, other devices, etc.) using the application required performance profile and device usage status information as constraints for each derived performance estimate.
  • the optimization calculation results show that when the same application container is distributed to multiple locations (when the number of container replicas is multiple), when multiple devices are assigned to a single application container, when multiple deployment destinations (device (to which the control is directed) is determined.
  • the device allocation determining unit 14 also allocates multiple devices to a single application container and determines to connect the multiple devices across physical or logical servers (assigned to a single container). Instructs the transport device control cooperation unit 17 to provide a virtual private network (in the case where the device to be connected spans multiple physical or logical servers). When instructing the transport device control cooperation section 17, the device allocation determination section 14 transmits the device information of the connection source device and the connection destination device to the transport device control cooperation section 17.
  • devices that can be assigned to a container are not limited to devices that are deployed on the Worker node where the container has started, but devices on other clusters and other Worker nodes can also be assigned. Note that if the connection between multiple devices does not span physical or logical servers, the device allocation determining unit 14 instructs the transport device control cooperation unit 17 not to provide a virtual private network.
  • the device allocation instruction unit 16 instructs the API server 21 of the container orchestration platform 2 at each deployment destination to Instructs to reserve and allocate the device type, device identifier, and device quantity within the Worker node (Worker node managed by the ration platform 2).
  • the device assignment instruction unit 16 An instruction is given to the API server 21 of the orchestration platform 2.
  • the transport device control cooperation unit 17 When the transport device control cooperation unit 17 connects devices across physical or logical servers based on instructions from the device allocation determining unit 14 (device information of the connection source device and connection destination device), Instructs the transport control device management unit 3 to provide a virtual private network. At this time, the transport device control cooperation unit 17 also transmits the device information of the connection source device and the connection destination device to the transport control device management unit 3. Based on the device information, the transport control device management unit 3 searches for a "route with the minimum delay" among route candidates for multiple virtual private networks connecting devices, and connects the virtual private network using the corresponding route. The resources in the transport device resource pool 4 are controlled so as to generate .
  • FIG. 3 is a diagram showing an example of the hardware configuration of a computer that functions as the heterogeneous computing design control unit 1 in the embodiment of the present invention.
  • the computer 10 in FIG. 3 includes a drive device 100, an auxiliary storage device 102, a memory device 103, a processor 104, an interface device 105, etc., which are interconnected by a bus B.
  • a program that causes the computer 10 to function as the heterogeneous computing design control unit 1 is provided by a recording medium 101 such as a CD-ROM.
  • a recording medium 101 such as a CD-ROM.
  • the program is installed from the recording medium 101 to the auxiliary storage device 102 via the drive device 100.
  • the program does not necessarily need to be installed from the recording medium 101, and may be downloaded from another computer via a network.
  • the auxiliary storage device 102 stores installed programs as well as necessary files, data, and the like.
  • the memory device 103 reads and stores the program from the auxiliary storage device 102 when there is an instruction to start the program.
  • the processor 104 is a CPU, a GPU (Graphics Processing Unit), or a CPU and a GPU, and executes functions related to the computer 10 according to a program stored in the memory device 103.
  • the interface device 105 is used as an interface for connecting to a network.
  • container orchestration platform 2 and the transport control device management unit 3 may also be realized by processing executed by one or more programs installed on a computer similar to the computer 10 shown in FIG. 3. .
  • FIG. 4 is a diagram for explaining an example of a processing procedure executed in the device allocation control system.
  • step S101 the required performance receiving unit 11 receives the application required performance profile transmitted from the user (the terminal used by the user).
  • the requested performance receiving unit 11 transmits the application requested performance profile to the device allocation determining unit 14.
  • the device allocation determining unit 14 Upon receiving the application requested performance profile, the device allocation determining unit 14 sends device information, model information, and device usage status information to each of the device information acquisition unit 12, performance estimation model acquisition unit 13, and device information monitoring unit 15. request.
  • the device information acquisition unit 12 acquires device information from the device information storage unit 121 in response to a request from the device allocation determination unit 14 (S103), and transmits the device information to the device allocation determination unit 14 (S104).
  • the performance estimation model acquisition unit 13 acquires model information for each application from the performance estimation model repository 122 in response to a request from the device allocation determination unit 14 (S105), and transmits the model information to the device allocation determination unit 14. (S106).
  • the device information monitoring unit 15 acquires device usage status information from each container orchestration platform 2 (S107), and transfers the acquired device usage status information to the device allocation determining unit 14. (S108). Note that the device information monitoring unit 15 may always (for example, periodically) acquire device usage information from each container orchestration platform 2. In this case, in step S107, the device information monitoring unit 15 may transmit the device usage information acquired last from each container orchestration platform 2 to the device allocation determining unit 14.
  • the device allocation determining unit 14 assigns the container orchestration platform 2 to which the application container is to be deployed and the physical container to which the application container is to be deployed based on the application requested performance profile, device information, model information, and device information.
  • the logical server (worker node) and the assigned device type, assigned device identifier, and assigned device quantity for each physical or logical server to be deployed are determined (S109).
  • the device allocation determining unit 14 determines the container orchestration platform 2 to which the application container is to be deployed, the physical or logical server (worker node) to which the application container is to be deployed, and the assigned device type for each physical or logical server to which the application container is to be deployed. , the allocated device identifier and the allocated device quantity to the device allocation instruction unit 16 (S110).
  • the device allocation determining unit 14 also provides a virtual dedicated network when connecting multiple devices across physical or logical servers (when a device allocated to a container spans multiple physical or logical servers). is instructed to the transport device control cooperation unit 17 (S111).
  • the device allocation instruction unit 16 sends the API server 21 of the container orchestration platform 2 at each deployment destination to each target physical or logical server (container orchestration platform at the deployment destination). Instructs to reserve and allocate the device type, device identifier, and device quantity within the Worker node (Worker node managed by No. 2) (S112).
  • the container orchestration platform 2 at each deployment destination executes device allocation to the deployment destination container according to instructions.
  • the transport device control cooperation unit 17 connects devices across physical or logical servers based on instructions from the device allocation determining unit 14 (device information of the connection source device and connection destination device), It instructs the transport control device management unit 3 to provide a virtual private network, and also transmits the device information of the connection source device and the connection destination device to the transport control device management unit 3. (S113).
  • the transport control device management unit 3 selects “a route with the minimum delay” from route candidates for the plurality of virtual private networks connecting devices.
  • the resources in the transport device resource pool 4 are controlled to search and create a virtual private network using the corresponding route (S114). As a result, the virtual private network is provided.
  • devices are assigned to containers so as to satisfy the application's end-to-end performance requirements by utilizing device configuration/topology configuration information, etc.
  • offloading of data processing may occur not only across a single device but also across multiple devices.
  • the device configuration and topology configuration within a single physical or logical server, and the virtual network connection configuration between multiple physical or logical servers have a significant impact on performance.
  • remote devices can be assigned through on-demand transport coordination, thereby eliminating the limitation to local devices within a specific domain (cluster or server). can enable flexible application deployment without This makes it possible to reduce equipment costs by quickly deploying applications in resource-poor environments such as edge environments.
  • the computer 10 that functions as the heterogeneous computing design control unit 1 is an example of a device allocation control device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

デバイス割当制御装置は、アプリケーションの要求性能を示す情報を受け付け、複数のコンテナ・オーケストレーション基盤におけるデバイスの構成及びトポロジを示す情報、前記アプリケーションの性能を推定する情報、前記複数の前記基盤におけるデバイスの使用状況を示す情報に基づいて、前記使用状況及び前記要求性能を制約条件として、デバイスごとの割当量から最適化アルゴリズムによって算出されるコストを最小化するように、前記アプリケーションを起動するコンテナの配備先の前記基盤と、前記コンテナの配備先のノードと、前記ノードごとの各デバイスの割当量を決定し、配備先として決定した前記基盤に対し、前記デバイス割当決定部が決定したデバイスの割り当てを指示することで、アプリケーションの要求性能を満たすようにコンテナに対してデバイスを割り当てることを可能とする。

Description

デバイス割当制御装置、デバイス割当制御方法及びプログラム
 本発明は、デバイス割当制御装置、デバイス割当制御方法及びプログラムに関する。
 Kubernetes(非特許文献1)をデファクト・スタンダードとするコンテナ・オーケストレーション基盤上では、コンテナ内のアプリケーションロジックの処理をハードウェア上にオフロードして高速化するため、GPU、FPGA、スマートNIC(例えば、RDMA対応NIC)、及びSoCのようなアクセラレータのコンテナへの割り当てが可能になっている。
 コンテナ・オーケストレーション基盤上のコンテナ制御部は、コンテナへの様々なデバイス(ハードウェアリソース)の割り当てを可能とするメタプラグイン機能(非特許文献2)を有する。デバイス毎の専用のデバイス・プラグインをこのメタプラグイン機能と連携させることで、デバイスの登録及び管理が可能となる。
 コンテナにデバイスを割り当てる際には、図1に示されるように、ユーザからのアプリケーションのデプロイマニフェストをMasterノード内のAPIサーバを経由して当該Masterノード内のスケジューラ(非特許文献3)が受信する。スケジューラは、デプロイマニフェスト中のデバイスの要求量に基づき、割り当て先のWorkerノード(物理サーバ又は仮想マシン)を決定する。当該Workerノード内のコンテナ制御部は割り当て可能なデバイスを選択し、コンテナへのデバイスの割り当てが実行される。
 なお、1つのノード(Masterノード又はWorkerノード)は、1つの物理サーバ又は1つの論理サーバに相当する。
"What is Kubernetes, Kubernetes"、[online]、インターネット<URL:https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/> "Device Plugins, Kubernetes"、[online]、インターネット<URL:https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/> "Kubernetes Scheduler, Kubernetes"、[online]、インターネット<URL:https://kubernetes.io/docs/concepts/scheduling-eviction/kube-scheduler/>
 現行のコンテナへのデバイスのスケジューリング方式では、ユーザからの単純なデバイスの要求量に基づき、割り当て可能なリソース量に余裕のあるWorkerノード及びデバイス(ハードウェアリソース)が決定されている。
 今後は、5Gの発展などにより、ハードウェアリソースが潤沢なクラウド上のみならず、エッジ上でのアプリケーションの展開が想定される。したがって、コンテナに対して、アプリケーションの要求性能を満たす適切なデバイス(ハードウェアリソース)の割り当てが課題となる。
 本発明は、上記の点に鑑みてなされたものであって、アプリケーションの要求性能を満たすようにコンテナに対してデバイスを割り当てることを可能とすることを目的とする。
 そこで上記課題を解決するため、デバイス割当制御装置は、アプリケーションの要求性能を示す情報を受け付けるように構成されている要求性能受付部と、複数のコンテナ・オーケストレーション基盤におけるデバイスの構成及びトポロジを示す情報、前記アプリケーションの性能を推定する情報、前記複数のコンテナ・オーケストレーション基盤におけるデバイスの使用状況を示す情報に基づいて、前記使用状況及び前記要求性能を制約条件として、デバイスごとの割当量から最適化アルゴリズムによって算出されるコストを最小化するように、前記アプリケーションを起動するコンテナの配備先のコンテナ・オーケストレーション基盤と、前記コンテナの配備先のノードと、前記ノードごとの各デバイスの割当量とを決定するように構成されているデバイス割当決定部と、前記デバイス割当決定部が配備先として決定したコンテナ・オーケストレーション基盤に対し、前記デバイス割当決定部が決定したデバイスの割り当てを指示するように構成されているデバイス割当指示部と、を有する。
 アプリケーションの要求性能を満たすようにコンテナに対してデバイスを割り当てることを可能とすることができる。
コンテナへのデバイスの割り当てを説明するための図である。 本発明の実施の形態におけるデバイス割当制御システムの機能構成例を示す図である。 本発明の実施の形態におけるヘテロジニアス・コンピューティング設計制御部1として機能するコンピュータのハードウェア構成例を示す図である。 デバイス割当制御システムにおいて実行される処理手順の一例を説明するための図である。
 本実施の形態では、アプリケーションごとの要求性能とデバイス構成及びトポロジ構成情報を組み合わせた最適なハードウェアリソース設計及び制御が行われる。また、トランスポート装置制御連携部17を構築することで、オフロードされたデータが複数デバイス間を跨ぎ、かつ、物理又は論理サーバ間を越える場合に、ルータ又はスイッチ等のトランスポート装置リソースプール4を管理するトランスポート制御装置管理部3との連携が行われる。
 以下、図面に基づいて本発明の実施の形態を説明する。図2は、本発明の実施の形態におけるデバイス割当制御システムの機能構成例を示す図である。図2において、複数のコンテナ・オーケストレーション基盤2のそれぞれは、ヘテロジニアス・コンピューティング設計制御部1と通信可能である。ヘテロジニアス・コンピューティング設計制御部1は、トランスポート制御装置管理部3と通信可能である。トランスポート制御装置管理部3は、トランスポート装置リソースプール4と通信可能である。
 なお、コンテナ・オーケストレーション基盤2、ヘテロジニアス・コンピューティング設計制御部1及びトランスポート制御装置管理部3は、同じコンピュータを用いて実現されてもよい。又は、これら3つのうちのいずれか一つが異なるコンピュータを用いて実現されてもよい。又は、これら3つのそれぞれが異なるコンピュータを用いて実現されてもよい。
 コンテナ・オーケストレーション基盤2は、例えば、Kubernetesを例とするようなコンテナ・オーケストレーション基盤である。コンテナ・オーケストレーション基盤2は、図1に示したように、Masterノード及びWorkerノードを含む。Masteノードは、APIサーバ21を含む。Workerノードは、1以上のコンテナを含む。各ノードのそれぞれは、異なる物理サーバ又は論理サーバ上に構成される。各ノードが論理サーバ上に構成される場合、各ノードは同じ物理サーバ上に構成されてもよい。
 トランスポート装置リソースプール4は、コンテナの配備先の候補としての物理又は論理サーバ間を接続するネットワーク内のリソース(転送系のルータ又はスイッチ、伝送系の光伝送装置、及びそれら装置が管理する情報(VLAN IDや光波長等))で構成されるトランスポート装置及び情報群である。
 トランスポート制御装置管理部3は、トランスポート装置リソースプール4内のリソース(ルータやスイッチ等)を管理し、物理又は論理サーバ間を跨いでデバイス間を接続する場合の、物理又は論理サーバ間の仮想専用ネットワークを提供するための制御を行う。
 ヘテロジニアス・コンピューティング設計制御部1は、要求性能受付部11、デバイス情報取得部12、性能推定モデル取得部13、デバイス割当決定部14、デバイス情報監視部15、デバイス割当指示部16、トランスポート装置制御連携部17含む。これら各部は、同じコンピュータを用いて実現されてもよいし、一部又は全部が異なるコンピュータを用いて実現されてもよい。
 要求性能受付部11は、ユーザがコンテナ上で実行させたい1以上のアプリケーション(以下、「対象アプリケーション」という。)に関するアプリケーション要求性能プロファイルを受け付け、当該のアプリケーション要求性能プロファイルをデバイス割当決定部14に送信する。アプリケーション要求性能プロファイルとは、1以上のアプリケーションごとの要求性能情報が記載されたプロファイルをいう。要求性能情報は、例えば、内部処理遅延時間、スループット、及びその他アプリ固有の性能指標を含む。内部処理遅延時間は、平均遅延や許容遅延(Tail遅延、パーセンタイル遅延)等であり、いずれの指標であるかについてはアプリケーションごとに異なってもよい。
 デバイス情報取得部12は、デバイス割当決定部14からの要求に応じ、各コンテナ・オーケストレーション基盤2において配備及び管理されているデバイス(ハードウェアリソース)の構成やトポロジ(接続関係)を示す情報(以下、「デバイス情報」という。)をデバイス情報記憶部121から取得して、取得したデバイス情報をデバイス割当決定部14に送信する。デバイス情報記憶部121は、デバイス情報を記憶する。デバイス情報は、例えば、デバイス種別及び識別子、デバイスを配備した物理又は論理サーバの種別及び識別子、内部トポロジ構成、物理又は論理サーバの配置拠点、拠点内又は拠点間の物理又は論理ネットワーク接続情報を含む。
 性能推定モデル取得部13は、デバイス割当決定部14からの要求に応じ、アプリケーションごとに作成された、アプリケーションの各性能指標を推定するモデルを示す情報(以下、「モデル情報」という。)を性能推定モデルリポジトリ122から取得して、取得したモデル情報をデバイス割当決定部14に送信する。性能推定モデルリポジトリ122は、アプリケーションごとに作成されたモデル情報を記憶する。
 デバイス情報監視部15は、デバイス割当決定部14からの要求に応じ、各コンテナ・オーケストレーション基盤2において配備及び管理されているデバイス(各Workerノードにおいて配備及び管理されている、GPU、FPGA、スマートNIC(例えば、RDMA対応NIC)、及びSoC等のハードウェアリソース)の使用状況に関する情報(以下、「デバイス使用状況情報」という。)を各コンテナ・オーケストレーション基盤2から取得し、取得したデバイス使用状況情報をデバイス割当決定部14に送信する。なお、デバイス使用状況情報とは、デバイスごとに、当該デバイスが特定のコンテナに既に割り当てられているか否かを示す情報や、当該デバイスの使用率等を含む情報である。
 デバイス割当決定部14は、要求性能受付部11、デバイス情報取得部12、性能推定モデル取得部13及びデバイス情報監視部15から取得した情報に基づいて、各対象アプリケーションを起動する各コンテナ(以下、「アプリケーション・コンテナ」という。)の配備先のコンテナ・オーケストレーション基盤2と、アプリケーション・コンテナの配備先の物理又は論理サーバ(Workerノード)と、配備先の物理又は論理サーバごとの割当デバイス種別、割当デバイス識別子及び割当デバイス数量とを決定する。デバイス割当決定部14は、配備先のコンテナ・オーケストレーション基盤2と、アプリケーション・コンテナの配備先の物理又は論理サーバ(Workerノード)と、配備先の物理又は論理サーバごとの割当デバイス種別、割当デバイス識別子及び割当デバイス数量とをデバイス割当指示部16へ通知する。
 決定するためのロジックについては、グリッドサーチ又は既存の最適化アルゴリズムを利用することが考えられる。一例として、デバイス割当決定部14は、デバイス情報及びモデル情報を用いて、デバイス(CPU、メモリ、その他デバイス等)ごとの割当量の大量の入力パターン(すなわち、配備先の物理又は論理サーバごとの割当デバイス種別、割当デバイス識別子及び割当デバイス数量の大量のパターン)について、配備対象のアプリケーション・コンテナに係るアプリケーションの各性能指標の推定値を導出する。デバイス割当決定部14は、導出した各性能推定値に対して、アプリケーション要求性能プロファイルやデバイス使用状況情報を制約条件として、デバイス(CPU、メモリ、その他デバイス等)ごとの割当量から最適化アルゴリズムによって算出されるコスト(設備コストや電力消費量)を目的関数として、当該制約条件を満たしつつ当該目的関数を最小化する入力パターンを探索する。最適化計算結果から、同一のアプリケーション・コンテナを複数拠点に分散配備する場合(コンテナのレプリカ数が複数の場合)や、単一アプリケーション・コンテナに複数のデバイスを割り当てる場合、複数の配備先(デバイス制御を指示する先)が決定される。
 デバイス割当決定部14は、また、単一のアプリケーション・コンテナに複数のデバイスを割り当て、かつ、物理又は論理サーバ間を跨いで複数デバイス間を接続することを決定した場合(単一のコンテナに割り当てられるデバイスが複数の物理又は論理サーバに跨がる場合)に仮想専用ネットワークの提供をトランスポート装置制御連携部17に指示する。デバイス割当決定部14は、トランスポート装置制御連携部17への指示に際し、接続元のデバイス及び接続先のデバイスのそれぞれのデバイス情報をトランスポート装置制御連携部17へ送信する。本実施の形態では、コンテナに割り当て可能なデバイスは、当該コンテナが起動したWorkerノード上に配備されるデバイスに制限されず、他クラスタ及び他Workerノード上のデバイスも割り当て可能である。なお、複数デバイス間の接続が物理又は論理サーバ間を跨がない場合、デバイス割当決定部14は、仮想専用ネットワークを提供しないことをトランスポート装置制御連携部17に指示する。
 デバイス割当指示部16は、デバイス割当決定部14にからの通知に基づき、各配備先のコンテナ・オーケストレーション基盤2のAPIサーバ21に対し、対象の各物理又は論理サーバ(配備先のコンテナ・オーケストレーション基盤2が管理するWorkerノード)内のデバイス種別、デバイス識別子及びデバイス数量についての予約及び割り当てを指示する。同一アプリケーション・コンテナを複数拠点に分散配備する場合(コンテナのレプリカ数が複数の場合)や、単一アプリケーション・コンテナに複数のデバイスを割り当てる場合、デバイス割当指示部16は、各配備先のコンテナ・オーケストレーション基盤2のAPIサーバ21に対して指示を行う。
 トランスポート装置制御連携部17は、デバイス割当決定部14からの指示(接続元のデバイス及び接続先のデバイスのそれぞれのデバイス情報)に基づき、物理又は論理サーバ間を跨いでデバイス間を接続する場合の仮想専用ネットワークの提供をトランスポート制御装置管理部3に指示する。この際、トランスポート装置制御連携部17は、トランスポート制御装置管理部3に対して、接続元のデバイス及び接続先のデバイスのそれぞれのデバイス情報を併せて送信する。トランスポート制御装置管理部3は、当該デバイス情報に基づき、デバイス間を接続する複数の仮想専用ネットワークの経路候補のうち、「遅延が最小になる経路」を探索し、該当する経路で仮想専用ネットワークを生成するよう、トランスポート装置リソースプール4内のリソースを制御する。
 図3は、本発明の実施の形態におけるヘテロジニアス・コンピューティング設計制御部1として機能するコンピュータのハードウェア構成例を示す図である。図3のコンピュータ10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、プロセッサ104、及びインタフェース装置105等を有する。
 コンピュータ10をヘテロジニアス・コンピューティング設計制御部1として機能させるプログラムは、CD-ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
 メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。プロセッサ104は、CPU若しくはGPU(Graphics Processing Unit)、又はCPU及びGPUであり、メモリ装置103に格納されたプログラムに従ってコンピュータ10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
 なお、コンテナ・オーケストレーション基盤2やトランスポート制御装置管理部3も、図3に示されるコンピュータ10と同様のコンピュータにインストールされた1以上のプログラムが当該コンピュータに実行させる処理によって実現されてもよい。
 以下、デバイス割当制御システムにおいて実行される処理手順について説明する。図4は、デバイス割当制御システムにおいて実行される処理手順の一例を説明するための図である。
 ステップS101において、要求性能受付部11は、ユーザ(が利用する端末)から送信されたアプリケーション要求性能プロファイルを受信する。
 続いて、要求性能受付部11は、当該アプリケーション要求性能プロファイルをデバイス割当決定部14に送信する。デバイス割当決定部14は、当該アプリケーション要求性能プロファイルを受信すると、デバイス情報取得部12、性能推定モデル取得部13、デバイス情報監視部15のそれぞれに対し、デバイス情報、モデル情報、デバイス使用状況情報を要求する。
 デバイス情報取得部12は、デバイス割当決定部14からの要求に応じ、デバイス情報をデバイス情報記憶部121から取得し(S103)、当該デバイス情報をデバイス割当決定部14に送信する(S104)。
 性能推定モデル取得部13は、デバイス割当決定部14からの要求に応じ、アプリケーションごとのモデル情報を性能推定モデルリポジトリ122から取得して(S105)、当該モデル情報をデバイス割当決定部14に送信する(S106)。
 デバイス情報監視部15は、デバイス割当決定部14からの要求に応じ、デバイス使用状況情報を各コンテナ・オーケストレーション基盤2から取得し(S107)、取得した各デバイス使用状況情報をデバイス割当決定部14に送信する(S108)。なお、デバイス情報監視部15は、常時(例えば、定期的に)デバイス使用状況情報を各コンテナ・オーケストレーション基盤2から取得していてもよい。この場合、ステップS107において、デバイス情報監視部15は、各コンテナ・オーケストレーション基盤2から最後に取得したデバイス使用状況情報をデバイス割当決定部14に送信してもよい。
 続いて、デバイス割当決定部14は、アプリケーション要求性能プロファイル、デバイス情報、モデル情報及びデバイス情報に基づいて、アプリケーション・コンテナの配備先のコンテナ・オーケストレーション基盤2と、アプリケーション・コンテナの配備先の物理又は論理サーバ(Workerノード)と、配備先の物理又は論理サーバごとの割当デバイス種別、割当デバイス識別子及び割当デバイス数量とを決定する(S109)。
 続いて、デバイス割当決定部14は、配備先のコンテナ・オーケストレーション基盤2と、アプリケーション・コンテナの配備先の物理又は論理サーバ(Workerノード)と、配備先の物理又は論理サーバごとの割当デバイス種別、割当デバイス識別子及び割当デバイス数量とをデバイス割当指示部16へ通知する(S110)。デバイス割当決定部14は、また、物理又は論理サーバ間を跨いで複数デバイス間を接続する場合(コンテナに割り当てられるデバイスが複数の物理又は論理サーバに跨がる場合)に、仮想専用ネットワークの提供をトランスポート装置制御連携部17に指示する(S111)。
 デバイス割当指示部16は、デバイス割当決定部14からの通知に基づき、各配備先のコンテナ・オーケストレーション基盤2のAPIサーバ21に、対象の各物理又は論理サーバ(配備先のコンテナ・オーケストレーション基盤2が管理するWorkerノード)内のデバイス種別、デバイス識別子及びデバイス数量についての予約及び割り当てを指示する(S112)。各配備先のコンテナ・オーケストレーション基盤2は、指示通りに配備先のコンテナに対してデバイスの割り当てを実行する。
 トランスポート装置制御連携部17は、デバイス割当決定部14からの指示(接続元のデバイス及び接続先のデバイスのそれぞれのデバイス情報)に基づき、物理又は論理サーバ間を跨いでデバイス間を接続する場合の仮想専用ネットワークの提供をトランスポート制御装置管理部3に指示すると共に、接続元のデバイス及び接続先のデバイスのそれぞれのデバイス情報をトランスポート制御装置管理部3へ送信する。(S113)。
 続いて、トランスポート制御装置管理部3は、トランスポート装置制御連携部17からの情報に基づき、デバイス間を接続する複数の仮想専用ネットワークの経路候補のうち、「遅延が最小になる経路」を探索し、該当する経路で仮想専用ネットワークを生成するよう、トランスポート装置リソースプール4内のリソースを制御する(S114)。その結果、当該仮想専用ネットワークが提供される。
 上述したように、本実施の形態によれば、デバイス構成・トポロジ構成情報等を活用することで、アプリケーションの要求性能End-to-Endの性能要件)を満たすようにコンテナに対してデバイスを割り当てることを可能とすることができる
 なお、ユースケースやアプリケーションによっては、単一のデバイスのみならず、複数のデバイスに跨ってデータ処理のオフロードが発生する場合があるため、デバイス間を跨ぐ際の単一の物理又は論理サーバ内のデバイス構成及びトポロジ構成や、複数の物理又は論理サーバ間の仮想ネットワーク接続構成が性能に大きな影響を与えるようになる。
 このような問題に対し、本実施の形態によれば、オンデマンドなトランスポート連携により、リモート・デバイスが割り当て可能となることで、特定ドメイン(クラスタ又はサーバ)内のローカルデバイスに制限されることのない、柔軟なアプリケーションの展開を可能にすることができる。これにより、エッジ環境のようなリソースの乏しい環境に迅速にアプリケーションを展開することで、設備コストを削減することができる。
 なお、ヘテロジニアス・コンピューティング設計制御部1として機能するコンピュータ10は、デバイス割当制御装置の一例である。
 以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
1      ヘテロジニアス・コンピューティング設計制御部
2      コンテナ・オーケストレーション基盤
3      トランスポート制御装置管理部
4      トランスポート装置リソースプール
11     要求性能受付部
12     デバイス情報取得部
13     性能推定モデル取得部
14     デバイス割当決定部
15     デバイス情報監視部
16     デバイス割当指示部
17     トランスポート装置制御連携部
100    ドライブ装置
101    記録媒体
102    補助記憶装置
103    メモリ装置
104    プロセッサ
105    インタフェース装置
121    デバイス情報記憶部
122    性能推定モデルリポジトリ
B      バス

Claims (6)

  1.  アプリケーションの要求性能を示す情報を受け付けるように構成されている要求性能受付部と、
     複数のコンテナ・オーケストレーション基盤におけるデバイスの構成及びトポロジを示す情報、前記アプリケーションの性能を推定する情報、前記複数のコンテナ・オーケストレーション基盤におけるデバイスの使用状況を示す情報に基づいて、前記使用状況及び前記要求性能を制約条件として、デバイスごとの割当量から最適化アルゴリズムによって算出されるコストを最小化するように、前記アプリケーションを起動するコンテナの配備先のコンテナ・オーケストレーション基盤と、前記コンテナの配備先のノードと、前記ノードごとの各デバイスの割当量とを決定するように構成されているデバイス割当決定部と、
     前記デバイス割当決定部が配備先として決定したコンテナ・オーケストレーション基盤に対し、前記デバイス割当決定部が決定したデバイスの割り当てを指示するように構成されているデバイス割当指示部と、
    を有することを特徴とするデバイス割当制御装置。
  2.  前記デバイス割当決定部が、単一のコンテナに複数のデバイスを割り当て、かつ、ノード間を跨いで複数デバイス間を接続することを決定した場合に、ノード間を接続する仮想専用ネットワークを提供するための制御を行うように構成されているトランスポート装置制御連携部、
    を有することを特徴とする請求項1記載のデバイス割当制御装置。
  3.  アプリケーションの要求性能を示す情報を受け付ける要求性能受付手順と、
     複数のコンテナ・オーケストレーション基盤におけるデバイスの構成及びトポロジを示す情報、前記アプリケーションの性能を推定する情報、前記複数のコンテナ・オーケストレーション基盤におけるデバイスの使用状況を示す情報に基づいて、前記使用状況及び前記要求性能を制約条件として、デバイスごとの割当量から最適化アルゴリズムによって算出されるコストを最小化するように、前記アプリケーションを起動するコンテナの配備先のコンテナ・オーケストレーション基盤と、前記コンテナの配備先のノードと、前記ノードごとの各デバイスの割当量とを決定するデバイス割当決定手順と、
     前記デバイス割当決定手順が配備先として決定したコンテナ・オーケストレーション基盤に対し、前記デバイス割当決定手順が決定したデバイスの割り当てを指示するデバイス割当指示手順と、
    をコンピュータが実行することを特徴とするデバイス割当制御方法。
  4.  前記デバイス割当決定手順が、単一のコンテナに複数のデバイスを割り当て、かつ、ノード間を跨いで複数デバイス間を接続することを決定した場合に、ノード間を接続する仮想専用ネットワークを提供するための制御を行う制御手順、
    をコンピュータが実行することを特徴とする請求項3記載のデバイス割当制御方法。
  5.  アプリケーションの要求性能を示す情報を受け付ける要求性能受付手順と、
     複数のコンテナ・オーケストレーション基盤におけるデバイスの構成及びトポロジを示す情報、前記アプリケーションの性能を推定する情報、前記複数のコンテナ・オーケストレーション基盤におけるデバイスの使用状況を示す情報に基づいて、前記使用状況及び前記要求性能を制約条件として、デバイスごとの割当量から最適化アルゴリズムによって算出されるコストを最小化するように、前記アプリケーションを起動するコンテナの配備先のコンテナ・オーケストレーション基盤と、前記コンテナの配備先のノードと、前記ノードごとの各デバイスの割当量とを決定するデバイス割当決定手順と、
     前記デバイス割当決定手順が配備先として決定したコンテナ・オーケストレーション基盤に対し、前記デバイス割当決定手順が決定したデバイスの割り当てを指示するデバイス割当指示手順と、
    をコンピュータに実行させることを特徴とするプログラム。
  6.  前記デバイス割当決定手順が、単一のコンテナに複数のデバイスを割り当て、かつ、ノード間を跨いで複数デバイス間を接続することを決定した場合に、ノード間を接続する仮想専用ネットワークを提供するための制御を行う制御手順、
    をコンピュータに実行させることを特徴とする請求項5記載のプログラム。
PCT/JP2022/026630 2022-07-04 2022-07-04 デバイス割当制御装置、デバイス割当制御方法及びプログラム WO2024009367A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/026630 WO2024009367A1 (ja) 2022-07-04 2022-07-04 デバイス割当制御装置、デバイス割当制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/026630 WO2024009367A1 (ja) 2022-07-04 2022-07-04 デバイス割当制御装置、デバイス割当制御方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2024009367A1 true WO2024009367A1 (ja) 2024-01-11

Family

ID=89452945

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/026630 WO2024009367A1 (ja) 2022-07-04 2022-07-04 デバイス割当制御装置、デバイス割当制御方法及びプログラム

Country Status (1)

Country Link
WO (1) WO2024009367A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180359338A1 (en) * 2017-06-09 2018-12-13 Red Hat, Inc. Data driven bin packing implementation for data centers with variable node capabilities
US20210014133A1 (en) * 2020-09-25 2021-01-14 Intel Corporation Methods and apparatus to coordinate edge platforms

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180359338A1 (en) * 2017-06-09 2018-12-13 Red Hat, Inc. Data driven bin packing implementation for data centers with variable node capabilities
US20210014133A1 (en) * 2020-09-25 2021-01-14 Intel Corporation Methods and apparatus to coordinate edge platforms

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
OHWAD KENT: " Kubernetes: Workflow, scheduler functions, algorithms", ALIBABA CLOUD JAPAN, 6 May 2021 (2021-05-06), XP093124676, Retrieved from the Internet <URL:https://qiita.com/KentOhwada_AlibabaCloudJapan/items/977d1a6e876331c6ad76> [retrieved on 20240129] *

Similar Documents

Publication Publication Date Title
Ghaznavi et al. Elastic virtual network function placement
US9485197B2 (en) Task scheduling using virtual clusters
EP2335162B1 (en) Dynamic distribution of virtual machines in a communication network
US9489225B2 (en) Allocating resources for multi-phase, distributed computing jobs
Xu et al. NFV-enabled IoT service provisioning in mobile edge clouds
EP3283953B1 (en) Providing services in a system having a hardware acceleration plane and a software plane
US9384058B2 (en) Method for executing virtual application delivery controllers having different application versions over a computing device
KR20160087706A (ko) 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치 및 할당 방법
US10375158B2 (en) Techniques for adaptive traffic direction via scalable application delivery controller services
WO2019144965A1 (zh) 一种镜像拉取的方法及其系统
Racheg et al. Profit-driven resource provisioning in NFV-based environments
WO2017185992A1 (zh) 一种请求消息传输方法及装置
US11374820B2 (en) Centralized controller-based dynamic network bandwidth allocation and management
Cao et al. Towards tenant demand-aware bandwidth allocation strategy in cloud datacenter
JP6090587B2 (ja) 割当て資源を決定する方法および装置並びに資源提供システム
WO2024009367A1 (ja) デバイス割当制御装置、デバイス割当制御方法及びプログラム
Watashiba et al. Prototyping and evaluation of a network-aware Job Management System on a cluster system
WO2018009103A1 (en) Power manager and method performed thereby for managing power of a datacentre
He et al. Firebird: Network-aware task scheduling for spark using sdns
Alhowaidi et al. Dynamic provisioning in virtualized Cloud infrastructure in IP/MPLS-over-WDM networks
Chintapalli et al. Energy-and Reliability-Aware Provisioning of Parallelized Service Function Chains With Delay Guarantees
WO2022057487A1 (zh) 路径标识的分配方法、系统、装置、设备以及存储介质
Watashiba et al. An architectural design of a job management system leveraging software defined network
Rezaei et al. Superways: A datacenter topology for incast-heavy workloads
Fichera et al. Experimental evaluation of dynamic resource orchestration in multi-layer (packet over flexi-grid optical) networks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22950162

Country of ref document: EP

Kind code of ref document: A1