WO2025197810A1 - 管理基盤、プログラム、情報処理システム、及び管理方法 - Google Patents

管理基盤、プログラム、情報処理システム、及び管理方法

Info

Publication number
WO2025197810A1
WO2025197810A1 PCT/JP2025/010041 JP2025010041W WO2025197810A1 WO 2025197810 A1 WO2025197810 A1 WO 2025197810A1 JP 2025010041 W JP2025010041 W JP 2025010041W WO 2025197810 A1 WO2025197810 A1 WO 2025197810A1
Authority
WO
WIPO (PCT)
Prior art keywords
information processing
infrastructure
resource amount
application
memory
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
PCT/JP2025/010041
Other languages
English (en)
French (fr)
Inventor
権次郎 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SoftBank Corp
Original Assignee
SoftBank Corp
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 SoftBank Corp filed Critical SoftBank Corp
Publication of WO2025197810A1 publication Critical patent/WO2025197810A1/ja
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • H04W28/084Load balancing or load distribution among network function virtualisation [NFV] entities; among edge computing entities, e.g. multi-access edge computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/12Access point controller devices

Definitions

  • the present invention relates to a management platform, a program, an information processing system, and a management method.
  • Patent Document 1 JP 2019-028859 A
  • a management platform for managing information processing platforms having memory resources including GPU memory and CPU memory.
  • the management platform may include an acquisition unit that acquires free memory resource amount information indicating the free resource amount of the memory resources of each of the multiple information processing platforms, and application count information indicating the number of applications currently running on each of the multiple information processing platforms.
  • the management platform may include a reception unit that accepts an application execution request.
  • the management platform may include a selection unit that selects, from the multiple information processing platforms, the information processing platform with the fewest running applications as the information processing platform on which to execute the target application, based on allocated resource amount information indicating the allocated resource amount of memory resources that must be allocated to execute the target application, the free memory resource amount information, and the application count information, all of which are included in the execution request.
  • the selection unit may determine whether the free resource amount of the memory resources of the information processing platform with the fewest number of running applications is equal to or greater than the allocated resource amount, and if it determines that the free resource amount of the memory resources of the information processing platform with the fewest number of running applications is equal to or greater than the allocated resource amount, it may select the information processing platform with the fewest number of running applications as the information processing platform on which the application to be executed is to be executed, and if it determines that the free resource amount of the memory resources of the information processing platform with the fewest number of running applications is less than the allocated resource amount, it may select multiple information processing platforms including the information processing platform with the fewest number of running applications as the information processing platform on which the application to be executed is to be executed.
  • the selection unit may select the information processing platform with the least free resource amount of the memory resources from the at least two information processing platforms as the information processing platform on which to run the application to be executed.
  • the selection unit may select the information processing platform with the fewest number of running applications and the information processing platform with the second fewest number of running applications as the information processing platforms on which to execute the application to be executed.
  • the selection unit may further determine whether the total free resource amount of the memory resources of the multiple information processing platforms with the fewest number of running applications is equal to or greater than the allocated resource amount, and if it determines that the total free resource amount of the memory resources of the multiple information processing platforms with the fewest number of running applications is equal to or greater than the allocated resource amount, As the information processing infrastructure on which the application to be executed is to be executed, at least two information processing infrastructures among the plurality of information processing infrastructures with the fewest number of running applications may be selected so that the total amount of free memory resources is equal to or greater than the allocated resource amount, and if it is determined that the total amount of free memory resources of the plurality of information processing infrastructures with the fewest number of running applications is less than the allocated resource amount, the plurality of information processing infrastructure
  • the selection unit may select the at least two information processing platforms so that the total free resource amount of the memory resources is equal to or greater than the allocated resource amount and the number of information processing platforms is the smallest. In any of the management platforms, if there are multiple combinations of information processing platforms so that the total free resource amount of the memory resources is equal to or greater than the allocated resource amount and the number of information processing platforms is the smallest, the selection unit may select, as the at least two information processing platforms, from the combinations of information processing platforms, the combination of information processing platforms so that the free resource amount of the memory resources is the smallest.
  • the acquisition unit acquires the free memory resource amount information including free GPU memory resource amount information indicating a free resource amount of the GPU memory of each of the information processing infrastructures of the plurality of information processing infrastructures, and free CPU memory resource amount information indicating a free resource amount of the CPU memory of each of the information processing infrastructures of the plurality of information processing infrastructures;
  • the selection unit may select, from the plurality of information processing platforms, an information processing platform with the fewest number of applications currently running as the information processing platform on which to execute the application to be executed, based on the allocated resource amount information, the free GPU memory resource amount information and the CPU memory resource amount information included in the free memory resource amount information, and the application count information.
  • the selection unit may select, from the at least two information processing platforms, as the information processing platform on which to run the application to be executed, an information processing platform on which at least one of the free resource amount of the GPU memory and the free resource amount of the CPU memory is equal to or greater than the allocated resource amount.
  • the selection unit may select, from the at least two information processing platforms, as the information processing platform on which to run the application to be executed, an information processing platform on which the free resource amount of the GPU memory is equal to or greater than the allocated resource amount.
  • the receiving unit may receive the execution request for the application, the execution request including processing content information indicating processing content of the application to be executed, indicating that the processing speed when the GPU memory is used is faster than the processing speed when the CPU memory is used, and the selection unit may select, from the at least two information processing platforms, an information processing platform on which to execute the application to be executed, the processing speed of which is faster when the GPU memory is used than the processing speed when the CPU memory is used.
  • the selection unit may select, from the at least two information processing platforms, an information processing platform on which to execute the application to be executed, the processing speed of which is faster when the GPU memory is used than the processing speed when the CPU memory is used.
  • the receiving unit may receive the execution request for the application, the execution request including processing content information indicating processing content of the application to be executed, which indicates that the processing speed when the CPU memory is used is faster than the processing speed when the GPU memory is used, and the selection unit may select, from the at least two information processing platforms, an information processing platform in which the amount of free resources in the CPU memory is equal to or greater than the amount of allocated resources, as the information processing platform on which the application to be executed, whose processing speed when the application to be executed is executed using the CPU memory is faster than the processing speed when the application to be executed using the GPU memory, is executed.
  • Any of the management platforms may further include an instruction unit that instructs the information processing platform selected by the selection unit to deploy a virtualization platform that runs the application to be executed.
  • a program is provided that, when executed by a computer, causes the computer to function as any one of the management platforms described above.
  • an information processing system may include any one of the management platforms described above.
  • the information processing system may include multiple of the information processing platforms described above.
  • a management method executed by a management platform that manages information processing platforms having memory resources including GPU memory and CPU memory may include an acquisition step of acquiring free memory resource amount information indicating the free resource amount of the memory resources of each of the plurality of information processing platforms, and application count information indicating the number of applications currently running on each of the plurality of information processing platforms.
  • the management method may include a reception step of receiving an application execution request.
  • the management method may include a selection step of selecting, from the plurality of information processing platforms, an information processing platform with the fewest running applications as the information processing platform on which to execute the target application, based on allocated resource amount information indicating the allocated resource amount of memory resources that must be allocated to execute the target application, the free memory resource amount information, and the application count information, all of which are included in the execution request.
  • FIG. 1 illustrates an example of a system 10 in schematic form.
  • FIG. 2 is an explanatory diagram for explaining an example of a processing flow of the system 10.
  • FIG. 2 is an explanatory diagram for explaining an example of a processing flow of the system 10.
  • FIG. 2 is an explanatory diagram for explaining an example of a processing flow of the system 10.
  • FIG. 2 is an explanatory diagram for explaining an example of a processing flow of the system 10.
  • FIG. 2 is an explanatory diagram for explaining an example of a processing flow of the system 10.
  • FIG. 2 is an explanatory diagram for explaining an example of a processing flow of the system 10.
  • FIG. 2 is an explanatory diagram for explaining an example of a processing flow of the system 10.
  • FIG. 2 is an explanatory diagram for explaining an example of a processing flow of the system 10.
  • FIG. 2 illustrates an example of a functional configuration of a management base 100.
  • 2 illustrates an example of a functional configuration of an information processing infrastructure 200.
  • FIG. 2 is an explanatory diagram illustrating an example of a processing flow of the management board 100.
  • FIG. 2 is an explanatory diagram illustrating an example of a processing flow of the management board 100.
  • 1 shows an example of a hardware configuration of a computer 1200 that functions as the management infrastructure 100 or the information processing infrastructure 200.
  • GPU applications using GPUs required dedicated GPU memory separate from the CPU's main memory.
  • GPU memory was typically built into the GPU chip.
  • one GPU chip might have 40 GB of GPU memory, while another might have 80 GB of GPU memory.
  • GPU applications which are virtualized software such as virtual machines and containers, are generally executed by deploying programs and data to GPU memory.
  • one GPU executed one or multiple GPU applications.
  • technologies that use the CPU's main memory as GPU memory, allowing a GPU server equipped with the CPU's main memory and GPU memory to directly execute a GPU application.
  • technologies have emerged in which multiple GPU servers equipped with GPU memory are connected via Ethernet (registered trademark) or InfiniBand, allowing multiple GPU servers to execute a single GPU application.
  • Condition 1 which has the highest priority, is to select the GPU server that is running the fewest GPU workloads (GPU workloads may also be referred to as GPU applications).
  • Condition 2 which has the second highest priority, is to select multiple GPU servers so that, when multiple GPU servers execute a GPU application, the GPU application is executed on as few servers as possible.
  • Condition 3 which has the third highest priority, is to select a GPU server with the least amount of free GPU resources.
  • FIG. 1 shows a schematic diagram of an example of a system 10.
  • the system 10 may include a management infrastructure 100.
  • the system 10 may include multiple information processing infrastructures 200.
  • the management infrastructure 100 and multiple information processing infrastructures 200 may cooperate to control the RAN (Radio Access Network) 300 and perform AI (Artificial Intelligence) processing.
  • the system 10 may be an example of an information processing system.
  • RAN 300 may be a virtualized vRAN (Virtual RAN), and system 10 may control the vRAN.
  • RAN 300 may be a physical RAN, and system 10 may control the physical RAN.
  • the case where RAN 300 is a vRAN will be mainly described as an example.
  • AI processing includes AI processing related to RAN control (sometimes referred to as RAN-controlled AI processing) and AI processing not related to RAN control (sometimes referred to as non-RAN-controlled AI processing).
  • RIC Radio Network Controller
  • RIC is a technology that uses AI to optimize RAN300 radio resources and automate RAN operations.
  • RIC includes Non-RT RIC and Near-RT RIC (Near-Real Time RIC).
  • Non-RT RIC is sometimes called Centralized RIC.
  • Non-RT RIC is located within SMO (Service Management and Orchestration), which manages and orchestrates RAN300.
  • SMO Service Management and Orchestration
  • Non-RT RIC generates and notifies policies related to the control of RAN300 and sends information to Near-RT RIC.
  • the Non-RT RIC performs machine learning using data collected from the RAN 300 to generate a trained model for RAN control and transmits it to the Near-RT RIC.
  • the Near-RT RIC is sometimes called a Distributed RIC.
  • the Near-RT RIC is located closer to the RAN nodes (RU (Radio Unit), DU (Distributed Unit), CU (Central Unit)) and controls the RAN nodes and resources, etc. Compared to the Non-RT RIC, the Near-RT RIC performs processing with higher real-time performance.
  • the Near-RT RIC performs inference processing related to the control of the RAN 300 using, for example, the trained model acquired from the Non-RT RIC.
  • RAN control AI processing is not limited to RIC.
  • Non-RAN controlled AI processing may correspond to so-called MEC (Multi-access Edge Computing) applications.
  • Examples of non-RAN controlled AI processing include, but are not limited to, monitoring AI execution processing that determines the situation within the imaging range of an input captured image, and response AI execution processing that outputs a response to an input user inquiry.
  • the AI processing performed by system 10 may include RAN-controlled AI processing (sometimes referred to as RAN_AI).
  • the AI processing performed by system 10 may include non-RAN-controlled AI processing (sometimes referred to as non-RAN_AI).
  • the information processing infrastructure 200 may be a data center located in various locations.
  • the information processing infrastructure 200 may be configured with multiple devices.
  • the information processing infrastructure 200 may be realized on a virtualization infrastructure consisting of multiple devices.
  • the information processing infrastructure 200 may also be realized by a single device. In other words, the information processing infrastructure 200 may be an information processing device.
  • the information processing infrastructure 200 is, for example, located on a core network.
  • the core network may include both areas inside and outside the core network.
  • the core network may be compliant with any mobile communication system.
  • the core network may be compliant with a 5G (5th Generation) communication system.
  • the core network may be compliant with a 6G (6th Generation) communication system or later mobile communication system.
  • the core network may be compliant with a 3G (3rd Generation) communication system or an LTE (Long Term Evolution) communication system.
  • the management infrastructure 100 may be a data center that manages multiple information processing infrastructures 200.
  • the management infrastructure 100 may be configured with multiple devices.
  • the management infrastructure 100 may be realized on a virtualization platform made up of multiple devices.
  • the management infrastructure 100 may also be realized by a single device. In other words, the management infrastructure 100 may be a management device.
  • the management infrastructure 100 is placed, for example, on a core network. If the management infrastructure 100 is a management device, it may be placed on the Internet.
  • a data center may include multiple physical servers.
  • a data center may include approximately 100 physical servers.
  • the data center is, for example, a micro data center.
  • the data center may also be any other data center.
  • the management infrastructure 100 may be called the Core Brain, and the information processing infrastructure 200 may be called the Regional Brain.
  • Figure 1 illustrates an example in which a single-level information processing infrastructure 200 is placed below the management infrastructure 100, this is not limiting.
  • the information processing infrastructure 200 may also have multiple levels. For example, if a two-level information processing infrastructure 200 is placed below the management infrastructure 100, the management infrastructure 100 may be called the Core Brain, the information processing infrastructure 200 at the level below that may be called the Regional Brain, and the information processing infrastructure 200 at the level further below that may be called the Sub-Regional Brain.
  • the information processing infrastructure 200 may be configured with one or more computational resources 220.
  • the information processing infrastructure 200 may be configured with one or more CPUs 222.
  • the information processing infrastructure 200 may be configured with one or more GPUs 224.
  • the information processing infrastructure 200 may be configured with multiple super chips, in which the CPUs 222 and GPUs 224 are connected via an interconnect. This interconnect may have memory consistency and be capable of achieving high bandwidth and low latency. In this way, the information processing infrastructure 200 may have CPU resources and GPU resources as computational resources.
  • the information processing infrastructure 200 may be provided with one or more memory resources 240.
  • the information processing infrastructure 200 may be provided with one or more CPU memories 242.
  • the information processing infrastructure 200 may be provided with one or more GPU memories 244.
  • the information processing infrastructure 200 may have a CPU memory 242 and a GPU memory 244 as memory resources 240.
  • Multiple information processing platforms 200 may be connected via a switch 280.
  • the switch 280 is, for example, an L2 switch.
  • the switch 280 is, for example, an InfiniBand switch. In this way, by connecting multiple information processing platforms 200 via the switch 280, the multiple information processing platforms 200 can cooperatively execute a single application.
  • the management infrastructure 100 manages, for example, an information processing infrastructure 200 having memory resources 240 including a GPU memory 244 and a CPU memory 242.
  • the management infrastructure 100 manages, for example, multiple information processing infrastructures 200.
  • the management infrastructure 100 acquires usage status information indicating the usage status of each of the multiple information processing infrastructures 200, and manages the information processing infrastructures 200 based on the acquired usage status information.
  • the management infrastructure 100 for example, acquires usage status information of each information processing infrastructure 200 by receiving usage status information of the information processing infrastructure 200 from each of the multiple information processing infrastructures 200.
  • the usage status information is, for example, data in table format.
  • the usage information includes, for example, memory resource amount information indicating the amount of memory resources used by each of the multiple information processing infrastructures 200 using the memory resources 240.
  • the usage information includes, for example, free memory resource amount information indicating the amount of free memory resources in the memory resources 240 of each of the multiple information processing infrastructures 200.
  • the usage information includes, for example, application count information indicating the number of applications currently running on each of the multiple information processing infrastructures 200.
  • Applications running on the information processing infrastructure 200 include, for example, GPU applications.
  • Applications running on the information processing infrastructure 200 include, for example, CPU applications. Therefore, the number of applications running on the information processing infrastructure 200 indicated by the application count information may be the sum of the number of GPU applications running on the information processing infrastructure 200 and the number of CPU applications running on the information processing infrastructure 200.
  • Each of the multiple information processing platforms 200 executes, for example, an application.
  • Each information processing platform 200 executes, for example, an application using the computing resources 220.
  • Each information processing platform 200 executes, for example, an application using the memory resources 240.
  • Each information processing infrastructure 200 executes, for example, a GPU application. Each information processing infrastructure 200 executes, for example, a GPU application using the GPU memory 244. Each information processing infrastructure 200 executes, for example, a GPU application using the CPU memory 242. Each information processing infrastructure 200 executes, for example, a GPU application using both the GPU memory 244 and the CPU memory 242. Each information processing infrastructure 200 may execute a CPU application.
  • Each information processing infrastructure 200 executes applications, for example, by deploying a virtualization infrastructure that executes the applications.
  • the virtualization infrastructure is, for example, a virtual machine-type virtualization infrastructure.
  • the virtualization infrastructure is, for example, a container-type virtualization infrastructure.
  • Each information processing infrastructure 200 has, for example, an execution unit that includes a RAN control function that controls the functions of the RAN 300.
  • the RAN control function controls the functions of the RAN 300, for example, by executing RAN_AI.
  • the RAN control function may also control the functions of the RAN 300 by executing any other processing.
  • the RAN control function controls the radio base stations 40 that make up the RAN 300.
  • the RAN control function controls the radio base stations 40 so that they form a radio communication area using an antenna and provide mobile communication services to communication terminals 50 within the radio communication area.
  • the communication terminal 50 is a mobile phone such as a smartphone.
  • the communication terminal 50 may also be a tablet terminal, a PC (Personal Computer), etc.
  • the communication terminal 50 may also be a so-called IoT (Internet of Things) device.
  • the communication terminal 50 may include anything that falls under the so-called IoE (Internet of Everything) category.
  • the management infrastructure 100 manages the information processing infrastructure 200 based on information about the amount of free memory resources and information about the number of applications for each of the multiple information processing infrastructures 200.
  • the management infrastructure 100 receives an application execution request from a user of the system 10.
  • the execution request includes, for example, allocated resource amount information indicating the allocated resource amount of memory resources 240 that needs to be allocated to execute the application to be executed.
  • a user of system 10 is, for example, an administrator of RAN 300.
  • a user of system 10 may also be any other user.
  • the management infrastructure 100 selects an information processing infrastructure 200 that will execute the application to be executed from among the multiple information processing infrastructures 200 managed by the management infrastructure 100, based on, for example, the allocated resource amount information, free memory resource amount information, and application count information included in the execution request.
  • the management infrastructure 100 selects the information processing infrastructure 200 with the fewest number of running applications as the information processing infrastructure 200 that will execute the application to be executed.
  • the management infrastructure 100 selects the information processing infrastructure 200 with the fewest number of running applications and with the amount of free memory resources 240 that is equal to or greater than the allocated resource amount as the information processing infrastructure 200 that will execute the application to be executed.
  • the management infrastructure 100 may instruct the selected information processing infrastructure 200 to deploy a virtualization infrastructure that will execute the target application.
  • the information processing infrastructure 200 may deploy the virtualization infrastructure in accordance with the instructions from the management infrastructure 100 and execute the target application.
  • the management infrastructure 100 selects the information processing infrastructure 200 with the fewest number of running applications from among the multiple information processing infrastructures 200 managed by the management infrastructure 100 as the information processing infrastructure 200 that will execute the application targeted for execution of the execution request, based on the allocated resource amount information, free memory resource amount information, and application count information included in the received execution request.
  • the management infrastructure 100 can automatically allocate memory resources when executing a GPU application by incorporating the above-mentioned technological innovation.
  • the management infrastructure 100 can further reduce the allocation wait time, which is the wait time until resources are allocated to the application targeted for execution. Furthermore, by having the information processing infrastructure 200 with the fewest running applications execute the target application, the management infrastructure 100 can equalize the number of running applications among the multiple information processing infrastructures 200, thereby suppressing an increase in allocation wait time caused by a disparity in the number of running applications among the multiple information processing infrastructures 200. Reducing the allocation wait time reduces execution delays when the target application is executed, allowing the management infrastructure 100 to appropriately allocate memory resources when incorporating the above-mentioned technological innovation to execute a GPU application. As a result, the system 10 according to this embodiment can automatically and appropriately allocate memory resources when incorporating the above-mentioned technological innovation to execute a GPU application.
  • FIGS 2 to 9 are explanatory diagrams illustrating an example of the processing flow of system 10.
  • management infrastructure 100 manages three information processing infrastructures: information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3, which have similar functions to information processing infrastructure 200.
  • the management infrastructure 100 stores, for example, performance information indicating the performance of the information processing infrastructure 200.
  • the performance information is, for example, data in table format.
  • the performance information includes, for example, a platform ID that identifies the information processing platform 200.
  • the performance information includes, for example, CPU memory performance information that indicates the performance of the CPU memory 242.
  • the performance information includes, for example, GPU memory performance information that indicates the performance of the GPU memory 244.
  • the performance information includes, for example, memory resource performance information that indicates the performance of the memory resource 240.
  • the management platform 100 stores the following performance information.
  • the management infrastructure 100 stores, for example, executed application information indicating the application currently being executed by the information processing infrastructure 200.
  • the executed application information includes, for example, an application ID that identifies the application currently being executed by the information processing infrastructure 200.
  • the executed application information includes, for example, allocated resource amount information that indicates the allocated resource amount of memory resources 240 that is allocated to the application currently being executed by the information processing infrastructure 200.
  • the executed application information is, for example, data in table format.
  • the management infrastructure 100 when the management infrastructure 100 receives a request to execute an application from a user 400, it selects an information processing infrastructure 200 from multiple information processing infrastructures 200 that will execute the application to be executed, in accordance with the following selection conditions 1, 2, and 3, and instructs the selected information processing infrastructure 200 to deploy a virtualization infrastructure that will execute the application to be executed.
  • selection conditions 1, 2, and 3 selection condition 1 has the highest priority
  • selection condition 2 has the second highest priority
  • selection condition 3 has the third highest priority.
  • Selection condition 1 which has the highest priority, is to select the information processing infrastructure 200 with the fewest number of running applications as the information processing infrastructure 200 that will execute the application to be executed.
  • Selection condition 2 which has the second highest priority, is to select the information processing infrastructure 200 so that the number of information processing infrastructures 200 that will execute the application to be executed is the fewest.
  • Selection condition 3 which has the third highest priority, is to select the information processing infrastructure 200 with the least amount of free memory resources 240 as the information processing infrastructure 200 that will execute the application to be executed.
  • the management infrastructure 100 can further reduce the allocation wait time.
  • the management infrastructure 100 can further reduce the risk of application execution being stopped due to a failure or the like that occurs in the information processing infrastructure 200.
  • selection condition 3 for the information processing infrastructure 200 that will execute the application to be executed the management infrastructure 100 can further suppress the subdivision of free resources in the memory resource 240, and as a result, can promote the selection of information processing infrastructures 200 that will execute the application to be executed so that the number of information processing infrastructures 200 is reduced.
  • the starting state is a state in which information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3 are not running any applications.
  • Step 1 shown in FIG. 3 the management infrastructure 100 receives an application execution request from the user 400.
  • the allocation will continue assuming that the allocated resource amount indicated by the allocated resource amount information included in the execution request is 250 GB.
  • the management infrastructure 100 selects from information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3 an information processing infrastructure that will execute the application for which the execution request was received in Step 1 shown in FIG. 3 is to be executed. For example, the management infrastructure 100 selects the information processing infrastructure with the fewest number of running applications in accordance with selection condition 1. In Step 2 shown in FIG. 3, since the number of running applications on all of information processing infrastructures 1, 2, and 3 is zero, the management infrastructure 100 selects information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3 in accordance with selection condition 1.
  • the management infrastructure 100 selects, in accordance with selection condition 2, from information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3 selected by selection condition 1, an information processing infrastructure that will execute the target application in the fewest number of information processing infrastructures.
  • the management infrastructure 100 selects an information processing infrastructure that will execute the target application in the fewest number of information processing infrastructures, for example, by comparing the free resource amount and allocated resource amount of the memory resource 240 of each information processing infrastructure.
  • the free resource amount of the memory resource 240 of information processing infrastructure 1 is 300 GB, and the free resource amount of the memory resource 240 of information processing infrastructure 2 is 400 GB, so the free resource amount of the memory resource 240 of information processing infrastructure 1 and the free resource amount of the memory resource 240 of information processing infrastructure 2 are greater than the allocated resource amount of 250 GB.
  • the free resource amount of the memory resource 240 of information processing infrastructure 3 is 150 GB, which is less than the allocated resource amount of 250 GB. Therefore, if information processing infrastructure 1 or information processing infrastructure 2 executes the target application, the target application can be executed on the fewest number of information processing infrastructures, so the management infrastructure 100 selects information processing infrastructure 1 and information processing infrastructure 2 in accordance with selection condition 2.
  • the management infrastructure 100 selects, from among Information Processing Infrastructure 1 and Information Processing Infrastructure 2 selected by Selection Condition 1 and Selection Condition 2, the information processing infrastructure with the least amount of free memory resources 240 as the information processing infrastructure on which to execute the target application.
  • the free memory resources 240 of Information Processing Infrastructure 1 are 300 GB
  • the free memory resources 240 of Information Processing Infrastructure 2 are 400 GB. Therefore, the management infrastructure 100 selects Information Processing Infrastructure 1, which has the least amount of free memory resources 240, as the information processing infrastructure on which to execute the target application.
  • Step 3 shown in FIG. 3 the management infrastructure 100 instructs the information processing infrastructure 1 selected in Step 2 shown in FIG. 3 to deploy a virtualization infrastructure that will execute the application to be executed.
  • Step 4 shown in FIG. 3 the information processing infrastructure 1 deploys the virtualization infrastructure in accordance with the instruction from the management infrastructure 100 and executes the application to be executed.
  • the management infrastructure 100 may update the executing application information and usage status information in response to an instruction to deploy a virtualization infrastructure that will execute the application to be executed on the information processing infrastructure selected as the information processing infrastructure that will execute the application to be executed in the execution request.
  • the management infrastructure 100 updates the executing application information and usage status information, for example, by assigning an application ID to the application to be executed.
  • the management infrastructure 100 may update the executing application information and usage status information as shown in FIG. 3 in response to an instruction to deploy the virtualization infrastructure to the information processing infrastructure 1 in Step 3 shown in FIG. 3.
  • the explanation will continue assuming that the management infrastructure 100 has assigned application ID "0001" to the application to be executed.
  • the management infrastructure 100 may update the executed application information to indicate that 250 GB of memory resources 240 have been allocated to the application with application ID "0001".
  • the management infrastructure 100 may update the usage information to indicate that, when the information processing infrastructure 1 with infrastructure ID "0001" uses 250 GB of memory resources 240 to execute the application with application ID "0001", the number of running applications on the information processing infrastructure 1 increases from “0" to "1” and the amount of free resource in the memory resources 240 of the information processing infrastructure 1 decreases from "300 GB" to "50 GB".
  • Step 5 shown in FIG. 4 the management infrastructure 100 receives an application execution request from the user 400.
  • the allocation will continue assuming that the allocated resource amount indicated by the allocated resource amount information included in the execution request is 150 GB.
  • Step 6 shown in FIG. 4 the management infrastructure 100 selects from information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3 an information processing infrastructure that will execute the application for which the execution request was received in Step 5 shown in FIG. 4 is to be executed. For example, the management infrastructure 100 selects the information processing infrastructure with the fewest number of running applications in accordance with selection condition 1. In Step 6 shown in FIG. 4, since the number of running applications on information processing infrastructure 2 and information processing infrastructure 3 is 0 and the number of running applications on information processing infrastructure 1 is 1, the management infrastructure 100 selects information processing infrastructure 2 and information processing infrastructure 3 in accordance with selection condition 1.
  • the management infrastructure 100 selects, in accordance with selection condition 2, from information processing infrastructure 2 and information processing infrastructure 3 selected under selection condition 1, an information processing infrastructure that will execute the target application on the fewest number of information processing infrastructures.
  • the free resource amount of the memory resource 240 of information processing infrastructure 2 is 400 GB
  • the free resource amount of the memory resource 240 of information processing infrastructure 3 is 150 GB
  • the free resource amount of the memory resource 240 of information processing infrastructure 2 and the free resource amount of the memory resource 240 of information processing infrastructure 3 are equal to or greater than the allocated resource amount of 150 GB. Therefore, if information processing infrastructure 2 or information processing infrastructure 3 executes the target application, the target application can be executed on the fewest number of information processing infrastructures, so the management infrastructure 100 selects information processing infrastructure 2 and information processing infrastructure 3 in accordance with selection condition 2.
  • the management infrastructure 100 selects, from among Information Processing Infrastructure 2 and Information Processing Infrastructure 3 selected under Selection Condition 1 and Selection Condition 2, the information processing infrastructure with the least amount of free memory resources 240 as the information processing infrastructure on which to execute the target application.
  • the free memory resources 240 of Information Processing Infrastructure 2 are 400 GB
  • the free memory resources 240 of Information Processing Infrastructure 3 are 150 GB. Therefore, the management infrastructure 100 selects Information Processing Infrastructure 3, which has the least amount of free memory resources 240, as the information processing infrastructure on which to execute the target application.
  • Step 7 shown in FIG. 4 the management infrastructure 100 instructs the information processing infrastructure 3 selected in Step 6 shown in FIG. 4 to deploy a virtualization infrastructure that will execute the application to be executed.
  • Step 8 shown in FIG. 4 the information processing infrastructure 3 deploys the virtualization infrastructure in accordance with the instruction from the management infrastructure 100 and executes the application to be executed.
  • Step 7 shown in FIG. 4 the management infrastructure 100 may update the running application information and usage status information as shown in FIG. 4 in response to instructing the information processing infrastructure 3 to deploy a virtualization infrastructure that will execute the application to be executed.
  • the management infrastructure 100 has assigned application ID "0002" to the application to be executed.
  • the management infrastructure 100 may update the executed application information to indicate that 150 GB of memory resources 240 have been allocated to the application with application ID "0002".
  • the management infrastructure 100 may update the usage information to indicate that, when the information processing infrastructure 3 with infrastructure ID "0003" uses 150 GB of memory resources 240 to execute the application with application ID "0002", the number of applications running on the information processing infrastructure 3 increases from “0” to "1", and the amount of free resource in the memory resources 240 of the information processing infrastructure 3 decreases from "150 GB" to "0 GB".
  • Step 9 shown in FIG. 5 the management infrastructure 100 receives an application execution request from the user 400.
  • the allocation will continue assuming that the allocated resource amount indicated by the allocated resource amount information included in the execution request is 300 GB.
  • Step 10 shown in FIG. 5 the management infrastructure 100 selects from information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3 an information processing infrastructure that will execute the application for which the execution request was received in Step 9 shown in FIG. 5 is to be executed.
  • the management infrastructure 100 selects the information processing infrastructure with the fewest number of running applications in accordance with selection condition 1.
  • the management infrastructure 100 selects information processing infrastructure 2 in accordance with selection condition 1.
  • the management infrastructure 100 selects an information processing infrastructure so that the number of information processing infrastructures on which to execute the application to be executed is the smallest.
  • the amount of free resource in the memory resource 240 of information processing infrastructure 2 is 400 GB, which is more than the allocated resource amount of 300 GB, so the management infrastructure 100 determines that information processing infrastructure 2 can execute the application to be executed alone. Therefore, when information processing infrastructure 2 executes the application to be executed alone, the application to be executed can be executed on the fewest number of information processing infrastructures, so the management infrastructure 100 selects information processing infrastructure 2 as the information processing infrastructure on which to execute the application to be executed.
  • Step 11 shown in FIG. 5 the management infrastructure 100 instructs the information processing infrastructure 2 selected in Step 10 shown in FIG. 5 to deploy a virtualization infrastructure that will execute the application to be executed.
  • Step 12 shown in FIG. 5 the information processing infrastructure 2 deploys the virtualization infrastructure in accordance with the instruction from the management infrastructure 100 and executes the application to be executed.
  • the management infrastructure 100 may update the running application information and usage status information as shown in FIG. 5 in response to instructing the information processing infrastructure 2 to deploy a virtualization infrastructure that will execute the application to be executed.
  • the management infrastructure 100 has assigned application ID "0003" to the application to be executed.
  • the management infrastructure 100 may update the executed application information to indicate that 300 GB of memory resources 240 have been allocated to the application with application ID "0003".
  • the management infrastructure 100 may update the usage information to indicate that, when the information processing infrastructure 2 with infrastructure ID "0002" uses 300 GB of memory resources 240 to execute the application with application ID "0003", the number of running applications on the information processing infrastructure 2 increases from 0 to 1, and the amount of free resource in the memory resources 240 of the information processing infrastructure 2 decreases from 400 GB to 100 GB.
  • Step 13 shown in FIG. 6 the management infrastructure 100 receives an application execution request from the user 400.
  • the allocated resource amount indicated by the allocated resource amount information included in the execution request is 150 GB.
  • the management infrastructure 100 selects from information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3 an information processing infrastructure that will execute the application for which the execution request was received in Step 13 shown in FIG. 6 is to be executed. For example, the management infrastructure 100 selects the information processing infrastructure with the fewest number of running applications in accordance with selection condition 1. In Step 14 shown in FIG. 6, since the number of running applications on information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3 is all one, the management infrastructure 100 selects information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3 in accordance with selection condition 1.
  • the management infrastructure 100 selects, in accordance with selection condition 2, from information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3 selected under selection condition 1, an information processing infrastructure that will execute the target application on the fewest number of information processing infrastructures.
  • the free resource amount of the memory resource 240 of information processing infrastructure 1 is 50 GB
  • the free resource amount of the memory resource 240 of information processing infrastructure 2 is 100 GB
  • the free resource amount of the memory resource 240 of information processing infrastructure 3 is 0 GB. Therefore, the free resource amount of the memory resource 240 of information processing infrastructure 1, the free resource amount of the memory resource 240 of information processing infrastructure 2, and the free resource amount of the memory resource 240 of information processing infrastructure 3 are all less than the allocated resource amount of 150 GB. Therefore, the management infrastructure 100 determines that none of information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3 can execute the target application on their own.
  • the management platform 100 may determine whether the total free resource amount of the memory resources 240 of the information processing platforms selected under Selection Condition 1 is equal to or greater than the allocated resource amount.
  • the total of the free resource amount of the memory resources 240 of Information Processing Platform 1, Information Processing Platform 2, and Information Processing Platform 3 is 150 GB. Therefore, the management platform 100 determines that the total of the free resource amount of the memory resources 240 of Information Processing Platform 1, Information Processing Platform 2, and Information Processing Platform 3 is equal to or greater than the allocated resource amount of 150 GB.
  • the management infrastructure 100 determines that the total free resource amount of the memory resources 240 of the information processing infrastructures selected under selection condition 1 is the allocated resource amount, it selects at least two information processing infrastructures as the information processing infrastructures on which to execute the target application so that the total free resource amount of the memory resources 240 is equal to or greater than the allocated resource amount and the number of information processing infrastructures is minimized.
  • Step 14 shown in Figure 6 if two information processing infrastructures, information processing infrastructure 1 and information processing infrastructure 2, are selected, the total free resource amount of the memory resources 240 of information processing infrastructure 1 and the free resource amount of the memory resources 240 of information processing infrastructure 2 will be 150 GB.
  • the total free resource amount of the memory resources 240 of information processing infrastructure 1 and the free resource amount of the memory resources 240 of information processing infrastructure 2 is equal to or greater than the allocated resource amount of 150 GB. Therefore, when information processing infrastructure 1 and information processing infrastructure 2 execute the target application, the target application can be executed on the fewest number of information processing infrastructures, so the management infrastructure 100 selects information processing infrastructure 1 and information processing infrastructure 2 as the information processing infrastructures on which to execute the target application.
  • Step 15 shown in FIG. 6 the management infrastructure 100 instructs the information processing infrastructure 1 and information processing infrastructure 2 selected in Step 14 shown in FIG. 6 to deploy a virtualization infrastructure that will execute the application to be executed.
  • Step 16 shown in FIG. 6 the information processing infrastructure 1 and information processing infrastructure 2 deploy the virtualization infrastructure in accordance with the instruction from the management infrastructure 100 and execute the application to be executed.
  • the management infrastructure 100 may update the executed application information and usage status information as shown in FIG. 6.
  • the explanation will continue assuming that the management infrastructure 100 has assigned application ID "0004" to the application to be executed.
  • the management infrastructure 100 may update the executed application information to indicate that 150 GB of memory resources 240 have been allocated to the application with application ID "0004".
  • the management infrastructure 100 may update the usage information to indicate that, when information processing infrastructure 1 with infrastructure ID "0001" uses 50 GB of memory resources 240 and information processing infrastructure 2 with infrastructure ID "0002" uses 100 GB of memory resources 240 to execute the application with application ID "0004", the number of running applications on information processing infrastructure 1 increases from 1 to 2 and the amount of free memory resources 240 on information processing infrastructure 1 decreases from 100 GB to 0 GB, and the number of running applications on information processing infrastructure 2 increases from 1 to 2 and the amount of free memory resources 240 on information processing infrastructure 2 decreases from 50 GB to 0 GB.
  • Step 17 shown in FIG. 7 the management infrastructure 100 receives a request from the user 400 to suspend an application with application ID "0004".
  • Step 18 shown in FIG. 7 the management infrastructure 100 instructs the information processing infrastructure 1 and the information processing infrastructure 2, which are currently executing the application to be suspended in response to the suspension request received in Step 17 shown in FIG. 7, to suspend the application to be suspended.
  • Step 19 shown in FIG. 7 the information processing infrastructure 1 and the information processing infrastructure 2 suspend the application to be suspended in accordance with the instruction from the management infrastructure 100.
  • Step 20 shown in FIG. 8 the management infrastructure 100 receives a request from the user 400 to terminate an application with application ID "0002".
  • Step 21 shown in FIG. 8 the management infrastructure 100 instructs the information processing infrastructure 3, which is currently executing the application to be terminated in response to the termination request received in Step 20 shown in FIG. 8, to terminate the application to be terminated.
  • Step 22 shown in FIG. 8 the information processing infrastructure 3 terminates the application to be terminated in accordance with the instruction from the management infrastructure 100.
  • the management infrastructure 100 may update the running application information and usage status information as shown in FIG. 8.
  • the management infrastructure 100 may update the executed application information to delete information about the application with application ID "0002".
  • the management infrastructure 100 may update the usage information to indicate that when the information processing infrastructure 3 with infrastructure ID "0003" ends execution of the application with application ID "0002", the number of applications running on the information processing infrastructure 3 decreases from “1” to "0", and the amount of free resource in the memory resource 240 of the information processing infrastructure 3 increases from "0 GB" to "150 GB".
  • Step 23 shown in FIG. 9 the management infrastructure 100 receives a restart request from the user 400 for an application with application ID "0004".
  • Step 24 shown in FIG. 9 the management infrastructure 100 selects from information processing infrastructure 1, information processing infrastructure 2, and information processing infrastructure 3 an information processing infrastructure that will execute the application to be resumed in accordance with the restart request received in Step 23 shown in FIG. 9.
  • the management infrastructure 100 selects the information processing infrastructure with the fewest number of running applications in accordance with selection condition 1.
  • Step 24 shown in FIG. 9 since the number of running applications on information processing infrastructure 3 is 0 and the number of running applications on information processing infrastructure 1 and information processing infrastructure 2 is 1, the management infrastructure 100 selects information processing infrastructure 3 in accordance with selection condition 1.
  • the management infrastructure 100 selects the information processing infrastructure so that the number of information processing infrastructures on which to execute the application to be resumed is the smallest.
  • the amount of free resource in the memory resource 240 of information processing infrastructure 3 is 150 GB, which is greater than or equal to 150 GB of the allocated resource amount of the application to be resumed, so the management infrastructure 100 determines that information processing infrastructure 3 can execute the application to be resumed alone.
  • the application to be resumed can be executed with the fewest number of information processing infrastructures, so the management infrastructure 100 selects information processing infrastructure 3 as the information processing infrastructure on which to execute the application to be resumed.
  • Step 25 shown in FIG. 9 the management infrastructure 100 instructs the information processing infrastructure 1 and the information processing infrastructure 2 to migrate the virtualization infrastructure that executes the application to be resumed to the information processing infrastructure 3 selected in Step 24 shown in FIG. 9.
  • Step 26 shown in FIG. 9 the information processing infrastructure 1 and the information processing infrastructure 2 change the virtualization infrastructure to the information processing infrastructure 3 in accordance with the instruction from the management infrastructure 100. Thereafter, the information processing infrastructure 3 executes the application to be resumed.
  • the management infrastructure 100 may update the usage information as shown in FIG. 9.
  • the management infrastructure 100 may update the usage information to indicate that, as a result of information processing infrastructure 1 with infrastructure ID "0001" and information processing infrastructure 2 with infrastructure ID "0002" migrating the virtualization infrastructures running an application with application ID "0004" to information processing infrastructure 3, the number of running applications on information processing infrastructure 1 decreases from “2" to "1” and the amount of free resource in the memory resource 240 of information processing infrastructure 1 increases from “0 GB” to "50 GB”, the number of running applications on information processing infrastructure 2 decreases from “2” to "1” and the amount of free resource in the memory resource 240 of information processing infrastructure 2 increases from “0 GB” to "100 GB”, and the number of running applications on information processing infrastructure 3 increases from “0” to "1” and the amount of free resource in the memory resource 240 of information processing infrastructure 3
  • FIG 10 shows an example of the functional configuration of the management infrastructure 100.
  • the management infrastructure 100 comprises a storage unit 102, an acquisition unit 104, a reception unit 106, a selection unit 108, and an instruction unit 110. Note that it is not essential for the management infrastructure 100 to have all of these components.
  • the storage unit 102 stores various types of information. For example, the storage unit 102 stores performance information for each of the multiple information processing platforms 200. For example, the storage unit 102 associates a platform ID with CPU memory performance information, GPU memory performance information, and memory resource performance information, and stores this as performance information for each information processing platform 200.
  • the storage unit 102 stores, for example, information about the applications being executed on each information processing platform 200.
  • the storage unit 102 associates, for example, an application ID with allocated resource amount information and stores this as the information about the applications being executed on each information processing platform 200.
  • the storage unit 102 stores, for example, usage status information for each information processing infrastructure 200.
  • the storage unit 102 associates, for example, the infrastructure ID of each information processing infrastructure 200, information on the number of applications for each information processing infrastructure 200, the application IDs of applications running on each information processing infrastructure 200, information on the amount of memory resources used for each information processing infrastructure 200, and information on the amount of free memory resources for each information processing infrastructure 200, and stores this as usage status information for each information processing infrastructure 200.
  • the memory resource amount information for each information processing platform 200 includes, for example, GPU memory resource amount information indicating the amount of resources used by each information processing platform 200 using the GPU memory 244.
  • the memory resource amount information for each information processing platform 200 includes, for example, CPU memory resource amount information indicating the amount of resources used by each information processing platform 200 using the CPU memory 242.
  • the free memory resource amount information for each information processing infrastructure 200 includes, for example, free GPU memory resource amount information indicating the free resource amount of the GPU memory 244 of each information processing infrastructure 200.
  • the free memory resource amount information for each information processing infrastructure 200 includes, for example, free CPU memory resource amount information indicating the free resource amount of the CPU memory 242 of each information processing infrastructure 200.
  • the acquisition unit 104 acquires various information.
  • the acquisition unit 104 may store the acquired information in the storage unit 102.
  • the acquisition unit 104 acquires various information from, for example, the information processing infrastructure 200.
  • the acquisition unit 104 acquires various information from, for example, each of the multiple information processing infrastructures 200.
  • the acquisition unit 104 acquires various information, for example, via a core network.
  • the acquisition unit 104 may also acquire various information via the Internet.
  • the acquisition unit 104 acquires information about the amount of free memory resources for each information processing infrastructure 200.
  • the acquisition unit 104 acquires information about the number of applications for each information processing infrastructure 200.
  • the acquisition unit 104 for example, acquires usage status information for each information processing infrastructure 200.
  • the reception unit 106 receives various requests.
  • the reception unit 106 receives various requests, for example, by receiving the various requests.
  • the reception unit 106 receives various requests, for example, via a core network.
  • the reception unit 106 receives various requests, for example, via the Internet.
  • the reception unit 106 receives various requests, for example, from a communication device owned by the user 400.
  • the reception unit 106 may also receive various requests via an input unit provided in the management infrastructure 100.
  • the reception unit 106 receives an application execution request.
  • the execution request includes, for example, allocated resource amount information for the application to be executed.
  • the execution request includes, for example, processing content information indicating the processing content of the application to be executed.
  • the processing content of the application to be executed indicates, for example, that the processing speed when GPU memory 244 is used is faster than the processing speed when CPU memory 242 is used.
  • the processing content of the application to be executed indicates, for example, that the processing speed when CPU memory 242 is used is faster than the processing speed when GPU memory 244 is used.
  • the reception unit 106 receives a request to suspend an application.
  • the reception unit 106 receives a request to terminate an application.
  • the reception unit 106 may also receive a request to resume an application.
  • the selection unit 108 selects an information processing infrastructure 200 from among multiple information processing infrastructures 200 managed by the management infrastructure 100. For example, the selection unit 108 selects an information processing infrastructure 200 when the reception unit 106 receives various requests.
  • the selection unit 108 selects an information processing infrastructure 200 based on, for example, various information stored in the storage unit 102.
  • the selection unit 108 selects an information processing infrastructure 200 by ranking the multiple information processing infrastructures 200 in descending order of the number of applications currently running, based on, for example, application count information stored in the storage unit 102.
  • the selecting unit 108 selects an information processing infrastructure 200 based on the allocated resource amount information included in the execution request and the memory resource amount information and application count information stored in the storage unit 102.
  • the selecting unit 108 selects, from among multiple information processing infrastructures 200, the information processing infrastructure 200 with the fewest number of running applications as the information processing infrastructure 200 that will execute the application to be executed.
  • the selection unit 108 selects the information processing infrastructure 200 that will execute the application to be executed, for example, by determining whether the amount of free resource in the memory resources 240 of the information processing infrastructure 200 with the fewest number of running applications is equal to or greater than the allocated resource amount indicated by the allocated resource amount information included in the execution request. For example, if the selection unit 108 determines that the amount of free resource in the memory resources 240 of the information processing infrastructure 200 with the fewest number of running applications is equal to or greater than the allocated resource amount, it selects the information processing infrastructure 200 with the fewest number of running applications as the information processing infrastructure 200 that will execute the application to be executed. In this case, the selection unit 108 selects one information processing infrastructure 200 as the information processing infrastructure 200 that will execute the application to be executed.
  • the selection unit 108 determines that the amount of free memory resources 240 of at least two of the multiple information processing infrastructures 200 with the fewest number of running applications is equal to or greater than the allocated resource amount, the selection unit 108 selects, from the at least two information processing infrastructures 200, the information processing infrastructure 200 with the least amount of free memory resources 240 as the information processing infrastructure 200 that will execute the application to be executed.
  • the selection unit 108 determines that the amount of free memory resources 240 of the information processing infrastructure 200 with the fewest number of running applications is less than the allocated resource amount, the selection unit 108 selects multiple information processing infrastructures 200, including the information processing infrastructure 200 with the fewest number of running applications, as the information processing infrastructure 200 that will execute the application to be executed. For example, if the selection unit 108 determines that the amount of free memory resources 240 of the information processing infrastructure 200 with the fewest number of running applications is less than the allocated resource amount, the selection unit 108 selects the information processing infrastructure 200 with the fewest number of running applications and the information processing infrastructure 200 with the second fewest number of running applications as the information processing infrastructures 200 that will execute the application to be executed.
  • the selection unit 108 may select the information processing infrastructures 200 that will execute the application to be executed by determining whether the total amount of free memory resources 240 in the multiple information processing infrastructures 200 with the fewest number of running applications is greater than or equal to the allocated resource amount.
  • the selection unit 108 determines that the total amount of free memory resources 240 in the multiple information processing infrastructures 200 with the fewest number of running applications is greater than or equal to the allocated resource amount
  • the selection unit 108 selects at least two of the multiple information processing infrastructures 200 with the fewest number of running applications as the information processing infrastructures 200 that will execute the application to be executed, so that the total amount of free memory resources 240 is greater than or equal to the allocated resource amount.
  • the selection unit 108 may select the at least two information processing infrastructures 200 so that the total free resource amount of the memory resources 240 is equal to or greater than the allocated resource amount and the number of information processing infrastructures 200 is the smallest.
  • the selection unit 108 selects, as the at least two information processing infrastructures 200, the combination of information processing infrastructures 200 with the smallest free resource amount of the memory resources 240 from among the combinations of information processing infrastructures 200.
  • the selection unit 108 determines that the total free resource amount of the memory resources 240 of the multiple information processing infrastructures 200 with the fewest number of running applications is less than the allocated resource amount, the selection unit 108 selects, as the information processing infrastructures 200 that will execute the application to be executed, the multiple information processing infrastructures 200 with the fewest number of running applications and the information processing infrastructure 200 with the second-fewest number of running applications.
  • the selection unit 108 may select the information processing infrastructure 200 on which the application to be executed is to be executed by determining whether the sum of the free resource amount of the memory resources 240 of the information processing infrastructure 200 with the fewest number of running applications and the free resource amount of the memory resources 240 of the information processing infrastructure 200 with the second-fewest number of running applications is equal to or greater than the allocated resource amount.
  • the selection unit 108 determines that the sum of the free resource amount of the memory resources 240 of the information processing infrastructure 200 with the fewest number of running applications and the free resource amount of the memory resources 240 of the information processing infrastructure 200 with the second-fewest number of running applications is equal to or greater than the allocated resource amount, the selection unit 108 selects the information processing infrastructure 200 with the fewest number of running applications and the information processing infrastructure 200 with the second-fewest number of running applications as the information processing infrastructure 200 on which the application to be executed is to be executed, so that the sum of the free resource amount of the memory resources 240 is equal to or greater than the allocated resource amount.
  • the selection unit 108 may further select information processing infrastructures 200 with the third fewest number of running applications in ascending order of the number of running applications as the information processing infrastructure 200 that will execute the application to be executed, until the sum of the free resource amounts of the memory resources 240 of the information processing infrastructures 200 becomes equal to or greater than the allocated resource amount. If the selection unit 108 determines that the sum of the free resource amounts of all information processing infrastructures 200 managed by the management infrastructure 100 is less than the allocated resource amount, the selection unit 108 may determine that the application to be executed cannot be executed.
  • the selection unit 108 selects, from among the multiple information processing infrastructures 200, the information processing infrastructure 200 with the fewest number of running applications as the information processing infrastructure 200 that will execute the application to be executed, based on the allocated resource amount information included in the execution request and the free GPU memory resource amount information, CPU memory resource amount information, and application count information included in the free memory resource amount information stored in the storage unit 102.
  • the selection unit 108 selects, from the at least two information processing infrastructures 200, the information processing infrastructure 200 in which at least one of the free resource amount of the GPU memory 244 and the free resource amount of the CPU memory 242 is equal to or greater than the allocated resource amount, as the information processing infrastructure 200 that will execute the application to be executed.
  • the selection unit 108 selects, from the at least two information processing infrastructures 200, an information processing infrastructure 200 whose free resource amount in the GPU memory 244 is equal to or greater than the allocated resource amount as the information processing infrastructure 200 that will execute the application to be executed.
  • the selection unit 108 may also select, from the at least two information processing infrastructures 200, an information processing infrastructure 200 whose free resource amount in the CPU memory 242 is equal to or greater than the allocated resource amount as the information processing infrastructure 200 that will execute the application to be executed.
  • the selection unit 108 selects from the multiple information processing infrastructures 200 the information processing infrastructure 200 with the fewest number of running applications as the information processing infrastructure 200 that will execute the application to be executed. For example, when there are multiple information processing infrastructures 200 with the fewest number of running applications, and the amount of free memory resources 240 of at least two of the multiple information processing infrastructures 200 with the fewest number of running applications is equal to or greater than the allocated resource amount, the selection unit 108 selects from the at least two information processing infrastructures 200 the information processing infrastructure 200 whose amount of free GPU memory 244 resources is equal to or greater than the allocated resource amount as the information processing infrastructure 200 that will execute the application to be executed whose processing speed when the application to be executed is executed using the GPU memory 244 is faster than the processing speed when the application to be executed using the CPU memory 242.
  • the selection unit 108 selects, from the at least two information processing infrastructures 200, the information processing infrastructure 200 whose amount of free CPU memory 242 resources is equal to or greater than the allocated resource amount as the information processing infrastructure 200 that will execute the application to be executed, the processing speed of which when the application to be executed is executed using the CPU memory 242 is faster than the processing speed when the application to be executed is executed using the GPU memory 244.
  • the selection unit 108 selects, from among the multiple information processing infrastructures 200, an information processing infrastructure 200 that executes the application to be resumed in the resume request.
  • the selection unit 108 may select the information processing infrastructure 200 that executes the application to be resumed in the resume request in the same manner as when selecting the information processing infrastructure 200 that executes the application to be executed in the execution request.
  • the instruction unit 110 instructs the information processing infrastructure 200 to execute various processes.
  • the management infrastructure 100 instructs the information processing infrastructure 200 to execute various processes, for example, via a core network.
  • the management infrastructure 100 may also instruct the information processing infrastructure 200 to execute various processes via the Internet.
  • the instruction unit 110 instructs the information processing infrastructure 200 selected by the selection unit 108 to deploy a virtualization infrastructure that will execute the application to be executed. For example, when the receiving unit 106 receives a request to suspend an application, the instruction unit 110 instructs the information processing infrastructure 200 that is executing the application to be suspended in the suspension request to suspend the application to be suspended. For example, when the receiving unit 106 receives a request to terminate an application, the instruction unit 110 instructs the information processing infrastructure 200 that is executing the application to be terminated in the termination request to terminate the application to be terminated.
  • the instruction unit 110 instructs the information processing infrastructure 200 that was executing the application to be resumed in the resume request before it was suspended to resume the application.
  • the instruction unit 110 instructs the information processing infrastructure 200 that was executing the application to be resumed in the resume request before it was suspended to migrate the virtualization infrastructure that executes the application to be resumed to the information processing infrastructure 200 selected by the selection unit 108.
  • the instruction unit 110 updates various information stored in the storage unit 102, for example, in response to instructing the information processing infrastructure 200 to execute various processes.
  • the instruction unit 110 updates the executed application information and usage status information stored in the storage unit 102, for example, in response to instructing the information processing infrastructure 200 to deploy a virtualization infrastructure that executes the application that is the target of the execution request.
  • the instruction unit 110 updates the executed application information and usage status information stored in the storage unit 102, for example, in response to instructing the information processing infrastructure 200 to terminate the application that is the target of the termination request.
  • the instruction unit 110 updates the usage status information stored in the storage unit 102, for example, in response to instructing the information processing infrastructure 200 to migrate the virtualization infrastructure that executes the application that is the target of the restart request to the information processing infrastructure 200 selected by the selection unit 108.
  • FIG 11 shows an example of the functional configuration of the information processing infrastructure 200.
  • the information processing infrastructure 200 includes a reception unit 202, an execution unit 204, and a notification unit 208. Note that it is not essential for the information processing infrastructure 200 to include all of these components.
  • the reception unit 202 accepts requests to execute various processes.
  • the reception unit 202 accepts requests to execute various processes, for example, from the management infrastructure 100.
  • the reception unit 202 receives instructions to execute various processes, for example, via a core network.
  • the reception unit 202 may also receive instructions to execute various processes via the Internet.
  • the reception unit 202 receives an instruction to deploy a virtualization platform that executes an application to be executed in an application execution request.
  • the reception unit 202 receives an instruction to suspend an application to be suspended in an interrupt request.
  • the reception unit 202 receives an instruction to terminate an application to be terminated in an end request.
  • the reception unit 202 receives an instruction to resume an application to be resumed in a resume request.
  • the reception unit 202 receives an instruction to migrate the virtualization platform that executes an application to be resumed in an end request to another information processing platform 200.
  • the execution unit 204 executes various processes. For example, when the reception unit 202 receives an instruction to execute various processes, the execution unit 204 executes various processes.
  • the execution unit 204 deploys the virtualization platform that executes the application to be executed. For example, when the receiving unit 202 receives an instruction to suspend the application to be suspended in a suspension request, the execution unit 204 suspends the application to be suspended. For example, when the receiving unit 202 receives an instruction to terminate the application to be terminated in a termination request, the execution unit 204 terminates the application to be terminated. For example, when the receiving unit 202 receives an instruction to resume the application to be resumed in a resume request, the execution unit 204 resumes the application to be resumed. For example, when the receiving unit 202 receives an instruction to migrate the virtualization platform that executes the application to be resumed in a resume request to another information processing platform 200, the reception unit 202 migrates the virtualization platform to the other information processing platform 200.
  • the execution unit 204 includes, for example, a RAN control function 205 and an application execution function 207.
  • the RAN control function 205 and the application execution function 207 may use the same computing resource 220.
  • the RAN control function 205 and the application execution function 207 may use the same memory resource 240.
  • RAN control function 205 controls the functions of RAN 300.
  • RAN control function 205 controls the functions of RAN 300, for example, by deploying a virtualization platform that executes applications for controlling the functions of RAN 300.
  • the application execution function 207 executes other applications that are different from the applications for controlling the functions of the RAN 300.
  • the application execution function 207 executes other applications, for example, by deploying a virtualization platform that executes the other applications.
  • the other application may be, for example, an AI application.
  • the other application may be, for example, a non-RAN AI application.
  • the notification unit 208 notifies various information.
  • the notification unit 208 notifies the management infrastructure 100 of various information, for example.
  • the notification unit 208 for example, periodically notifies various pieces of information.
  • the notification unit 208 notifies various pieces of information, for example, in response to the reception unit 202 receiving a request to execute various processes.
  • the notification unit 208 notifies various information via, for example, a core network.
  • the notification unit 208 may also notify various information via the Internet.
  • the notification unit 208 for example, notifies performance information of the information processing infrastructure 200.
  • the notification unit 208 for example, notifies information about the amount of free memory resources of the information processing infrastructure 200.
  • the notification unit 208 for example, notifies information about the number of applications of the information processing infrastructure 200.
  • the notification unit 208 for example, notifies usage status information of the information processing infrastructure 200.
  • FIGS. 12 and 13 are explanatory diagrams illustrating an example of the processing flow of the management infrastructure 100.
  • the starting state is when the management infrastructure 100 is not accepting any application execution requests.
  • step 102 (sometimes abbreviated as S) shown in FIG. 12, the reception unit 106 receives a request to execute an application.
  • step 104 shown in FIG. 12 the acquisition unit 104 acquires usage status information for each of the multiple information processing platforms 200.
  • the selection unit 108 ranks the multiple information processing infrastructures 200 in descending order of the number of applications currently running, based on the application count information included in the usage status information acquired by the acquisition unit 104 in S104 shown in FIG. 12.
  • the selection unit 108 assigns the highest rank to the information processing infrastructure 200 with the fewest number of applications currently running, the second highest rank to the information processing infrastructure 200 with the second fewest number of applications currently running, ..., and assigns the nth highest rank to the information processing infrastructure 200 with the nth fewest number of applications currently running. Note that n is a natural number.
  • the selection unit 108 determines whether the information processing infrastructure 200 assigned the highest rank in S106 of FIG. 12 can independently execute the application to be executed for the execution request received by the reception unit 106 in S102 of FIG. 12.
  • the selection unit 108 determines whether the information processing infrastructure 200 with the highest rank can independently execute the application to be executed, for example, by determining whether the amount of free resource in the memory resource 240 of the information processing infrastructure 200 with the highest rank is equal to or greater than the allocated resource amount indicated by the allocated resource amount information included in the execution request.
  • the selection unit 108 determines that the amount of free resource in the memory resource 240 of the information processing infrastructure 200 with the highest rank is equal to or greater than the allocated resource amount, it determines that the information processing infrastructure 200 with the highest rank can independently execute the application to be executed. On the other hand, if the selection unit 108 determines that the amount of free memory resources 240 of the highest-ranked information processing infrastructure 200 is less than the allocated resource amount, it determines that the highest-ranked information processing infrastructure 200 cannot independently execute the application to be executed.
  • the process proceeds to S110 shown in FIG. 12. If the selection unit 108 determines that the highest-ranked information processing infrastructure 200 cannot execute the target application independently, the process proceeds to S114 shown in FIG. 13.
  • the selection unit 108 determines whether there are multiple information processing infrastructures 200 that are highest ranked and can independently execute the application to be executed. If the selection unit 108 determines that there are multiple information processing infrastructures 200 that are highest ranked and can independently execute the application to be executed, the process proceeds to S112 shown in FIG. 12. If the selection unit 108 determines that there is only one information processing infrastructure 200 that is highest ranked and can independently execute the application to be executed, the selection unit 108 selects the information processing infrastructure 200 that is highest ranked and can independently execute the application to be executed as the information processing infrastructure 200 that will execute the application to be executed. Then, the process proceeds to S130 shown in FIG. 12.
  • the selection unit 108 selects an information processing infrastructure 200 that will execute the application to be executed from among the multiple information processing infrastructures 200 that are highest in rank and can independently execute the application to be executed.
  • the selection unit 108 selects the information processing infrastructure 200 with the least amount of free memory resources 240 from among the multiple information processing infrastructures 200 that are highest in rank and can independently execute the application to be executed as the information processing infrastructure 200 that will execute the application to be executed.
  • the selection unit 108 determines whether there are multiple highest-ranked information processing platforms 200. If the selection unit 108 determines that there are multiple highest-ranked information processing platforms 200, the process proceeds to S116 shown in FIG. 13. If the selection unit 108 determines that there is only one highest-ranked information processing platform 200, the process proceeds to S120 shown in FIG. 13.
  • the selection unit 108 determines whether the information processing infrastructures 200 with the highest rankings are capable of executing the target applications of the execution request received by the reception unit 106 at S102 shown in FIG. 12. The selection unit 108 determines whether the information processing infrastructures 200 with the highest rankings are capable of executing the target applications, for example, by determining whether the total free resource amount of the memory resources 240 of each of the information processing infrastructures 200 with the highest rankings is equal to or greater than the allocated resource amount indicated by the allocated resource amount information included in the execution request.
  • the selection unit 108 determines that the total free resource amount of the memory resources 240 of each of the information processing infrastructures 200 with the highest rankings is equal to or greater than the allocated resource amount, the selection unit 108 determines that the information processing infrastructures 200 with the highest rankings are capable of executing the target applications. On the other hand, if the selection unit 108 determines that the total amount of free memory resources 240 of the information processing infrastructures 200 with the highest rankings is less than the allocated resource amount, it determines that the multiple information processing infrastructures 200 with the highest rankings cannot execute the application to be executed.
  • the process proceeds to S118 shown in FIG. 13. If the selection unit 108 determines that the multiple information processing platforms 200 with the highest rankings cannot execute the target application, the process proceeds to S120 shown in FIG. 13.
  • the selection unit 108 selects at least two information processing infrastructures 200 from the highest-ranked information processing infrastructures 200 as the information processing infrastructures 200 that will execute the application to be executed, so that the total amount of free resource in the memory resources 240 is equal to or greater than the allocated resource amount. Then, the process proceeds to S130 shown in FIG. 12.
  • the selection unit 108 determines whether the multiple information processing infrastructures 200, from the highest-ranked information processing infrastructure 200 to the kth-highest-ranked information processing infrastructure 200, are capable of executing the application to be executed in the execution request accepted by the acceptance unit 106 in S102 shown in FIG. 12.
  • the selection unit 108 determines whether the multiple information processing infrastructures 200, from the highest-ranked information processing infrastructure 200 to the kth-highest-ranked information processing infrastructure 200, are capable of executing the application to be executed by, for example, determining whether the total amount of free resource in the memory resources 240 of each of the multiple information processing infrastructures 200, from the highest-ranked information processing infrastructure 200 to the kth-highest-ranked information processing infrastructure 200, is equal to or greater than the allocated resource amount indicated by the allocated resource amount information included in the execution request.
  • the selection unit 108 determines that the total amount of free memory resources 240 of each of the multiple information processing infrastructures 200, from the highest-ranked information processing infrastructure 200 to the kth-highest-ranked information processing infrastructure 200, is equal to or greater than the allocated resource amount, the selection unit 108 determines that the multiple information processing infrastructures 200, from the highest-ranked information processing infrastructure 200 to the kth-highest-ranked information processing infrastructure 200, are capable of executing the target application.
  • the selection unit 108 determines that the total amount of free memory resources 240 of each of the multiple information processing infrastructures 200, from the highest-ranked information processing infrastructure 200 to the kth-highest-ranked information processing infrastructure 200, is less than the allocated resource amount, the selection unit 108 determines that the multiple information processing infrastructures 200, from the highest-ranked information processing infrastructure 200 to the kth-highest-ranked information processing infrastructure 200, are unable to execute the target application.
  • k is a natural number satisfying k ⁇ n.
  • the process proceeds to S122 shown in FIG. 13. If the selection unit 108 determines that multiple information processing infrastructures 200, from the highest-ranked information processing infrastructure 200 to the kth-highest-ranked information processing infrastructure 200, cannot execute the target application, the process proceeds to S124 shown in FIG. 13.
  • the selection unit 108 selects multiple information processing infrastructures 200, from the highest-ranked information processing infrastructure 200 to the kth-highest-ranked information processing infrastructure 200, as the information processing infrastructures 200 that will execute the application to be executed, so that the total amount of free memory resources 240 is equal to or greater than the allocated resource amount.
  • the selection unit 108 first selects the highest-ranked information processing infrastructure 200 to the k-1th-highest-ranked information processing infrastructure 200, and then selects the kth-highest-ranked information processing infrastructure 200. Then, the process proceeds to S130 shown in FIG. 12.
  • the selection unit 108 determines whether k is smaller than n. If the selection unit 108 determines that k is smaller than n, the process proceeds to S126 shown in FIG. 13. If the selection unit 108 determines that k is equal to n, the process proceeds to S128 shown in FIG. 13.
  • the selection unit 108 determines in S120 shown in FIG. 13 that the multiple information processing infrastructures 200 from the highest-ranked information processing infrastructure 200 to the second-highest-ranked information processing infrastructure 200 cannot execute the application to be executed, and the selection unit 108 determines in S124 shown in FIG. 13 that k is smaller than n.
  • the selection unit 108 determines that the application to be executed cannot be executed. Processing by the management platform 100 then ends.
  • the instruction unit 110 instructs the information processing infrastructure 200 selected by the selection unit 108 as the information processing infrastructure 200 that will execute the application to be executed to deploy a virtualization infrastructure that will execute the application to be executed. Thereafter, processing by the management infrastructure 100 ends.
  • FIG. 14 shows a schematic diagram of an example of the hardware configuration of a computer 1200 functioning as the management infrastructure 100 or the information processing infrastructure 200.
  • a program installed on the computer 1200 can cause the computer 1200 to function as one or more "parts" of an apparatus according to this embodiment, or can cause the computer 1200 to perform operations or one or more "parts” associated with an apparatus according to this embodiment, and/or can cause the computer 1200 to perform a process or steps of a process according to this embodiment.
  • Such a program may be executed by the CPU 1212 to cause the computer 1200 to perform specific operations associated with some or all of the blocks in the flowcharts and block diagrams described herein.
  • the computer 1200 includes a CPU 1212, RAM 1214, and graphics controller 1216, which are interconnected by a host controller 1210.
  • the computer 1200 also includes input/output units such as a communications interface 1222, a storage device 1224, a DVD drive 1226, and an IC card drive, which are connected to the host controller 1210 via an input/output controller 1220.
  • the DVD drive 1226 may be a DVD-ROM drive, a DVD-RAM drive, or the like.
  • the storage device 1224 may be a hard disk drive, a solid-state drive, or the like.
  • the computer 1200 also includes a ROM 1230 and legacy input/output units such as a keyboard, which are connected to the input/output controller 1220 via an input/output chip 1240.
  • the CPU 1212 operates according to programs stored in the ROM 1230 and RAM 1214, thereby controlling each unit.
  • the graphics controller 1216 acquires image data generated by the CPU 1212 into a frame buffer provided in the RAM 1214 or into the graphics controller itself, and causes the image data to be displayed on the display device 1218.
  • the communication interface 1222 communicates with other electronic devices via a network.
  • the storage device 1224 stores programs and data used by the CPU 1212 in the computer 1200.
  • the DVD drive 1226 reads programs or data from a DVD-ROM 1227 or the like and provides them to the storage device 1224.
  • the IC card drive reads programs and data from an IC card and/or writes programs and data to an IC card.
  • ROM 1230 stores therein a boot program and the like that is executed by computer 1200 upon activation, and/or programs that depend on the hardware of computer 1200.
  • I/O chip 1240 may also connect various I/O units to I/O controller 1220 via USB ports, parallel ports, serial ports, keyboard ports, mouse ports, etc.
  • the programs are provided by a computer-readable storage medium such as a DVD-ROM 1227 or an IC card.
  • the programs are read from the computer-readable storage medium, installed in storage device 1224, RAM 1214, or ROM 1230, which are also examples of computer-readable storage media, and executed by CPU 1212.
  • the information processing described in these programs is read by computer 1200, resulting in cooperation between the programs and the various types of hardware resources described above.
  • An apparatus or method may be configured by implementing the operation or processing of information in accordance with the use of computer 1200.
  • CPU 1212 may execute a communication program loaded into RAM 1214 and instruct communication interface 1222 to perform communication processing based on the processing described in the communication program.
  • communication interface 1222 reads transmission data stored in a transmission buffer area provided in RAM 1214, storage device 1224, DVD-ROM 1227, or a recording medium such as an IC card, and transmits the read transmission data to the network, or writes received data received from the network to a reception buffer area or the like provided on the recording medium.
  • the CPU 1212 may also cause all or a necessary portion of a file or database stored on an external recording medium such as the storage device 1224, DVD drive 1226 (DVD-ROM 1227), or IC card to be read into the RAM 1214, and perform various types of processing on the data on the RAM 1214. The CPU 1212 may then write the processed data back to the external recording medium.
  • an external recording medium such as the storage device 1224, DVD drive 1226 (DVD-ROM 1227), or IC card
  • CPU 1212 may perform various types of processing on data read from RAM 1214, including various types of operations, information processing, conditional judgment, conditional branching, unconditional branching, information search/replacement, etc., as described throughout this disclosure and specified by the program's instruction sequence, and write the results back to RAM 1214.
  • CPU 1212 may also search for information in files, databases, etc. on the recording medium.
  • CPU 1212 may search for an entry whose attribute value of the first attribute matches a specified condition from among the multiple entries, read the attribute value of the second attribute stored in the entry, and thereby obtain the attribute value of the second attribute associated with the first attribute that satisfies a predetermined condition.
  • the programs or software modules described above may be stored on computer-readable storage media on or near computer 1200.
  • Recording media such as a hard disk or RAM provided within a server system connected to a dedicated communications network or the Internet can also be used as computer-readable storage media, thereby providing the programs to computer 1200 via the network.
  • the blocks in the flowcharts and block diagrams in this embodiment may represent stages of a process in which an operation is performed or "parts" of a device responsible for performing the operation. Particular stages and “parts" may be implemented by dedicated circuitry, programmable circuitry provided with computer-readable instructions stored on a computer-readable storage medium, and/or a processor provided with computer-readable instructions stored on a computer-readable storage medium.
  • Dedicated circuitry may include digital and/or analog hardware circuits, and may include integrated circuits (ICs) and/or discrete circuits.
  • Programmable circuitry may include reconfigurable hardware circuits, such as field programmable gate arrays (FPGAs) and programmable logic arrays (PLAs), including logical ANDs, ORs, exclusive ORs, NOT ANDs, NOT ORs, and other logical operations, flip-flops, registers, and memory elements.
  • FPGAs field programmable gate arrays
  • PLAs programmable logic arrays
  • a computer-readable medium may include any tangible device capable of storing instructions that are executed by a suitable device, such that the computer-readable medium having instructions stored thereon comprises an article of manufacture, including instructions that can be executed to create means for performing the operations specified in the flowchart or block diagram.
  • Examples of computer-readable media may include electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, etc.
  • Computer-readable media may include floppy disks, diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), electrically erasable programmable read-only memory (EEPROM), static random access memory (SRAM), compact disc read-only memory (CD-ROM), digital versatile disc (DVD), Blu-ray disc, memory stick, integrated circuit card, etc.
  • RAM random access memory
  • ROM read-only memory
  • EPROM or flash memory erasable programmable read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • SRAM static random access memory
  • CD-ROM compact disc read-only memory
  • DVD digital versatile disc
  • Blu-ray disc memory stick, integrated circuit card, etc.
  • Computer-readable instructions may include either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk®, JAVA®, C++, etc., and conventional procedural programming languages such as the "C" programming language or similar programming languages.
  • ISA instruction set architecture
  • machine instructions machine-dependent instructions
  • microcode firmware instructions
  • state setting data or source or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk®, JAVA®, C++, etc., and conventional procedural programming languages such as the "C" programming language or similar programming languages.
  • Computer-readable instructions may be provided to a processor or programmable circuit of a programmable data processing device such as a computer, either locally or via a local area network (LAN) or a wide area network (WAN) such as the Internet, and the computer may execute the computer-readable instructions to create means for performing the operations specified in the flowchart or block diagram.
  • the computer may be a personal computer (PC), tablet computer, smartphone, workstation, server computer, general-purpose computer, special-purpose computer, etc., or may be a computer system in which multiple computers are connected.
  • Such a computer system in which multiple computers are connected is also called a distributed computing system, and is a computer in the broad sense.
  • a distributed computing system multiple computers collectively execute a program by each executing a portion of the program and passing data between computers as needed during program execution.
  • processors include computer processors, central processing units (CPUs), processing units, microprocessors, digital signal processors, controllers, microcontrollers, etc.
  • a computer may have one processor or multiple processors.
  • each processor executes a portion of a program and passes data between processors as needed during program execution, allowing the multiple processors to collectively execute a program.
  • each of the multiple processors may execute a portion of each task in small chunks by switching tasks for each time slice. In this case, which portion of a program each processor executes changes dynamically. Which portion of a program each of the multiple processors executes may also be statically determined by programming that takes multiprocessors into consideration.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

GPUメモリと、CPUメモリとを含むメモリリソースを有する情報処理基盤を管理する管理基盤であって、複数の情報処理基盤の各情報処理基盤のメモリリソースの空きリソース量を示す空きメモリリソース量情報と、複数の情報処理基盤の各情報処理基盤上で実行中のアプリケーションの数を示すアプリケーション数情報とを取得する取得部と、アプリケーションの実行要求を受け付ける受付部と、実行要求に含まれる、実行対象のアプリケーションを実行するために割り当てられる必要があるメモリリソースの割当リソース量を示す割当リソース量情報と、空きメモリリソース量情報と、アプリケーション数情報とに基づいて、実行対象のアプリケーションを実行する情報処理基盤として、複数の情報処理基盤の中から、実行中のアプリケーションの数が最も少ない情報処理基盤を選択する選択部とを備える、管理基盤を提供する。

Description

管理基盤、プログラム、情報処理システム、及び管理方法
 本発明は、管理基盤、プログラム、情報処理システム、及び管理方法に関する。
 特許文献1に記載されているように、近年、InfiniBandスイッチに関する技術が提案されている。
 [先行技術文献]
 [特許文献]
 [特許文献1]特開2019-028859号公報
一般的開示
 本発明の一実施態様によれば、GPUメモリと、CPUメモリとを含むメモリリソースを有する情報処理基盤を管理する管理基盤が提供される。前記管理基盤は、複数の前記情報処理基盤の各情報処理基盤の前記メモリリソースの空きリソース量を示す空きメモリリソース量情報と、前記複数の情報処理基盤の前記各情報処理基盤上で実行中のアプリケーションの数を示すアプリケーション数情報とを取得する取得部を備えてよい。前記管理基盤は、アプリケーションの実行要求を受け付ける受付部を備えてよい。前記管理基盤は、前記実行要求に含まれる、実行対象の前記アプリケーションを実行するために割り当てられる必要があるメモリリソースの割当リソース量を示す割当リソース量情報と、前記空きメモリリソース量情報と、前記アプリケーション数情報とに基づいて、実行対象の前記アプリケーションを実行する情報処理基盤として、前記複数の情報処理基盤の中から、実行中の前記アプリケーションの数が最も少ない情報処理基盤を選択する選択部を備えてよい。
 前記管理基盤において、前記選択部は、実行中の前記アプリケーションの数が最も少ない前記情報処理基盤の前記メモリリソースの前記空きリソース量が前記割当リソース量以上であるか否かを決定してよく、実行中の前記アプリケーションの数が最も少ない前記情報処理基盤の前記メモリリソースの前記空きリソース量が前記割当リソース量以上であると決定した場合、実行対象の前記アプリケーションを実行する前記情報処理基盤として、実行中の前記アプリケーションの数が最も少ない前記情報処理基盤を選択してよく、実行中の前記アプリケーションの数が最も少ない前記情報処理基盤の前記メモリリソースの前記空きリソース量が前記割当リソース量より少ないと決定した場合、実行対象の前記アプリケーションを実行する前記情報処理基盤として、実行中の前記アプリケーションの数が最も少ない前記情報処理基盤を含む複数の情報処理基盤を選択してよい。
 前記いずれかの管理基盤において、前記選択部は、実行中の前記アプリケーションの数が最も少ない前記情報処理基盤が複数存在する場合において、実行中の前記アプリケーションの数が最も少ない複数の前記情報処理基盤のうちの少なくとも2つの情報処理基盤の前記メモリリソースの前記空きリソース量が前記割当リソース量以上であると決定した場合、実行対象の前記アプリケーションを実行する前記情報処理基盤として、前記少なくとも2つの情報処理基盤の中から、前記メモリリソースの前記空きリソース量が最も少ない情報処理基盤を選択してよい。
 前記いずれかの管理基盤において、前記選択部は、実行中の前記アプリケーションの数が最も少ない前記情報処理基盤の前記メモリリソースの前記空きリソース量が前記割当リソース量より少ないと決定した場合、実行対象の前記アプリケーションを実行する前記情報処理基盤として、実行中の前記アプリケーションの数が最も少ない前記情報処理基盤及び実行中の前記アプリケーションの数が2番目に少ない情報処理基盤を選択してよい。
 前記いずれかの管理基盤において、前記選択部は、実行中の前記アプリケーションの数が最も少ない前記情報処理基盤が複数存在する場合において、実行中の前記アプリケーションの数が最も少ない複数の前記情報処理基盤の各情報処理基盤の前記メモリリソースの前記空きリソース量が前記割当リソース量より少ないと決定した場合、実行中の前記アプリケーションの数が最も少ない前記複数の情報処理基盤の前記メモリリソースの前記空きリソース量の合計が前記割当リソース量以上であるか否かをさらに決定してよく、実行中の前記アプリケーションの数が最も少ない前記複数の情報処理基盤の前記メモリリソースの前記空きリソース量の合計が前記割当リソース量以上であると決定した場合、実行対象の前記アプリケーションを実行する前記情報処理基盤として、前記メモリリソースの前記空きリソース量の合計が前記割当リソース量以上となるように、実行中の前記アプリケーションの数が最も少ない前記複数の情報処理基盤のうちの少なくとも2つの情報処理基盤を選択してよく、実行中の前記アプリケーションの数が最も少ない前記複数の情報処理基盤の前記メモリリソースの前記空きリソース量の合計が前記割当リソース量より少ないと決定した場合、実行対象の前記アプリケーションを実行する前記情報処理基盤として、実行中の前記アプリケーションの数が最も少ない前記複数の情報処理基盤及び実行中の前記アプリケーションの数が2番目に少ない情報処理基盤を選択してよい。
 前記いずれかの管理基盤において、前記選択部は、前記メモリリソースの前記空きリソース量の合計が前記割当リソース量以上となり且つ前記情報処理基盤の数が最も少なくなるように、前記少なくとも2つの情報処理基盤を選択してよい。前記いずれかの管理基盤において、前記選択部は、前記メモリリソースの前記空きリソース量の合計が前記割当リソース量以上となり且つ前記情報処理基盤の数が最も少なくなる前記情報処理基盤の組み合わせが複数存在する場合、前記少なくとも2つの情報処理基盤として、前記情報処理基盤の組み合わせの中から、前記メモリリソースの前記空きリソース量が最も少ない前記情報処理基盤の組み合わせを選択してよい。
 前記いずれかの管理基盤において、前記取得部は、前記複数の情報処理基盤の前記各情報処理基盤の前記GPUメモリの空きリソース量を示す空きGPUメモリリソース量情報と、前記複数の情報処理基盤の前記各情報処理基盤の前記CPUメモリの空きリソース量を示す空きCPUメモリリソース量情報とを含む前記空きメモリリソース量情報を取得し、
 前記選択部は、前記割当リソース量情報と、前記空きメモリリソース量情報に含まれる前記空きGPUメモリリソース量情報及び前記CPUメモリリソース量情報と、前記アプリケーション数情報とに基づいて、実行対象の前記アプリケーションを実行する情報処理基盤として、前記複数の情報処理基盤の中から、実行中の前記アプリケーションの数が最も少ない情報処理基盤を選択してよい。
 前記いずれかの管理基盤において、前記選択部は、実行中の前記アプリケーションの数が最も少ない前記情報処理基盤が複数存在する場合において、実行中の前記アプリケーションの数が最も少ない複数の前記情報処理基盤のうちの少なくとも2つの情報処理基盤の前記メモリリソースの前記空きリソース量が前記割当リソース量以上である場合、実行対象の前記アプリケーションを実行する前記情報処理基盤として、前記少なくとも2つの情報処理基盤の中から、前記GPUメモリの前記空きリソース量及び前記CPUメモリの前記空きリソース量のうちの少なくとも一方が前記割当リソース量以上である情報処理基盤を選択してよい。前記いずれかの管理基盤において、前記選択部は、実行対象の前記アプリケーションを実行する前記情報処理基盤として、前記少なくとも2つの情報処理基盤の中から、前記GPUメモリの前記空きリソース量が前記割当リソース量以上である前記情報処理基盤を選択してよい。前記いずれかの管理基盤において、前記受付部は、前記GPUメモリが用いられる場合の処理速度が前記CPUメモリが用いられる場合の処理速度と比較して高速であることを示す、実行対象の前記アプリケーションの処理内容示す処理内容情報を含む前記アプリケーションの前記実行要求を受け付けてよく、前記選択部は、前記GPUメモリを用いて実行対象の前記アプリケーションが実行された場合の処理速度が前記CPUメモリを用いて実行対象の前記アプリケーションが実行された場合の処理速度と比較して高速である実行対象の前記アプリケーションを実行する前記情報処理基盤として、前記少なくとも2つの情報処理基盤の中から、前記GPUメモリの前記空きリソース量が前記割当リソース量以上である前記情報処理基盤を選択してよい。前記いずれかの管理基盤において、前記選択部は、実行対象の前記アプリケーションを実行する前記情報処理基盤として、前記少なくとも2つの情報処理基盤の中から、前記CPUメモリの前記空きリソース量が前記割当リソース量以上である前記情報処理基盤を選択してよい。前記いずれかの管理基盤において、前記受付部は、前記CPUメモリが用いられる場合の処理速度が前記GPUメモリが用いられる場合の処理速度と比較して高速であることを示す、実行対象の前記アプリケーションの処理内容示す処理内容情報を含む前記アプリケーションの前記実行要求を受け付けてよく、前記選択部は、前記CPUメモリを用いて実行対象の前記アプリケーションが実行された場合の処理速度が前記GPUメモリを用いて実行対象の前記アプリケーションが実行された場合の処理速度と比較して高速である実行対象の前記アプリケーションを実行する前記情報処理基盤として、前記少なくとも2つの情報処理基盤の中から、前記CPUメモリの前記空きリソース量が前記割当リソース量以上である情報処理基盤を選択してよい。
 前記いずれかの管理基盤は、前記選択部によって選択された前記情報処理基盤に対して、実行対象の前記アプリケーションを実行する仮想化基盤を展開することを指示する指示部をさらに備えてよい。
 本発明の一実施態様によれば、コンピュータにより実行されると、前記コンピュータを、前記いずれかの管理基盤として機能させるためのプログラムが提供される。
 本発明の一実施態様によれば、情報処理システムが提供される。前記情報処理システムは、前記いずれかの管理基盤を備えてよい。前記情報処理システムは、前記複数の情報処理基盤を備えてよい。
 本発明の一実施態様によれば、GPUメモリと、CPUメモリとを含むメモリリソースを有する情報処理基盤を管理する管理基盤によって実行される管理方法が提供される。前記管理方法は、複数の前記情報処理基盤の各情報処理基盤の前記メモリリソースの空きリソース量を示す空きメモリリソース量情報と、前記複数の情報処理基盤の前記各情報処理基盤上で実行中のアプリケーションの数を示すアプリケーション数情報とを取得する取得段階を備えてよい。前記管理方法は、アプリケーションの実行要求を受け付ける受付段階を備えてよい。前記管理方法は、前記実行要求に含まれる、実行対象の前記アプリケーションを実行するために割り当てられる必要があるメモリリソースの割当リソース量を示す割当リソース量情報と、前記空きメモリリソース量情報と、前記アプリケーション数情報とに基づいて、実行対象の前記アプリケーションを実行する情報処理基盤として、前記複数の情報処理基盤の中から、実行中の前記アプリケーションの数が最も少ない情報処理基盤を選択する選択段階を備えてよい。
 尚、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
システム10の一例を概略的に示す。 システム10の処理の流れの一例について説明するための説明図である。 システム10の処理の流れの一例について説明するための説明図である。 システム10の処理の流れの一例について説明するための説明図である。 システム10の処理の流れの一例について説明するための説明図である。 システム10の処理の流れの一例について説明するための説明図である。 システム10の処理の流れの一例について説明するための説明図である。 システム10の処理の流れの一例について説明するための説明図である。 システム10の処理の流れの一例について説明するための説明図である。 管理基盤100の機能構成の一例を概略的に示す。 情報処理基盤200の機能構成の一例を概略的に示す。 管理基盤100の処理の流れの一例について説明するための説明図である。 管理基盤100の処理の流れの一例について説明するための説明図である。 管理基盤100又は情報処理基盤200として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。
 従来、GPUを使用するGPUアプリケーションに用いられるメモリは、CPUのメインメモリとは別の専用のGPUメモリが必要であった。そして、GPUメモリは、GPUチップに組み込まれているのが一般的であった。例えば、あるGPUチップには40GBのGPUメモリが組み込まれ、別のGPUチップには80GBのGPUメモリが組み込まれている。一般的に、仮想マシンやコンテナ等のような仮想化されたソフトウェアであるGPUアプリケーションは、プログラムやデータがGPUメモリ上に展開されることによって実行される。従来、1つのGPUが1又は複数のGPUアプリケーションを実行していたが、昨今のGPU技術の進化により、CPUのメインメモリをGPUメモリとして利用することによって、CPUのメインメモリ及びGPUメモリを搭載したGPUサーバがGPUアプリケーションを直接実行できる技術や、GPUメモリを搭載した複数のGPUサーバがEthernet(登録商標)やInfiniBandで連結されることによって、複数のGPUサーバが1つのGPUアプリケーションを実行する技術が登場してきている。これらの新たなGPU技術の登場により、GPUアプリケーションを実行する場合にCPUのメインメモリをGPUメモリと速度差無く利用することや、GPUアプリケーションを実行する場合に不足傾向にあったGPUメモリのリソース量を増加させることが可能になる。しかしながら、現在、これらの新たなGPU技術を考慮したGPUメモリリソースの最適な割り当てを自動的に実行する技術が確立されていない。したがって、これらの新たなGPU技術を考慮してGPUメモリリソースを最適に割り当てる場合、人間が、GPUメモリリソースの最適な割り当てを机上で計算した上で、GPUサーバに対してGPUメモリリソースを用いた仮想化基盤の展開を指示しているのが現状である。本実施形態に係るシステムにおいて、例えば、CPUのメインメモリ及びGPUメモリのリソースをプール化し、優先度が高い順に下記の条件1、条件2、及び条件3に従ってGPUアプリケーションを実行するGPUサーバを選択する仕組みを採用する。優先度が最も高い条件1は、GPUワークロード(GPUワークロードをGPUアプリケーションと記載する場合がある)を実行している数が最も少ないGPUサーバを選択することである。優先度が2番目に高い条件2は、複数のGPUサーバがGPUアプリケーションを実行する場合、GPUアプリケーションがより少ない台数で実行されるように、複数のGPUサーバを選択することである。優先度が3番目に高い条件3は、GPUリソースの空き容量がより少ないGPUサーバを選択することである。
 以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲に係る発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
 図1は、システム10の一例を概略的に示す。システム10は、管理基盤100を備えてよい。システム10は、複数の情報処理基盤200を備えてよい。本実施形態に係るシステム10においては、例えば、管理基盤100及び複数の情報処理基盤200が協調して、RAN(Radio Access Network)300の制御と、AI(Artificial Intelligence)処理とを実行してよい。システム10は、情報処理システムの一例であってよい。
 RAN300は、仮想化されたvRAN(Virtual RAN)であってよく、システム10は、vRANの制御を実行してよい。RAN300は、物理的なRANであってもよく、システム10は、物理的なRANの制御を実行してよい。本実施形態においては、RAN300がvRANである場合を主に例に挙げて説明する。
 システム10においては、例えば、RAN300の機能を、汎用機のサーバではなく、高性能なGPUサーバ上で動かせる形にすることで、その余剰分のコンピューティングリソースを、AI処理で活用できる形とする。AI処理の種類として、RAN制御に関連するAI処理(RAN制御AI処理と記載する場合がある。)と、RAN制御に関連しないAI処理(非RAN制御AI処理と記載する場合がある。)とが挙げられる。
 RAN制御AI処理の例として、RIC(RAN Intelligent Controller)が挙げられる。RICは、AIを用いて、RAN300の無線リソースの最適化やRAN運用の自動化を行う技術である。RICは、Non-RT RICと、Near-RT RIC(Near-Real Time RIC)とを含む。Non-RT RICは、Centralized RICと呼ばれることもある。Non-RT RICは、RAN300の管理やオーケストレーションを行うSMO(Service Management and Orchestration)の内部に位置する。Non-RT RICは、RAN300の制御に関わるポリシーの生成や通知、Near-RT RICへの情報の送信を行う。例えば、Non-RT RICは、RAN300から収集したデータを用いた機械学習を実行することによって、RAN制御に関する学習済モデルを生成して、Near-RT RICに送信する。Near-RT RICは、Distributed RICと呼ばれることもある。Near-RT RICは、Non-RT RICと比較して、RANノード(RU(Radio Unit)、DU(Distributed Unit)、CU(Central Unit))の近くに位置し、RANノードの制御や、リソースの制御等を行う。Near-RT RICは、Non-RT RICと比較して、リアルタイム性の高い処理を実行する。Near-RT RICは、例えば、Non-RT RICから取得した学習済みモデルを用いたRAN300の制御に関連する推論処理を実行する。RAN制御AI処理は、RICに限られない。
 非RAN制御AI処理は、いわゆるMEC(Multi-access Edge Computing)アプリケーションに相当してよい。非RAN制御AI処理の例として、入力された撮像画像の撮像範囲内の状況を判定する監視AI実行処理、入力されたユーザによる問い合わせに対する回答を出力する回答AI実行処理等が挙げられるが、これらに限られない。
 システム10が実行するAI処理は、RAN制御AI処理(RAN_AIと記載する場合がある。)を含んでよい。システム10が実行するAI処理は、非RAN制御AI処理(非RAN_AIと記載する場合がある。)を含んでよい。
 情報処理基盤200は、各地に配置されたデータセンタであってよい。情報処理基盤200は、複数の装置に構成されてよい。情報処理基盤200は、複数の装置による仮想化基盤上に実現されてよい。情報処理基盤200は、1つの装置によって実現されてもよい。すなわち、情報処理基盤200は、情報処理装置であってもよい。
 情報処理基盤200は、例えば、コアネットワーク上に配置される。コアネットワーク上は、コアネットワークの内側及びコアネットワークの外側の両方を含んでよい。
 コアネットワークは、任意の移動体通信システムに準拠してよい。コアネットワークは、例えば、5G(5th Generation)通信システムに準拠する。コアネットワークは、6G(6th Generation)通信システム以降の移動体通信システムに準拠してもよい。コアネットワークは、3G(3rd Generation)通信システムやLTE(Long Term Evolution)通信システムに準拠してもよい。
 管理基盤100は、複数の情報処理基盤200を管理するデータセンタであってよい。管理基盤100は、複数の装置に構成されてよい。管理基盤100は、複数の装置による仮想化基盤上に実現されてよい。管理基盤100は、1つの装置によって実現されてもよい。すなわち、管理基盤100は、管理装置であってもよい。
 管理基盤100は、例えば、コアネットワーク上に配置される。管理基盤100が管理装置である場合、インターネット上に配置されてもよい。
 データセンタは、複数の物理サーバを含んでよい。データセンタは、例えば、100個程度の物理サーバを含む。
 データセンタは、例えば、マイクロデータセンタである。データセンタは、その他の任意のデータセンタであってもよい。
 管理基盤100がCore Brainと呼ばれ、情報処理基盤200がRegional Brainと呼ばれる場合がある。尚、図1では、管理基盤100の下に、一階層の情報処理基盤200が配置されている場合を例示しているが、これに限らない。情報処理基盤200は、複数階層であってもよい。例えば、管理基盤100の下に、2階層の情報処理基盤200が配置される場合、管理基盤100がCore Brainと呼ばれ、その下の階層の情報処理基盤200がRegional Brainと呼ばれ、更にその下の階層の情報処理基盤200がSub Regional Brainと呼ばれる場合がある。
 情報処理基盤200には、1又は複数の演算リソース220が配置されてよい。例えば、情報処理基盤200には、1又は複数のCPU222が配置されてよい。例えば、情報処理基盤200には、1又は複数のGPU224が配置されてよい。情報処理基盤200には、CPU222とGPU224とがインターコネクトによって接続されたスーパーチップが、複数配置されてよい。当該インターコネクトは、メモリ一貫性があり、高帯域かつ低遅延を実現可能なインターコネクトであってよい。このように、情報処理基盤200は、演算リソースとして、CPUリソースと、GPUリソースとを有してよい。
 情報処理基盤200には、1又は複数のメモリリソース240が配置されてよい。例えば、情報処理基盤200には、1又は複数のCPUメモリ242が配置されてよい。例えば、情報処理基盤200には、1又は複数のGPUメモリ244が配置されてよい。このように、情報処理基盤200は、メモリリソース240として、CPUメモリ242と、GPUメモリ244とを有してよい。
 複数の情報処理基盤200は、スイッチ280を介して接続されてよい。スイッチ280は、例えば、L2スイッチである。スイッチ280は、例えば、InfiniBandスイッチである。このように、複数の情報処理基盤200がスイッチ280を介して接続されることによって、複数の情報処理基盤200が1つのアプリケーションを協調して実行できる。
 管理基盤100は、例えば、GPUメモリ244と、CPUメモリ242とを含むメモリリソース240を有する情報処理基盤200を管理する。管理基盤100は、例えば、複数の情報処理基盤200を管理する。
 管理基盤100は、例えば、複数の情報処理基盤200の各情報処理基盤200の使用状況を示す使用状況情報を取得し、取得した使用状況情報に基づいて情報処理基盤200を管理する。管理基盤100は、例えば、複数の情報処理基盤200の各情報処理基盤200から情報処理基盤200の使用状況情報を受信することによって、各情報処理基盤200の使用状況情報を取得する。使用状況情報は、例えば、テーブル形式のデータである。
 使用状況情報は、例えば、複数の情報処理基盤200の各情報処理基盤200がメモリリソース240を使用している使用リソース量を示す使用メモリリソース量情報を含む。使用状況情報は、例えば、複数の情報処理基盤200の各情報処理基盤200のメモリリソース240の空きリソース量を示す空きメモリリソース量情報を含む。使用状況情報は、例えば、複数の情報処理基盤200の各情報処理基盤200上で実行中のアプリケーションの数を示すアプリケーション数情報を含む。
 情報処理基盤200上で実行中のアプリケーションは、例えば、GPUアプリケーションを含む。情報処理基盤200上で実行中のアプリケーションは、例えば、CPUアプリケーションを含む。したがって、アプリケーション数情報によって示される情報処理基盤200上で実行中のアプリケーションの数は、情報処理基盤200上で実行中のGPUアプリケーションの数及び情報処理基盤200上で実行中のCPUアプリケーションの数を合計した数であってよい。
 複数の情報処理基盤200の各情報処理基盤200は、例えば、アプリケーションを実行する。各情報処理基盤200は、例えば、演算リソース220を用いて、アプリケーションを実行する。各情報処理基盤200は、例えば、メモリリソース240を用いて、アプリケーションを実行する。
 各情報処理基盤200は、例えば、GPUアプリケーションを実行する。各情報処理基盤200は、例えば、GPUメモリ244を用いて、GPUアプリケーションを実行する。各情報処理基盤200は、例えば、CPUメモリ242を用いて、GPUアプリケーションを実行する。各情報処理基盤200は、例えば、GPUメモリ244及びCPUメモリ242の両方を用いて、GPUアプリケーションを実行する。各情報処理基盤200は、CPUアプリケーションを実行してもよい。
 各情報処理基盤200は、例えば、アプリケーションを実行する仮想化基盤を展開することによって、アプリケーションを実行する。仮想化基盤は、例えば、仮想マシン形式の仮想化基盤である。仮想化基盤は、例えば、コンテナ形式の仮想化基盤である。
 各情報処理基盤200は、例えば、RAN300の機能を制御するRAN制御機能を含む実行部を有する。RAN制御機能は、例えば、RAN_AIを実行することによって、RAN300の機能を制御する。RAN制御機能は、その他の任意の処理を実行することによって、RAN300の機能を制御してもよい。
 RAN制御機能は、例えば、RAN300を構成する無線基地局40を制御する。RAN制御機能は、例えば、アンテナを用いて無線通信エリアを形成して無線通信エリア内の通信端末50に移動体通信サービスを提供するように、無線基地局40を制御する。
 通信端末50は、スマートフォン等の携帯電話である。通信端末50は、タブレット端末及びPC(Personal Computer)等であってもよい。通信端末50は、いわゆるIoT(Internet of Thing)デバイスであってもよい。通信端末50は、いわゆるIoE(Internet of Everything)に該当するあらゆるものを含み得る。
 ここで、管理基盤100が情報処理基盤200を管理する場合の一例を説明する。ここでは、管理基盤100が複数の情報処理基盤200の各情報処理基盤200の空きメモリリソース量情報及びアプリケーション数情報に基づいて情報処理基盤200を管理するものとする。
 管理基盤100は、例えば、システム10のユーザから、アプリケーションの実行要求を受け付ける。実行要求は、例えば、実行対象のアプリケーションを実行するために割り当てられる必要があるメモリリソース240の割当リソース量を示す割当リソース量情報を含む。
 システム10のユーザは、例えば、RAN300の管理者である。システム10のユーザは、その他の任意のユーザであってもよい。
 管理基盤100は、例えば、実行要求に含まれる割当リソース量情報と、空きメモリリソース量情報と、アプリケーション数情報とに基づいて、管理基盤100の管理対象の複数の情報処理基盤200の中から、実行対象のアプリケーションを実行する情報処理基盤200を選択する。管理基盤100は、例えば、実行対象のアプリケーションを実行する情報処理基盤200として、実行中のアプリケーションの数が最も少ない情報処理基盤200を選択する。管理基盤100は、例えば、実行対象のアプリケーションを実行する情報処理基盤200として、実行中のアプリケーションの数が最も少なく且つメモリリソース240の空きリソース量が割当リソース量以上の情報処理基盤200を選択する。
 管理基盤100は、選択した情報処理基盤200に対して、実行対象のアプリケーションを実行する仮想化基盤の展開を指示してよい。情報処理基盤200は、管理基盤100からの指示に従って当該仮想化基盤を展開し、実行対象のアプリケーションを実行してよい。
 従来、GPUアプリケーションを実行する際に用いることが可能なメモリリソースは、GPUメモリだけであった。そのため、従来、GPUアプリケーションを実行する際に用いることが可能なメモリリソースが不足傾向にあった。しかし、近年の技術革新によって、GPUがCPUのメインメモリに高速アクセスすることが可能になり、GPUアプリケーションを実行する際にGPUメモリに加えてCPUのメインメモリを用いることが可能になった。さらに、近年の技術革新によって、GPUを搭載したサーバ同士を高速広帯域なネットワークで接続することが可能になり、複数のサーバのGPUメモリを用いて1つのGPUアプリケーションを実行できるようになった。これらの技術革新によって、GPUアプリケーションに用いることが可能なメモリリソースの充実が期待されている。
 しかしながら、前述の技術革新を取り入れてGPUアプリケーションを実行する場合、メモリリソースのリソース割り当てが、従来のメモリリソースのリソース割り当てと比較して複雑化する。そして、現在、前述の技術革新を取り入れてGPUアプリケーションを実行する場合において、メモリリソースのリソースを自動的に且つ適切に割り当てる手法が確立されていない。以上より、前述の技術革新を取り入れてGPUアプリケーションを実行する場合において、メモリリソースのリソースを自動的に且つ適切に割り当てることが望ましい。
 これに対して、本実施形態に係るシステム10によれば、管理基盤100は、受け付けた実行要求に含まれる割当リソース量情報と、空きメモリリソース量情報と、アプリケーション数情報とに基づいて、実行要求の実行対象のアプリケーションを実行する情報処理基盤200として、管理基盤100の管理対象の複数の情報処理基盤200の中から、実行中のアプリケーションの数が最も少ない情報処理基盤200を選択する。実行中のアプリケーションの数が最も少ない情報処理基盤200を選択するという選択条件を設定することによって、管理基盤100は、前述の技術革新を取り入れてGPUアプリケーションを実行する場合において、メモリリソースのリソースを自動的に割り当てることができる。そして、実行中のアプリケーションの数が最も少ない情報処理基盤200に実行対象のアプリケーションを実行させることによって、管理基盤100は、リソースが実行対象のアプリケーションに割り当てられるまでの待ち時間である割当て待ち時間をより低減できる。さらに、実行中のアプリケーションの数が最も少ない情報処理基盤200に実行対象のアプリケーションを実行させることによって、管理基盤100は、実行中のアプリケーションの数を複数の情報処理基盤200の間で均等化することができ、複数の情報処理基盤200の間の実行中のアプリケーションの数の偏りに起因する割当て待ち時間の増加を抑制できる。割当て待ち時間が低減することによって、実行対象のアプリケーションが実行される際の実行遅延が低減するので、管理基盤100は、前述の技術革新を取り入れてGPUアプリケーションを実行する場合において、メモリリソースのリソースを適切に割り当てることができる。これにより、本実施形態に係るシステム10は、前述の技術革新を取り入れてGPUアプリケーションを実行する場合において、メモリリソースのリソースを自動的に且つ適切に割り当てることができる。
 図2~図9は、システム10の処理の流れの一例について説明するための説明図である。ここでは、管理基盤100が、情報処理基盤200と同様の機能を有する情報処理基盤1、情報処理基盤2、及び情報処理基盤3の3つの情報処理基盤を管理しているものとする。
 最初に、図2を用いてシステム10の処理の流れの一例の概要を説明する。管理基盤100は、例えば、情報処理基盤200の性能を示す性能情報を格納する。性能情報は、例えば、テーブル形式のデータである。
 性能情報は、例えば、情報処理基盤200を識別する基盤IDを含む。性能情報は、例えば、CPUメモリ242の性能を示すCPUメモリ性能情報を含む。性能情報は、例えば、GPUメモリ244の性能を示すGPUメモリ性能情報を含む。性能情報は、例えば、メモリリソース240の性能を示すメモリリソース性能情報を含む。図2に示される一例において、管理基盤100は、以下の性能情報を格納する。
 基盤IDが「0001」の情報処理基盤1は、CPUメモリ242の性能が「200GB」であり、GPUメモリ244の性能が「100GB」であり、メモリリソース240の性能が「200GB+100GB=300GB」である。基盤IDが「0002」の情報処理基盤2は、CPUメモリ242の性能が「300GB」であり、GPUメモリ244の性能が「100GB」であり、メモリリソース240の性能が「300GB+100GB=400GB」である。基盤IDが「0003」の情報処理基盤3は、CPUメモリ242の性能が「100GB」であり、GPUメモリ244の性能が「50GB」であり、メモリリソース240の性能が「100GB+50GB=150GB」である。
 管理基盤100は、例えば、情報処理基盤200が実行中のアプリケーションを示す実行アプリケーション情報を格納する。実行アプリケーション情報は、例えば、情報処理基盤200が実行中のアプリケーションを識別するアプリケーションIDを含む。実行アプリケーション情報は、例えば、情報処理基盤200が実行中のアプリケーションに割り当てられているメモリリソース240の割当リソース量を示す割当リソース量情報を含む。実行アプリケーション情報は、例えば、テーブル形式のデータである。
 管理基盤100は、例えば、ユーザ400から、アプリケーションの実行要求を受け付けた場合、以下の選択条件1、選択条件2、及び選択条件3に従って、複数の情報処理基盤200の中から、実行対象のアプリケーションを実行する情報処理基盤200を選択し、選択した情報処理基盤200に対して実行対象のアプリケーションを実行する仮想化基盤の展開を指示する。以下の選択条件1、選択条件2、及び選択条件3の中で、選択条件1が最も優先度が高い選択条件であり、選択条件2が2番目に優先度が高い選択条件であり、選択条件3が3番目に優先度が高い選択条件である。
 最も優先度が高い選択条件である選択条件1は、実行対象のアプリケーションを実行する情報処理基盤200として、実行中のアプリケーションの数が最も少ない情報処理基盤200を選択することである。2番目に優先度が高い選択条件である選択条件2は、実行対象のアプリケーションを実行する情報処理基盤200の数が最も少なくなるように、情報処理基盤200を選択することである。3番目に優先度が高い選択条件である選択条件3は、実行対象のアプリケーションを実行する情報処理基盤200として、メモリリソース240の空きリソース量が最も少ない情報処理基盤200を選択することである。
 実行対象のアプリケーションを実行する情報処理基盤200として選択条件1を設定することによって、管理基盤100は、割当て待ち時間をより低減できる。実行対象のアプリケーションを実行する情報処理基盤200として選択条件2を設定することによって、管理基盤100は、情報処理基盤200に発生した障害等に起因してアプリケーションの実行が停止するリスクをより軽減できる。実行対象のアプリケーションを実行する情報処理基盤200として選択条件3を設定することによって、管理基盤100は、メモリリソース240の空きリソースの細分化をより抑制でき、その結果、実行対象のアプリケーションを実行する情報処理基盤200の数がより少なくなるように情報処理基盤200が選択されることを促進できる。
 次に、図3~図9を用いてシステム10の処理の流れの一例の詳細を説明する。ここでは、情報処理基盤1、情報処理基盤2、及び情報処理基盤3がアプリケーションを実行していない状態を開始状態とする。
 図3に示されるStep1において、管理基盤100は、ユーザ400から、アプリケーションの実行要求を受け付ける。ここでは、実行要求に含まれる割当リソース量情報によって示される割当リソース量が250GBであるものとして説明を続ける。
 図3に示されるStep2において、管理基盤100は、情報処理基盤1、情報処理基盤2、及び情報処理基盤3の中から、図3に示されるStep1で受け付けた実行要求の実行対象のアプリケーションを実行する情報処理基盤を選択する。管理基盤100は、例えば、選択条件1に従って、実行中のアプリケーションの数が最も少ない情報処理基盤を選択する。図3に示されるStep2において、情報処理基盤1、情報処理基盤2、及び情報処理基盤3のいずれも実行中のアプリケーションの数が0であるので、管理基盤100は、選択条件1に従って、情報処理基盤1、情報処理基盤2、及び情報処理基盤3を選択する。
 次に、管理基盤100は、選択条件2に従って、選択条件1によって選択された情報処理基盤1、情報処理基盤2、及び情報処理基盤3の中から、実行対象のアプリケーションを実行する情報処理基盤の数が最も少なくなるように、情報処理基盤を選択する。管理基盤100は、例えば、各情報処理基盤のメモリリソース240の空きリソース量と割当リソース量とを比較することによって、実行対象のアプリケーションを実行する情報処理基盤の数が最も少なくなるように、情報処理基盤を選択する。図3に示されるStep2において、情報処理基盤1のメモリリソース240の空きリソース量が300GBであり、情報処理基盤2のメモリリソース240の空きリソース量が400GBであるので、情報処理基盤1のメモリリソース240の空きリソース量及び情報処理基盤2のメモリリソース240の空きリソース量は、割当リソース量の250GBより多い。一方で、情報処理基盤3のメモリリソース240の空きリソース量が150GBであるので、情報処理基盤3のメモリリソース240の空きリソース量は、割当リソース量の250GBより少ない。したがって、情報処理基盤1又は情報処理基盤2が実行対象のアプリケーションを実行した場合に最も少ない数の情報処理基盤で実行対象のアプリケーションを実行できるので、管理基盤100は、選択条件2に従って、情報処理基盤1及び情報処理基盤2を選択する。
 その後、管理基盤100は、選択条件3に従って、実行対象のアプリケーションを実行する情報処理基盤として、選択条件1及び選択条件2によって選択された情報処理基盤1及び情報処理基盤2の中から、メモリリソース240の空きリソース量が最も少ない情報処理基盤を選択する。図3に示されるStep2において、情報処理基盤1のメモリリソース240の空きリソース量が300GBであり、情報処理基盤2のメモリリソース240の空きリソース量が400GBである。したがって、管理基盤100は、実行対象のアプリケーションを実行する情報処理基盤として、メモリリソース240の空きリソース量が最も少ない情報処理基盤1を選択する。
 図3に示されるStep3において、管理基盤100は、図3に示されるStep2で選択した情報処理基盤1に対して、実行対象のアプリケーションを実行する仮想化基盤を展開することを指示する。図3に示されるStep4において、情報処理基盤1は、管理基盤100からの指示に従って当該仮想化基盤を展開し、実行対象のアプリケーションを実行する。
 管理基盤100は、実行要求の実行対象のアプリケーションを実行する情報処理基盤として選択した情報処理基盤に対して実行対象のアプリケーションを実行する仮想化基盤を展開することを指示したことに応じて、実行アプリケーション情報及び使用状況情報を更新してよい。管理基盤100は、例えば、実行対象のアプリケーションにアプリケーションIDを割り当てることによって、実行アプリケーション情報及び使用状況情報を更新する。管理基盤100は、図3に示されるStep3において情報処理基盤1に対して当該仮想化基盤を展開することを指示したことに応じて、図3に示されるように実行アプリケーション情報及び使用状況情報を更新してよい。ここでは、管理基盤100が実行対象のアプリケーションにアプリケーションID「0001」を割り当てたものとして説明を続ける。
 管理基盤100は、アプリケーションIDが「0001」のアプリケーションに「250GB」のメモリリソース240が割り当てられていることを示すように、実行アプリケーション情報を更新してよい。管理基盤100は、基盤IDが「0001」の情報処理基盤1が「250GB」のメモリリソース240を使用してアプリケーションIDが「0001」のアプリケーションを実行することによって、情報処理基盤1の実行中のアプリケーションの数が「0」から「1」に増加して、情報処理基盤1のメモリリソース240の空きリソース量が「300GB」から「50GB」に減少することを示すように、使用状況情報を更新してよい。
 図4に示されるStep5において、管理基盤100は、ユーザ400から、アプリケーションの実行要求を受け付ける。ここでは、実行要求に含まれる割当リソース量情報によって示される割当リソース量が150GBであるものとして説明を続ける。
 図4に示されるStep6において、管理基盤100は、情報処理基盤1、情報処理基盤2、及び情報処理基盤3の中から、図4に示されるStep5で受け付けた実行要求の実行対象のアプリケーションを実行する情報処理基盤を選択する。管理基盤100は、例えば、選択条件1に従って、実行中のアプリケーションの数が最も少ない情報処理基盤を選択する。図4に示されるStep6において、情報処理基盤2及び情報処理基盤3の実行中のアプリケーションの数が0であり、情報処理基盤1の実行中のアプリケーションの数が1であるので、管理基盤100は、選択条件1に従って、情報処理基盤2及び情報処理基盤3を選択する。
 次に、管理基盤100は、選択条件2に従って、選択条件1によって選択された情報処理基盤2及び情報処理基盤3の中から、実行対象のアプリケーションを実行する情報処理基盤の数が最も少なくなるように、情報処理基盤を選択する。図4に示されるStep6において、情報処理基盤2のメモリリソース240の空きリソース量が400GBであり、情報処理基盤3のメモリリソース240の空きリソース量が150GBであるので、情報処理基盤2のメモリリソース240の空きリソース量及び情報処理基盤3のメモリリソース240の空きリソース量は、割当リソース量の150GB以上である。したがって、情報処理基盤2又は情報処理基盤3が実行対象のアプリケーションを実行した場合に最も少ない数の情報処理基盤で実行対象のアプリケーションを実行できるので、管理基盤100は、選択条件2に従って、情報処理基盤2及び情報処理基盤3を選択する。
 その後、管理基盤100は、選択条件3に従って、実行対象のアプリケーションを実行する情報処理基盤として、選択条件1及び選択条件2によって選択された情報処理基盤2及び情報処理基盤3の中から、メモリリソース240の空きリソース量が最も少ない情報処理基盤を選択する。図4に示されるStep6において、情報処理基盤2のメモリリソース240の空きリソース量が400GBであり、情報処理基盤3のメモリリソース240の空きリソース量が150GBである。したがって、管理基盤100は、実行対象のアプリケーションを実行する情報処理基盤として、メモリリソース240の空きリソース量が最も少ない情報処理基盤3を選択する。
 図4に示されるStep7において、管理基盤100は、図4に示されるStep6で選択した情報処理基盤3に対して、実行対象のアプリケーションを実行する仮想化基盤を展開することを指示する。図4に示されるStep8において、情報処理基盤3は、管理基盤100からの指示に従って当該仮想化基盤を展開し、実行対象のアプリケーションを実行する。
 管理基盤100は、図4に示されるStep7において情報処理基盤3に対して実行対象のアプリケーションを実行する仮想化基盤を展開することを指示したことに応じて、図4に示されるように実行アプリケーション情報及び使用状況情報を更新してよい。ここでは、管理基盤100が実行対象のアプリケーションにアプリケーションID「0002」を割り当てたものとして説明を続ける。
 管理基盤100は、アプリケーションIDが「0002」のアプリケーションに「150GB」のメモリリソース240が割り当てられていることを示すように、実行アプリケーション情報を更新してよい。管理基盤100は、基盤IDが「0003」の情報処理基盤3が「150GB」のメモリリソース240を使用してアプリケーションIDが「0002」のアプリケーションを実行することによって、情報処理基盤3の実行中のアプリケーションの数が「0」から「1」に増加して、情報処理基盤3のメモリリソース240の空きリソース量が「150GB」から「0GB」に減少することを示すように、使用状況情報を更新してよい。
 図5に示されるStep9において、管理基盤100は、ユーザ400から、アプリケーションの実行要求を受け付ける。ここでは、実行要求に含まれる割当リソース量情報によって示される割当リソース量が300GBであるものとして説明を続ける。
 図5に示されるStep10において、管理基盤100は、情報処理基盤1、情報処理基盤2、及び情報処理基盤3の中から、図5に示されるStep9で受け付けた実行要求の実行対象のアプリケーションを実行する情報処理基盤を選択する。管理基盤100は、例えば、選択条件1に従って、実行中のアプリケーションの数が最も少ない情報処理基盤を選択する。図5に示されるStep10において、情報処理基盤2の実行中のアプリケーションの数が0であり、情報処理基盤1及び情報処理基盤3の実行中のアプリケーションの数が1であるので、管理基盤100は、選択条件1に従って、情報処理基盤2を選択する。
 次に、管理基盤100は、選択条件2に従って、実行対象のアプリケーションを実行する情報処理基盤として、選択条件1によって選択された情報処理基盤2を選択する場合に、実行対象のアプリケーションを実行する情報処理基盤の数が最も少なくなるように、情報処理基盤を選択する。図5に示されるStep10において、情報処理基盤2のメモリリソース240の空きリソース量が400GBであり、割当リソース量の300GBより多いので、管理基盤100は、情報処理基盤2が実行対象のアプリケーションを単独で実行できると決定する。したがって、情報処理基盤2が実行対象のアプリケーションを単独で実行した場合に最も少ない数の情報処理基盤で実行対象のアプリケーションを実行できるので、管理基盤100は、実行対象のアプリケーションを実行する情報処理基盤として、情報処理基盤2を選択する。
 図5に示されるStep11において、管理基盤100は、図5に示されるStep10で選択した情報処理基盤2に対して、実行対象のアプリケーションを実行する仮想化基盤を展開することを指示する。図5に示されるStep12において、情報処理基盤2は、管理基盤100からの指示に従って当該仮想化基盤を展開し、実行対象のアプリケーションを実行する。
 管理基盤100は、図5に示されるStep11において情報処理基盤2に対して実行対象のアプリケーションを実行する仮想化基盤を展開することを指示したことに応じて、図5に示されるように実行アプリケーション情報及び使用状況情報を更新してよい。ここでは、管理基盤100が実行対象のアプリケーションにアプリケーションID「0003」を割り当てたものとして説明を続ける。
 管理基盤100は、アプリケーションIDが「0003」のアプリケーションに「300GB」のメモリリソース240が割り当てられていることを示すように、実行アプリケーション情報を更新してよい。管理基盤100は、基盤IDが「0002」の情報処理基盤2が「300GB」のメモリリソース240を使用してアプリケーションIDが「0003」のアプリケーションを実行することによって、情報処理基盤2の実行中のアプリケーションの数が「0」から「1」に増加して、情報処理基盤2のメモリリソース240の空きリソース量が「400GB」から「100GB」に減少することを示すように、使用状況情報を更新してよい。
 図6に示されるStep13において、管理基盤100は、ユーザ400から、アプリケーションの実行要求を受け付ける。ここでは、実行要求に含まれる割当リソース量情報によって示される割当リソース量が150GBであるものとして説明を続ける。
 図6に示されるStep14において、管理基盤100は、情報処理基盤1、情報処理基盤2、及び情報処理基盤3の中から、図6に示されるStep13で受け付けた実行要求の実行対象のアプリケーションを実行する情報処理基盤を選択する。管理基盤100は、例えば、選択条件1に従って、実行中のアプリケーションの数が最も少ない情報処理基盤を選択する。図6に示されるStep14において、情報処理基盤1、情報処理基盤2、及び情報処理基盤3のいずれも実行中のアプリケーションの数が1であるので、管理基盤100は、選択条件1に従って、情報処理基盤1、情報処理基盤2、及び情報処理基盤3を選択する。
 次に、管理基盤100は、選択条件2に従って、選択条件1によって選択された情報処理基盤1、情報処理基盤2、及び情報処理基盤3の中から、実行対象のアプリケーションを実行する情報処理基盤の数が最も少なくなるように、情報処理基盤を選択する。図6に示されるStep14において、情報処理基盤1のメモリリソース240の空きリソース量が50GBであり、情報処理基盤2のメモリリソース240の空きリソース量が100GBであり、情報処理基盤3のメモリリソース240の空きリソース量が0GBであるので、情報処理基盤1のメモリリソース240の空きリソース量、情報処理基盤2のメモリリソース240の空きリソース量、及び情報処理基盤3のメモリリソース240の空きリソース量は、割当リソース量の150GBより少ない。したがって、管理基盤100は、情報処理基盤1、情報処理基盤2、及び情報処理基盤3のいずれも実行対象のアプリケーションを単独で実行できないと決定する。
 管理基盤100は、選択条件1によって選択された情報処理基盤が複数存在する場合において、選択条件1によって選択された複数の情報処理基盤の各情報処理基盤のメモリリソース240の空きリソース量が割当リソース量より少ないと決定した場合、選択条件1によって選択された情報処理基盤のメモリリソース240の空きリソース量の合計が割当リソース量以上であるか否かを決定してよい。図6に示されるStep14において、情報処理基盤1のメモリリソース240の空きリソース量、情報処理基盤2のメモリリソース240の空きリソース量、及び情報処理基盤3のメモリリソース240の空きリソース量の合計が150GBである。したがって、管理基盤100は、報処理基盤1のメモリリソース240の空きリソース量、情報処理基盤2のメモリリソース240の空きリソース量、及び情報処理基盤3のメモリリソース240の空きリソース量の合計が割当リソース量の150GB以上であると決定する。
 管理基盤100は、選択条件1によって選択された情報処理基盤のメモリリソース240の空きリソース量の合計が割当リソース量であると決定した場合、メモリリソース240の空きリソース量の合計が割当リソース量以上となり且つ情報処理基盤の数が最も少なくなるように、実行対象のアプリケーションを実行する情報処理基盤として少なくとも2つの情報処理基盤を選択する。図6に示されるStep14において、情報処理基盤1及び情報処理基盤2の2つの情報処理基盤を選択した場合、情報処理基盤1のメモリリソース240の空きリソース量及び情報処理基盤2のメモリリソース240の空きリソース量の合計が150GBとなる。よって、情報処理基盤1のメモリリソース240の空きリソース量及び情報処理基盤2のメモリリソース240の空きリソース量の合計は、割当リソース量の150GB以上である。したがって、情報処理基盤1及び情報処理基盤2が実行対象のアプリケーションを実行した場合に最も少ない数の情報処理基盤で実行対象のアプリケーションを実行できるので、管理基盤100は、実行対象のアプリケーションを実行する情報処理基盤として、情報処理基盤1及び情報処理基盤2を選択する。
 図6に示されるStep15において、管理基盤100は、図6に示されるStep14で選択した情報処理基盤1及び情報処理基盤2に対して、実行対象のアプリケーションを実行する仮想化基盤を展開することを指示する。図6に示されるStep16において、情報処理基盤1及び情報処理基盤2は、管理基盤100からの指示に従って当該仮想化基盤を展開し、実行対象のアプリケーションを実行する。
 管理基盤100は、図6に示されるStep15において情報処理基盤1及び情報処理基盤2に対して実行対象のアプリケーションを実行する仮想化基盤を展開することを指示したことに応じて、図6に示されるように実行アプリケーション情報及び使用状況情報を更新してよい。ここでは、管理基盤100が実行対象のアプリケーションにアプリケーションID「0004」を割り当てたものとして説明を続ける。
 管理基盤100は、アプリケーションIDが「0004」のアプリケーションに「150GB」のメモリリソース240が割り当てられていることを示すように、実行アプリケーション情報を更新してよい。管理基盤100は、基盤IDが「0001」の情報処理基盤1が「50GB」のメモリリソース240を使用し且つ基盤IDが「0002」の情報処理基盤2が「100GB」のメモリリソース240を使用してアプリケーションIDが「0004」のアプリケーションを実行することによって、情報処理基盤1の実行中のアプリケーションの数が「1」から「2」に増加して情報処理基盤1のメモリリソース240の空きリソース量が「100GB」から「0GB」に減少し、情報処理基盤2の実行中のアプリケーションの数が「1」から「2」に増加して情報処理基盤2のメモリリソース240の空きリソース量が「50GB」から「0GB」に減少することを示すように、使用状況情報を更新してよい。
 図7に示されるStep17において、管理基盤100は、ユーザ400から、アプリケーションIDが「0004」のアプリケーションの中断要求を受け付ける。図7に示されるStep18において、管理基盤100は、図7に示されるStep17で受け付けた中断要求の中断対象のアプリケーションを実行中の情報処理基盤1及び情報処理基盤2に対して、中断対象のアプリケーションを中断することを指示する。図7に示されるStep19において、情報処理基盤1及び情報処理基盤2は、管理基盤100からの指示に従って、中断対象のアプリケーションを中断する。
 アプリケーションを中断する場合、アプリケーションを中断した後にアプリケーションの実行を再開し得る。したがって、アプリケーションが中断する場合、管理基盤100は、図7に示されるように、実行アプリケーション情報及び使用状況情報を更新しなくてよい。
 図8に示されるStep20において、管理基盤100は、ユーザ400から、アプリケーションIDが「0002」のアプリケーションの終了要求を受け付ける。図8に示されるStep21において、管理基盤100は、図8に示されるStep20で受け付けた終了要求の終了対象のアプリケーションを実行中の情報処理基盤3に対して、終了対象のアプリケーションを終了することを指示する。図8に示されるStep22において、情報処理基盤3は、管理基盤100からの指示に従って、終了対象のアプリケーションを終了する。
 アプリケーションを終了する場合、アプリケーションを終了した後にアプリケーションの実行を再開しない。したがって、アプリケーションを終了する場合、管理基盤100は、図8に示されるように、実行アプリケーション情報及び使用状況情報を更新してよい。
 管理基盤100は、アプリケーションIDが「0002」のアプリケーションの情報を削除するように、実行アプリケーション情報を更新してよい。管理基盤100は、基盤IDが「0003」の情報処理基盤3が、アプリケーションIDが「0002」のアプリケーションの実行を終了することによって、情報処理基盤3の実行中のアプリケーションの数が「1」から「0」に減少して、情報処理基盤3のメモリリソース240の空きリソース量が「0GB」から「150GB」に増加することを示すように、使用状況情報を更新してよい。
 図9に示されるStep23において、管理基盤100は、ユーザ400から、アプリケーションIDが「0004」のアプリケーションの再開要求を受け付ける。図9に示されるStep24において、管理基盤100は、情報処理基盤1、情報処理基盤2、及び情報処理基盤3の中から、図9に示されるStep23で受け付けた再開要求の再開対象のアプリケーションを実行する情報処理基盤を選択する。管理基盤100は、例えば、選択条件1に従って、実行中のアプリケーションの数が最も少ない情報処理基盤を選択する。図9に示されるStep24において、情報処理基盤3の実行中のアプリケーションの数が0であり、情報処理基盤1及び情報処理基盤2の実行中のアプリケーションの数が1であるので、管理基盤100は、選択条件1に従って、情報処理基盤3を選択する。
 次に、管理基盤100は、選択条件2に従って、再開対象のアプリケーションを実行する情報処理基盤として、選択条件1によって選択された情報処理基盤3を選択する場合に、再開対象のアプリケーションを実行する情報処理基盤の数が最も少なくなるように、情報処理基盤を選択する。図9に示されるStep24において、情報処理基盤3のメモリリソース240の空きリソース量が150GBであり、再開対象のアプリケーションの割当リソース量の150GB以上であるので、管理基盤100は、情報処理基盤3が再開対象のアプリケーションを単独で実行できると決定する。したがって、情報処理基盤3が再開対象のアプリケーションを単独で実行した場合に最も少ない数の情報処理基盤で再開対象のアプリケーションを実行できるので、管理基盤100は、再開対象のアプリケーションを実行する情報処理基盤として、情報処理基盤3を選択する。
 図9に示されるStep25において、管理基盤100は、情報処理基盤1及び情報処理基盤2に対して、再開対象のアプリケーションを実行する仮想化基盤を図9に示されるStep24で選択した情報処理基盤3に移行することを指示する。図9に示されるStep26において、情報処理基盤1及び情報処理基盤2は、管理基盤100からの指示に従って当該仮想化基盤を情報処理基盤3にする。その後、情報処理基盤3は、再開対象のアプリケーションを実行する。
 管理基盤100は、図9に示されるStep25において報処理基盤1及び情報処理基盤2に対して再開対象のアプリケーションを実行する仮想化基盤を情報処理基盤3に移行することを指示したことに応じて、図9に示されるように使用状況情報を更新してよい。管理基盤100は、基盤IDが「0001」の情報処理基盤1及び基盤IDが「0002」の情報処理基盤2が、アプリケーションIDが「0004」のアプリケーションを実行する仮想化基盤を情報処理基盤3に移行することによって、情報処理基盤1の実行中のアプリケーションの数が「2」から「1」に減少して情報処理基盤1のメモリリソース240の空きリソース量が「0GB」から「50GB」に増加し、情報処理基盤2の実行中のアプリケーションの数が「2」から「1」に減少して情報処理基盤2のメモリリソース240の空きリソース量が「0GB」から「100GB」に増加し、情報処理基盤3の実行中のアプリケーションの数が「0」から「1」に増加して情報処理基盤3のメモリリソース240の空きリソース量が「150GB」から「0GB」に減少することを示すように、使用状況情報を更新してよい。
 図10は、管理基盤100の機能構成の一例を概略的に示す。管理基盤100は、格納部102、取得部104、受付部106、選択部108、及び指示部110を備える。尚、管理基盤100がこれらの全ての構成を有することが必須とは限らない。
 格納部102は、各種情報を格納する。格納部102は、例えば、複数の情報処理基盤200の各情報処理基盤200の性能情報を格納する。格納部102は、例えば、基盤IDと、CPUメモリ性能情報と、GPUメモリ性能情報と、メモリリソース性能情報とを対応付けて、各情報処理基盤200の性能情報として格納する。
 格納部102は、例えば、各情報処理基盤200の実行アプリケーション情報を格納する。格納部102は、例えば、アプリケーションIDと、割当リソース量情報とを対応付けて、各情報処理基盤200の実行アプリケーション情報として格納する。
 格納部102は、例えば、各情報処理基盤200の使用状況情報を格納する。格納部102は、例えば、各情報処理基盤200の基盤IDと、各情報処理基盤200のアプリケーション数情報と、各情報処理基盤200上で実行中のアプリケーションのアプリケーションIDと、各情報処理基盤200の使用メモリリソース量情報と、各情報処理基盤200の空きメモリリソース量情報とを対応付けて、各情報処理基盤200の使用状況情報として格納する。
 各情報処理基盤200の使用メモリリソース量情報は、例えば、各情報処理基盤200がGPUメモリ244を使用している使用リソース量を示す使用GPUメモリリソース量情報を含む。各情報処理基盤200の使用メモリリソース量情報は、例えば、各情報処理基盤200がCPUメモリ242を使用している使用リソース量を示す使用CPUメモリリソース量情報を含む。
 各情報処理基盤200の空きメモリリソース量情報は、例えば、各情報処理基盤200のGPUメモリ244の空きリソース量を示す空きGPUメモリリソース量情報を含む。各情報処理基盤200の空きメモリリソース量情報は、例えば、各情報処理基盤200のCPUメモリ242の空きリソース量を示す空きCPUメモリリソース量情報を含む。
 取得部104は、各種情報を取得する。取得部104は、取得した情報を格納部102に格納してよい。
 取得部104は、例えば、情報処理基盤200から、各種情報を取得する。取得部104は、例えば、複数の情報処理基盤200の各情報処理基盤200から、各種情報を取得する。
 取得部104は、例えば、コアネットワークを介して、各種情報を取得する。取得部104は、インターネットを介して、各種情報を取得してもよい。
 取得部104は、例えば、各情報処理基盤200の空きメモリリソース量情報を取得する。取得部104は、例えば、各情報処理基盤200のアプリケーション数情報を取得する。取得部104は、例えば、各情報処理基盤200の使用状況情報を取得する。
 受付部106は、各種要求を受け付ける。受付部106は、例えば、各種要求を受信することによって、各種要求を受け付ける。受付部106は、例えば、コアネットワークを介して、各種要求を受信する。受付部106は、例えば、インターネットを介して、各種要求を受信する。受付部106は、例えば、ユーザ400が所有する通信デバイスから、各種要求を受信する。受付部106は、管理基盤100が備える入力部を介して、各種要求を受け付けてもよい。
 受付部106は、例えば、アプリケーションの実行要求を受け付ける。実行要求は、例えば、実行対象のアプリケーションの割当リソース量情報を含む。実行要求は、例えば、実行対象のアプリケーションの処理内容を示す処理内容情報を含む。実行対象のアプリケーションの処理内容は、例えば、GPUメモリ244が用いられる場合の処理速度が、CPUメモリ242が用いられる場合の処理速度と比較して高速であることを示す。実行対象のアプリケーションの処理内容は、例えば、CPUメモリ242が用いられる場合の処理速度が、GPUメモリ244が用いられる場合の処理速度と比較して高速であることを示す。
 受付部106は、例えば、アプリケーションの中断要求を受け付ける。受付部106は、例えば、アプリケーションの終了要求を受け付ける。受付部106は、アプリケーションの再開要求を受け付けてもよい。
 選択部108は、管理基盤100の管理対象の複数の情報処理基盤200の中から、情報処理基盤200を選択する。選択部108は、例えば、受付部106が各種要求を受け付けた場合、情報処理基盤200を選択する。
 選択部108は、例えば、格納部102に格納されている各種情報に基づいて、情報処理基盤200を選択する。選択部108は、例えば、格納部102に格納されているアプリケーション数情報に基づいて、複数の情報処理基盤200を実行中のアプリケーションの数が少ない順に順位付けすることによって、情報処理基盤200を選択する。
 選択部108は、例えば、受付部106がアプリケーションの実行要求を受け付けた場合、実行要求に含まれる割当リソース量情報と、格納部102に格納されているメモリリソース量情報及びアプリケーション数情報とに基づいて、情報処理基盤200を選択する。選択部108は、例えば、実行対象のアプリケーションを実行する情報処理基盤200として、複数の情報処理基盤200の中から、実行中のアプリケーションの数が最も少ない情報処理基盤200を選択する。
 選択部108は、例えば、実行中のアプリケーションの数が最も少ない情報処理基盤200のメモリリソース240の空きリソース量が、実行要求に含まれる割当リソース量情報によって示される割当リソース量以上であるか否かを決定することによって、実行対象のアプリケーションを実行する情報処理基盤200を選択する。例えば、選択部108は、実行中のアプリケーションの数が最も少ない情報処理基盤200のメモリリソース240の空きリソース量が割当リソース量以上であると決定した場合、実行対象のアプリケーションを実行する情報処理基盤200として、実行中のアプリケーションの数が最も少ない情報処理基盤200を選択する。この場合、選択部108は、実行対象のアプリケーションを実行する情報処理基盤200として、1つの情報処理基盤200を選択する。選択部108は、例えば、実行中のアプリケーションの数が最も少ない情報処理基盤200が複数存在する場合において、実行中のアプリケーションの数が最も少ない複数の情報処理基盤200のうちの少なくとも2つの情報処理基盤200のメモリリソース240の空きリソース量が割当リソース量以上であると決定した場合、実行対象のアプリケーションを実行する情報処理基盤200として、当該少なくとも2つの情報処理基盤200の中から、メモリリソース240の空きリソース量が最も少ない情報処理基盤200を選択する。
 一方で、選択部108は、実行中のアプリケーションの数が最も少ない情報処理基盤200のメモリリソース240の空きリソース量が割当リソース量より少ないと決定した場合、実行対象のアプリケーションを実行する情報処理基盤200として、実行中のアプリケーションの数が最も少ない情報処理基盤200を含む複数の情報処理基盤200を選択する。選択部108は、例えば、実行中のアプリケーションの数が最も少ない情報処理基盤200のメモリリソース240の空きリソース量が割当リソース量より少ないと決定した場合、実行対象のアプリケーションを実行する情報処理基盤200として、実行中のアプリケーションの数が最も少ない情報処理基盤200及び実行中のアプリケーションの数が2番目に少ない情報処理基盤200を選択する。
 選択部108は、実行中のアプリケーションの数が最も少ない情報処理基盤200が複数存在する場合において、実行中のアプリケーションの数が最も少ない複数の情報処理基盤200の各情報処理基盤200のメモリリソースの空きリソース量が割当リソース量より少ないと決定した場合、実行中のアプリケーションの数が最も少ない複数の情報処理基盤200のメモリリソース240の空きリソース量の合計が割当リソース量以上であるか否かを決定することによって、実行対象のアプリケーションを実行する情報処理基盤200を選択してよい。例えば、選択部108は、実行中のアプリケーションの数が最も少ない複数の情報処理基盤200のメモリリソース240の空きリソース量の合計が割当リソース量以上であると決定した場合、実行対象のアプリケーションを実行する情報処理基盤200として、メモリリソース240の空きリソース量の合計が割当リソース量以上となるように、実行中のアプリケーションの数が最も少ない複数の情報処理基盤200のうちの少なくとも2つの情報処理基盤200を選択する。この場合、選択部108は、メモリリソース240の空きリソース量の合計が割当リソース量以上となり且つ情報処理基盤200の数が最も少なくなるように、当該少なくとも2つの情報処理基盤200を選択してよい。選択部108は、例えば、メモリリソース240の空きリソース量の合計が割当リソース量以上となり且つ情報処理基盤200の数が最も少なくなる情報処理基盤200の組み合わせが複数存在する場合、当該少なくとも2つの情報処理基盤200として、情報処理基盤200の組み合わせの中から、メモリリソース240の空きリソース量が最も少ない情報処理基盤200の組み合わせを選択する。一方で、選択部108は、実行中のアプリケーションの数が最も少ない複数の情報処理基盤200のメモリリソース240の空きリソース量の合計が割当リソース量より少ないと決定した場合、実行対象のアプリケーションを実行する情報処理基盤200として、実行中のアプリケーションの数が最も少ない複数の情報処理基盤200及び実行中のアプリケーションの数が2番目に少ない情報処理基盤200を選択する。
 選択部108は、実行対象のアプリケーションを実行する情報処理基盤200として、実行中のアプリケーションの数が2番目に少ない情報処理基盤200を選択する場合、実行中のアプリケーションの数が最も少ない情報処理基盤200のメモリリソース240の空きリソース量及び実行中のアプリケーションの数が2番目に少ない情報処理基盤200のメモリリソース240の空きリソース量の合計が割当リソース量以上であるか否かを決定することによって、実行対象のアプリケーションを実行する情報処理基盤200を選択してよい。例えば、選択部108は、実行中のアプリケーションの数が最も少ない情報処理基盤200のメモリリソース240の空きリソース量及び実行中のアプリケーションの数が2番目に少ない情報処理基盤200のメモリリソース240の空きリソース量の合計が割当リソース量以上であると決定した場合、実行対象のアプリケーションを実行する情報処理基盤200として、メモリリソース240の空きリソース量の合計が割当リソース量以上となるように、実行中のアプリケーションの数が最も少ない情報処理基盤200及び実行中のアプリケーションの数が2番目に少ない情報処理基盤200を選択する。
 一方で、選択部108は、実行中のアプリケーションの数が最も少ない情報処理基盤200のメモリリソース240の空きリソース量及び実行中のアプリケーションの数が2番目に少ない情報処理基盤200のメモリリソース240の空きリソース量の合計が割当リソース量より少ないと決定した場合、情報処理基盤200のメモリリソース240の空きリソース量の合計が割当リソース量以上になるまで、実行対象のアプリケーションを実行する情報処理基盤200として、実行中のアプリケーションの数が少ない順に、実行中のアプリケーションの数が3番目以降に少ない情報処理基盤200をさらに選択してよい。選択部108は、管理基盤100の管理対象の全ての情報処理基盤200の空きリソース量の合計が割当リソース量より少ないと決定した場合、実行対象のアプリケーションを実行できないと決定してよい。
 選択部108は、例えば、受付部106がアプリケーションの実行要求を受け付けた場合、実行要求に含まれる割当リソース量情報と、格納部102に格納されている空きメモリリソース量情報に含まれる空きGPUメモリリソース量情報及びCPUメモリリソース量情報並びにアプリケーション数情報とに基づいて、実行対象のアプリケーションを実行する情報処理基盤200として、複数の情報処理基盤200の中から、実行中のアプリケーションの数が最も少ない情報処理基盤200を選択する。選択部108は、例えば、実行中のアプリケーションの数が最も少ない情報処理基盤200が複数存在する場合において、実行中のアプリケーションの数が最も少ない複数の情報処理基盤200のうちの少なくとも2つの情報処理基盤200のメモリリソース240の空きリソース量が割当リソース量以上である場合、実行対象のアプリケーションを実行する情報処理基盤200として、当該少なくとも2つの情報処理基盤200の中から、GPUメモリ244の空きリソース量及びCPUメモリ242の空きリソース量のうちの少なくとも一方が割当リソース量以上である情報処理基盤200を選択する。選択部108は、例えば、実行対象のアプリケーションを実行する情報処理基盤200として、当該少なくとも2つの情報処理基盤200の中から、GPUメモリ244の空きリソース量が割当リソース量以上である情報処理基盤200を選択する。選択部108は、実行対象のアプリケーションを実行する情報処理基盤200として、当該少なくとも2つの情報処理基盤200の中から、CPUメモリ242の空きリソース量が割当リソース量以上である情報処理基盤200を選択してもよい。
 選択部108は、例えば、実行要求に含まれる処理内容情報にさらに基づいて、実行対象のアプリケーションを実行する情報処理基盤200として、複数の情報処理基盤200の中から、実行中のアプリケーションの数が最も少ない情報処理基盤200を選択する。選択部108は、例えば、実行中のアプリケーションの数が最も少ない情報処理基盤200が複数存在する場合において、実行中のアプリケーションの数が最も少ない複数の情報処理基盤200のうちの少なくとも2つの情報処理基盤200のメモリリソース240の空きリソース量が割当リソース量以上である場合、GPUメモリ244を用いて実行対象のアプリケーションが実行された場合の処理速度がCPUメモリ242を用いて実行対象のアプリケーションが実行された場合の処理速度と比較して高速である実行対象のアプリケーションを実行する情報処理基盤200として、当該少なくとも2つの情報処理基盤200の中から、GPUメモリ244の空きリソース量が割当リソース量以上である情報処理基盤200を選択する。選択部108は、例えば、実行中のアプリケーションの数が最も少ない情報処理基盤200が複数存在する場合において、実行中のアプリケーションの数が最も少ない複数の情報処理基盤200のうちの少なくとも2つの情報処理基盤200のメモリリソース240の空きリソース量が割当リソース量以上である場合、CPUメモリ242を用いて実行対象のアプリケーションが実行された場合の処理速度がGPUメモリ244を用いて実行対象のアプリケーションが実行された場合の処理速度と比較して高速である実行対象のアプリケーションを実行する情報処理基盤200として、当該少なくとも2つの情報処理基盤200の中から、CPUメモリ242の空きリソース量が割当リソース量以上である情報処理基盤200を選択する。
 選択部108は、例えば、受付部106がアプリケーションの再開要求を受け付けた場合、複数の情報処理基盤200の中から、再開要求の再開対象のアプリケーションを実行する情報処理基盤200を選択する。選択部108は、実行要求の実行対象のアプリケーションを実行する情報処理基盤200を選択する場合と同様にして、再開要求の再開対象のアプリケーションを実行する情報処理基盤200を選択してよい。
 指示部110は、情報処理基盤200に対して各種処理の実行を指示する。管理基盤100は、例えば、コアネットワークを介して、情報処理基盤200に対して各種処理の実行を指示する。管理基盤100は、インターネットを介して、情報処理基盤200に対して各種処理の実行を指示してもよい。
 指示部110は、例えば、受付部106がアプリケーションの実行要求を受け付けた場合、選択部108によって選択された情報処理基盤200に対して、実行対象のアプリケーションを実行する仮想化基盤を展開することを指示する。指示部110は、例えば、受付部106がアプリケーションの中断要求を受け付けた場合、中断要求の中断対象のアプリケーションを実行中の情報処理基盤200に対して、中断対象のアプリケーションを中断することを指示する。指示部110は、例えば、受付部106がアプリケーションの終了要求を受け付けた場合、終了要求の終了対象のアプリケーションを実行中の情報処理基盤200に対して、終了対象のアプリケーションを終了することを指示する。指示部110は、例えば、受付部106がアプリケーションの再開要求を受け付けた場合、再開要求の再開対象のアプリケーションを中断前に実行していた情報処理基盤200に対して、アプリケーションを再開することを指示する。指示部110は、例えば、受付部106がアプリケーションの再開要求を受け付けた場合、再開要求の再開対象のアプリケーションを中断前に実行していた情報処理基盤200に対して、再開対象のアプリケーションを実行する仮想化基盤を選択部108によって選択された情報処理基盤200に移行することを指示する。
 指示部110は、例えば、情報処理基盤200に対して各種処理の実行を指示したことに応じて、格納部102に格納されている各種情報を更新する。指示部110は、例えば、情報処理基盤200に対して実行要求の実行対象のアプリケーションを実行する仮想化基盤を展開することを指示したことに応じて、格納部102に格納されている実行アプリケーション情報及び使用状況情報を更新する。指示部110は、例えば、情報処理基盤200に対して終了要求の終了対象のアプリケーションを終了することを指示したことに応じて、格納部102に格納されている実行アプリケーション情報及び使用状況情報を更新する。指示部110は、例えば、情報処理基盤200に対して再開要求の再開対象のアプリケーションを実行する仮想化基盤を選択部108によって選択された情報処理基盤200に移行することを指示したことに応じて、格納部102に格納されている使用状況情報を更新する。
 図11は、情報処理基盤200の機能構成の一例を概略的に示す。情報処理基盤200は、受付部202、実行部204、及び通知部208を備える。尚、情報処理基盤200がこれらの全ての構成を有することが必須とは限らない。
 受付部202は、各種処理の実行を受け付ける。受付部202は、例えば、管理基盤100から、各種処理の実行を受け付ける。
 受付部202は、例えば、コアネットワークを介して、各種処理の実行の指示を受け付ける。受付部202は、インターネットを介して、各種処理の実行の指示を受け付けてもよい。
 受付部202は、例えば、アプリケーションの実行要求の実行対象のアプリケーションを実行する仮想化基盤を展開する指示を受け付ける。受付部202は、例えば、中断要求の中断対象のアプリケーションを中断する指示を受け付ける。受付部202は、例えば、終了要求の終了対象のアプリケーションを終了する指示を受け付ける。受付部202は、例えば、再開要求の再開対象のアプリケーションを再開する指示を受け付ける。受付部202は、例えば、再開要求の再開対象のアプリケーションを実行する仮想化基盤を他の情報処理基盤200に移行する指示を受け付ける。
 実行部204は、各種処理を実行する。実行部204は、例えば、受付部202が各種処理の実行の指示を受け付けた場合、各種処理を実行する。
 実行部204は、例えば、受付部202がアプリケーションの実行要求の実行対象のアプリケーションを実行する仮想化基盤を展開する指示を受け付けた場合、実行対象のアプリケーションを実行する仮想化基盤を展開する。実行部204は、例えば、受付部202が中断要求の中断対象のアプリケーションを中断する指示を受け付けた場合、中断対象のアプリケーションを中断する。実行部204は、例えば、受付部202が終了要求の終了対象のアプリケーションを終了する指示を受け付けた場合、終了対象のアプリケーションを終了する。実行部204は、例えば、受付部202が再開要求の再開対象のアプリケーションを再開する指示を受け付けた場合、再開対象のアプリケーションを再開する。受付部202は、例えば、再開要求の再開対象のアプリケーションを実行する仮想化基盤を他の情報処理基盤200に移行する指示を受け付けた場合、当該仮想化基盤を他の情報処理基盤200に移行する。
 実行部204は、例えば、RAN制御機能205と、アプリ実行機能207とを含む。RAN制御機能205及びアプリ実行機能207は、同一の演算リソース220を使用してよい。RAN制御機能205及びアプリ実行機能207は、同一のメモリリソース240を使用してよい。
 RAN制御機能205は、RAN300の機能を制御する。RAN制御機能205は、例えば、RAN300の機能を制御するためのアプリケーションを実行する仮想化基盤を展開することによって、RAN300の機能を制御する。
 アプリ実行機能207は、RAN300の機能を制御するためのアプリケーションとは異なる他のアプリケーションを実行する。アプリ実行機能207は、例えば、他のアプリケーションを実行する仮想化基盤を展開することによって、他のアプリケーションを実行する。
 他のアプリケーションは、例えば、AIアプリケーションである。他のアプリケーションは、例えば、非RAN_AIアプリケーションである。
 通知部208は、各種情報を通知する。通知部208は、例えば、管理基盤100に各種情報を通知する。
 通知部208は、例えば、各種情報を定期的に通知する。通知部208は、例えば、受付部202が各種処理の実行を受け付けたことに応じて、各種情報を通知する。
 通知部208は、例えば、コアネットワークを介して、各種情報を通知する。通知部208は、インターネットを介して、各種情報を通知してもよい。
 通知部208は、例えば、情報処理基盤200の性能情報を通知する。通知部208は、例えば、情報処理基盤200の空きメモリリソース量情報を通知する。通知部208は、例えば、情報処理基盤200のアプリケーション数情報を通知する。通知部208は、例えば、情報処理基盤200の使用状況情報を通知する。
 図12及び図13は、管理基盤100の処理の流れの一例について説明するための説明図である。ここでは、管理基盤100がアプリケーションの実行要求を受け付けていない状態を開始状態とする。
 図12に示されるステップ(ステップをSと省略して記載する場合がある。)102において、受付部106は、アプリケーションの実行要求を受け付ける。図12に示されるS104において、取得部104は、複数の情報処理基盤200の各情報処理基盤200の使用状況情報を取得する。
 図12に示されるS106において、選択部108は、図12に示されるS104で取得部104が取得した使用状況情報に含まれるアプリケーション数情報に基づいて、複数の情報処理基盤200を実行中のアプリケーションの数が少ない順に順位付けする。選択部108は、実行中のアプリケーションの数が最も少ない情報処理基盤200に対して最も高い順位を付け、実行中のアプリケーションの数が2番目に少ない情報処理基盤200に対して2番目に高い順位を付け、・・・、実行中のアプリケーションの数がn番目に少ない情報処理基盤200に対してn番目に高い順位を付ける。尚、nは自然数である。
 図12に示されるS108において、選択部108は、図12に示されるS106で最も高い順位を付けた情報処理基盤200が、図12に示されるS102で受付部106が受け付けた実行要求の実行対象のアプリケーションを単独で実行できるか否かを決定する。選択部108は、例えば、最も順位が高い情報処理基盤200のメモリリソース240の空きリソース量が実行要求に含まれる割当リソース量情報によって示される割当リソース量以上であるか否かを決定することによって、最も順位が高い情報処理基盤200が実行対象のアプリケーションを単独で実行できるか否かを決定する。例えば、選択部108は、最も順位が高い情報処理基盤200のメモリリソース240の空きリソース量が割当リソース量以上であると決定した場合、最も順位が高い情報処理基盤200が実行対象のアプリケーションを単独で実行できると決定する。一方で、選択部108は、最も順位が高い情報処理基盤200のメモリリソース240の空きリソース量が割当リソース量より少ないと決定した場合、最も順位が高い情報処理基盤200が実行対象のアプリケーションを単独で実行できないと決定する。
 最も順位が高い情報処理基盤200が実行対象のアプリケーションを単独で実行できると選択部108が決定した場合、図12に示されるS110に進む。最も順位が高い情報処理基盤200が実行対象のアプリケーションを単独で実行できないと選択部108が決定した場合、図13に示されるS114に進む。
 図12に示されるS110において、選択部108は、最も順位が高く且つ実行対象のアプリケーションを単独で実行できる情報処理基盤200が複数存在するか否かを決定する。最も順位が高く且つ実行対象のアプリケーションを単独で実行できる情報処理基盤200が複数存在すると選択部108が決定した場合、図12に示されるS112に進む。最も順位が高く且つ実行対象のアプリケーションを単独で実行できる情報処理基盤200が1つだけ存在すると選択部108が決定した場合、選択部108は、実行対象のアプリケーションを実行する情報処理基盤200として、最も順位が高く且つ実行対象のアプリケーションを単独で実行できる情報処理基盤200を選択する。その後、図12に示されるS130に進む。
 図12に示されるS112において、選択部108は、最も順位が高く且つ実行対象のアプリケーションを単独で実行できる複数の情報処理基盤200の中から、実行対象のアプリケーションを実行する情報処理基盤200を選択する。選択部108は、例えば、実行対象のアプリケーションを実行する情報処理基盤200として、最も順位が高く且つ実行対象のアプリケーションを単独で実行できる複数の情報処理基盤200の中から、メモリリソース240の空きリソース量が最も少ない情報処理基盤200を選択する。
 図13に示されるS114において、選択部108は、最も順位が高い情報処理基盤200が複数存在するか否かを決定する。最も順位が高い情報処理基盤200が複数存在すると選択部108が決定した場合、図13に示されるS116に進む。最も順位が高い情報処理基盤200が1つだけ存在すると選択部108が決定した場合、図13に示されるS120に進む。
 図13に示されるS116において、選択部108は、最も順位が高い複数の情報処理基盤200が、図12に示されるS102で受付部106が受け付けた実行要求の実行対象のアプリケーションを実行できるか否かを決定する。選択部108は、例えば、最も順位が高い複数の情報処理基盤200の各情報処理基盤200のメモリリソース240の空きリソース量の合計が実行要求に含まれる割当リソース量情報によって示される割当リソース量以上であるか否かを決定することによって、最も順位が高い複数の情報処理基盤200が実行対象のアプリケーションを実行できるか否かを決定する。例えば、選択部108は、最も順位が高い複数の情報処理基盤200の各情報処理基盤200のメモリリソース240の空きリソース量の合計が割当リソース量以上であると決定した場合、最も順位が高い複数の情報処理基盤200が実行対象のアプリケーションを実行できると決定する。一方で、選択部108は、最も順位が高い複数の情報処理基盤200の各情報処理基盤200のメモリリソース240の空きリソース量の合計が割当リソース量より少ないと決定した場合、最も順位が高い複数の情報処理基盤200が実行対象のアプリケーションを実行できないと決定する。
 最も順位が高い複数の情報処理基盤200が実行対象のアプリケーションを実行できると選択部108が決定した場合、図13に示されるS118に進む。最も順位が高い複数の情報処理基盤200が実行対象のアプリケーションを実行できないと選択部108が決定した場合、図13に示されるS120に進む。
 図13に示されるS118において、選択部108は、実行対象のアプリケーションを実行する情報処理基盤200として、メモリリソース240の空きリソース量の合計が割当リソース量以上となるように、最も順位が高い複数の情報処理基盤200の中から、少なくとも2つの情報処理基盤200を選択する。その後、図12に示されるS130に進む。
 図13に示されるS120において、選択部108は、最も順位が高い情報処理基盤200からk番目に順位が高い情報処理基盤200までの複数の情報処理基盤200が、図12に示されるS102で受付部106が受け付けた実行要求の実行対象のアプリケーションを実行できるか否かを決定する。選択部108は、例えば、最も順位が高い情報処理基盤200からk番目に順位が高い情報処理基盤200までの複数の情報処理基盤200の各情報処理基盤200のメモリリソース240の空きリソース量の合計が実行要求に含まれる割当リソース量情報によって示される割当リソース量以上であるか否かを決定することによって、最も順位が高い情報処理基盤200からk番目に順位が高い情報処理基盤200までの複数の情報処理基盤200が実行対象のアプリケーションを実行できるか否かを決定する。例えば、選択部108は、最も順位が高い情報処理基盤200からk番目に順位が高い情報処理基盤200までの複数の情報処理基盤200の各情報処理基盤200のメモリリソース240の空きリソース量の合計が割当リソース量以上であると決定した場合、最も順位が高い情報処理基盤200からk番目に順位が高い情報処理基盤200までの複数の情報処理基盤200が実行対象のアプリケーションを実行できると決定する。一方で、選択部108は、最も順位が高い情報処理基盤200からk番目に順位が高い情報処理基盤200までの複数の情報処理基盤200の各情報処理基盤200のメモリリソース240の空きリソース量の合計が割当リソース量より少ないと決定した場合、最も順位が高い情報処理基盤200からk番目に順位が高い情報処理基盤200までの複数の情報処理基盤200が実行対象のアプリケーションを実行できないと決定する。尚、kはk≦nを満たす自然数である。
 最も順位が高い情報処理基盤200からk番目に順位が高い情報処理基盤200までの複数の情報処理基盤200が実行対象のアプリケーションを実行できると選択部108が決定した場合、図13に示されるS122に進む。最も順位が高い情報処理基盤200からk番目に順位が高い情報処理基盤200までの複数の情報処理基盤200が実行対象のアプリケーションを実行できないと選択部108が決定した場合、図13に示されるS124に進む。
 図13に示されるS122において、選択部108は、実行対象のアプリケーションを実行する情報処理基盤200として、メモリリソース240の空きリソース量の合計が割当リソース量以上となるように、最も順位が高い情報処理基盤200からk番目に順位が高い情報処理基盤200までの複数の情報処理基盤200を選択する。この場合、選択部108は、最初に、最も順位が高い情報処理基盤200からk-1番目に順位が高い情報処理基盤200までを選択し、次に、k番目に順位が高い情報処理基盤200を選択する。その後、図12に示されるS130に進む。
 図13に示されるS124において、選択部108は、kがnより小さいか否かを決定する。kがnより小さいと選択部108が決定した場合、図13に示されるS126に進む。kがnに等しいと選択部108が決定した場合、図13に示されるS128に進む。
 図13に示されるS126において、選択部108は、k=k+1に設定する。その後、図13に示されるS120に戻る。
 ここで、k=2である場合に、図13に示されるS120において、最も順位が高い情報処理基盤200から2番目に順位が高い情報処理基盤200までの複数の情報処理基盤200が実行対象のアプリケーションを実行できないと選択部108が決定し、図13に示されるS124において、kがnより小さいと選択部108が決定した場合の一例を説明する。この場合、図13に示されるS126において、選択部108は、k=2+1=3に設定する。その後、図13に示されるS120に戻り、選択部108は、最も順位が高い情報処理基盤200から3番目に順位が高い情報処理基盤200までの複数の情報処理基盤200が実行対象のアプリケーションを実行できるか否かを決定する。
 図13に示されるS128において、選択部108は、実行対象のアプリケーションを実行できないと決定する。その後、管理基盤100の処理が終了する。
 図12に示されるS130において、指示部110は、実行対象のアプリケーションを実行する情報処理基盤200として選択部108によって選択された情報処理基盤200に対して、実行対象のアプリケーションを実行する仮想化基盤を展開することを指示する。その後、管理基盤100の処理が終了する。
 図14は、管理基盤100又は情報処理基盤200として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、本実施形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、本実施形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ1200に、本実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
 本実施形態によるコンピュータ1200は、CPU1212、RAM1214、及びグラフィックコントローラ1216を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、記憶装置1224、DVDドライブ1226、及びICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ1220を介してホストコントローラ1210に接続されている。DVDドライブ1226は、DVD-ROMドライブ及びDVD-RAMドライブ等であってよい。記憶装置1224は、ハードディスクドライブ及びソリッドステートドライブ等であってよい。コンピュータ1200はまた、ROM1230及びキーボードのようなレガシの入出力ユニットを含み、それらは入出力チップ1240を介して入出力コントローラ1220に接続されている。
 CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又はそれ自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。
 通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。記憶装置1224は、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納する。DVDドライブ1226は、プログラム又はデータをDVD-ROM1227等から読み取り、記憶装置1224に提供する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。
 ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをUSBポート、パラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。
 プログラムは、DVD-ROM1227又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
 例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、記憶装置1224、DVD-ROM1227、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
 また、CPU1212は、記憶装置1224、DVDドライブ1226(DVD-ROM1227)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
 様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
 上で説明したプログラム又はソフトウエアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
 本実施形態におけるフローチャート及びブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウェア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、及びプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、及び他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。
 コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャート又はブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、Blu-ray(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
 コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。
 コンピュータ可読命令は、コンピュータ等のプログラム可能なデータ処理装置のプロセッサ又はプログラマブル回路に対し、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、フローチャート又はブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。ここで、コンピュータは、PC(パーソナルコンピュータ)、タブレット型コンピュータ、スマートフォン、ワークステーション、サーバコンピュータ、汎用コンピュータ、又は特殊目的のコンピュータ等であってよく、複数のコンピュータが接続されたコンピュータシステムであってもよい。このような複数のコンピュータが接続されたコンピュータシステムは分散コンピューティングシステムとも呼ばれ、広義のコンピュータである。分散コンピューティングシステムにおいては、複数のコンピュータのそれぞれがプログラムの一部ずつを実行し、必要に応じてコンピュータ間でプログラム実行中のデータを受け渡すことによって、複数のコンピュータが集合的にプログラムを実行する。
 プロセッサの例としては、コンピュータプロセッサ、中央処理装置(CPU)、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。コンピュータは、1つのプロセッサ又は複数のプロセッサを備えてよい。複数のプロセッサを備えるマルチプロセッサシステムにおいては、それぞれのプロセッサがプログラムの一部ずつを実行し、必要に応じてプロセッサ間でプログラム実行中のデータを受け渡すことによって、複数のプロセッサが集合的にプログラムを実行する。例えば、マルチタスクの実行において、複数のプロセッサのそれぞれは、タイムスライス毎にタスクスイッチすることにより各タスクの一部分ずつを細切れに実行してよい。この場合、各プロセッサが1つのプログラムのうちどの部分を実行するかは、動的に変化する。複数のプロセッサのそれぞれがプログラムのどの部分を実行するかは、マルチプロセッサを意識したプログラミングにより静的に定められてもよい。
 以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
 請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
 10 システム、40 無線基地局、50 通信端末、100 管理基盤、102 格納部、104 取得部、106 受付部、108 選択部、110 指示部、200 情報処理基盤、202 受付部、204 実行部、205 RAN制御機能、207 アプリ実行機能、208 通知部、220 演算リソース、222 CPU、224 GPU、240 メモリリソース、242 CPUメモリ、244 GPUメモリ、280 スイッチ、300 RAN、400 ユーザ、1200 コンピュータ、1210 ホストコントローラ、1212 CPU、1214 RAM、1216 グラフィックコントローラ、1218 ディスプレイデバイス、1220 入出力コントローラ、1222 通信インタフェース、1224 記憶装置、1226 DVDドライブ、1227 DVD-ROM、1230 ROM、1240 入出力チップ

Claims (12)

  1.  GPU(Graphics Processing Unit)メモリと、CPU(Central Processing Unit)メモリとを含むメモリリソースを有する情報処理基盤を管理する管理基盤であって、
     複数の前記情報処理基盤の各情報処理基盤の前記メモリリソースの空きリソース量を示す空きメモリリソース量情報と、前記複数の情報処理基盤の前記各情報処理基盤上で実行中のアプリケーションの数を示すアプリケーション数情報とを取得する取得部と、
     アプリケーションの実行要求を受け付ける受付部と、
     前記実行要求に含まれる、実行対象の前記アプリケーションを実行するために割り当てられる必要があるメモリリソースの割当リソース量を示す割当リソース量情報と、前記空きメモリリソース量情報と、前記アプリケーション数情報とに基づいて、実行対象の前記アプリケーションを実行する情報処理基盤として、前記複数の情報処理基盤の中から、実行中の前記アプリケーションの数が最も少ない情報処理基盤を選択する選択部と
     を備える、管理基盤。
  2.  前記選択部は、
     実行中の前記アプリケーションの数が最も少ない前記情報処理基盤の前記メモリリソースの前記空きリソース量が前記割当リソース量以上であるか否かを決定し、
     実行中の前記アプリケーションの数が最も少ない前記情報処理基盤の前記メモリリソースの前記空きリソース量が前記割当リソース量以上であると決定した場合、実行対象の前記アプリケーションを実行する前記情報処理基盤として、実行中の前記アプリケーションの数が最も少ない前記情報処理基盤を選択し、
     実行中の前記アプリケーションの数が最も少ない前記情報処理基盤の前記メモリリソースの前記空きリソース量が前記割当リソース量より少ないと決定した場合、実行対象の前記アプリケーションを実行する前記情報処理基盤として、実行中の前記アプリケーションの数が最も少ない前記情報処理基盤を含む複数の情報処理基盤を選択する、
     請求項1に記載の管理基盤。
  3.  前記選択部は、実行中の前記アプリケーションの数が最も少ない前記情報処理基盤が複数存在する場合において、実行中の前記アプリケーションの数が最も少ない複数の前記情報処理基盤のうちの少なくとも2つの情報処理基盤の前記メモリリソースの前記空きリソース量が前記割当リソース量以上であると決定した場合、実行対象の前記アプリケーションを実行する前記情報処理基盤として、前記少なくとも2つの情報処理基盤の中から、前記メモリリソースの前記空きリソース量が最も少ない情報処理基盤を選択する、
     請求項2に記載の管理基盤。
  4.  前記選択部は、実行中の前記アプリケーションの数が最も少ない前記情報処理基盤の前記メモリリソースの前記空きリソース量が前記割当リソース量より少ないと決定した場合、実行対象の前記アプリケーションを実行する前記情報処理基盤として、実行中の前記アプリケーションの数が最も少ない前記情報処理基盤及び実行中の前記アプリケーションの数が2番目に少ない情報処理基盤を選択する、請求項2又は3に記載の管理基盤。
  5.  前記選択部は、
     実行中の前記アプリケーションの数が最も少ない前記情報処理基盤が複数存在する場合において、実行中の前記アプリケーションの数が最も少ない複数の前記情報処理基盤の各情報処理基盤の前記メモリリソースの前記空きリソース量が前記割当リソース量より少ないと決定した場合、実行中の前記アプリケーションの数が最も少ない前記複数の情報処理基盤の前記メモリリソースの前記空きリソース量の合計が前記割当リソース量以上であるか否かをさらに決定し、
     実行中の前記アプリケーションの数が最も少ない前記複数の情報処理基盤の前記メモリリソースの前記空きリソース量の合計が前記割当リソース量以上であると決定した場合、実行対象の前記アプリケーションを実行する前記情報処理基盤として、前記メモリリソースの前記空きリソース量の合計が前記割当リソース量以上となるように、実行中の前記アプリケーションの数が最も少ない前記複数の情報処理基盤のうちの少なくとも2つの情報処理基盤を選択し、
     実行中の前記アプリケーションの数が最も少ない前記複数の情報処理基盤の前記メモリリソースの前記空きリソース量の合計が前記割当リソース量より少ないと決定した場合、実行対象の前記アプリケーションを実行する前記情報処理基盤として、実行中の前記アプリケーションの数が最も少ない前記複数の情報処理基盤及び実行中の前記アプリケーションの数が2番目に少ない情報処理基盤を選択する、
     請求項2又は3に記載の管理基盤。
  6.  前記選択部は、前記メモリリソースの前記空きリソース量の合計が前記割当リソース量以上となり且つ前記情報処理基盤の数が最も少なくなるように、前記少なくとも2つの情報処理基盤を選択する、請求項5に記載の管理基盤。
  7.  前記取得部は、前記複数の情報処理基盤の前記各情報処理基盤の前記GPUメモリの空きリソース量を示す空きGPUメモリリソース量情報と、前記複数の情報処理基盤の前記各情報処理基盤の前記CPUメモリの空きリソース量を示す空きCPUメモリリソース量情報とを含む前記空きメモリリソース量情報を取得し、
     前記選択部は、前記割当リソース量情報と、前記空きメモリリソース量情報に含まれる前記空きGPUメモリリソース量情報及び前記CPUメモリリソース量情報と、前記アプリケーション数情報とに基づいて、実行対象の前記アプリケーションを実行する情報処理基盤として、前記複数の情報処理基盤の中から、実行中の前記アプリケーションの数が最も少ない情報処理基盤を選択する、
     請求項1から6のいずれか一項に記載の管理基盤。
  8.  前記選択部は、実行中の前記アプリケーションの数が最も少ない前記情報処理基盤が複数存在する場合において、実行中の前記アプリケーションの数が最も少ない複数の前記情報処理基盤のうちの少なくとも2つの情報処理基盤の前記メモリリソースの前記空きリソース量が前記割当リソース量以上である場合、実行対象の前記アプリケーションを実行する前記情報処理基盤として、前記少なくとも2つの情報処理基盤の中から、前記GPUメモリの前記空きリソース量及び前記CPUメモリの前記空きリソース量のうちの少なくとも一方が前記割当リソース量以上である情報処理基盤を選択する、請求項7に記載の管理基盤。
  9.  前記選択部によって選択された前記情報処理基盤に対して、実行対象の前記アプリケーションを実行する仮想化基盤を展開することを指示する指示部
     をさらに備える、請求項1から8のいずれか一項に記載の管理基盤。
  10.  コンピュータにより実行されると、前記コンピュータを、請求項1から9のいずれか一項に記載の管理基盤として機能させるためのプログラム。
  11.  請求項1から9のいずれか一項に記載の管理基盤と、
     前記複数の情報処理基盤と
     を備える、情報処理システム。
  12.  GPUメモリと、CPUメモリとを含むメモリリソースを有する情報処理基盤を管理する管理基盤によって実行される管理方法であって、
     複数の前記情報処理基盤の各情報処理基盤の前記メモリリソースの空きリソース量を示す空きメモリリソース量情報と、前記複数の情報処理基盤の前記各情報処理基盤上で実行中のアプリケーションの数を示すアプリケーション数情報とを取得する取得段階と、
     アプリケーションの実行要求を受け付ける受付段階と、
     前記実行要求に含まれる、実行対象の前記アプリケーションを実行するために割り当てられる必要があるメモリリソースの割当リソース量を示す割当リソース量情報と、前記空きメモリリソース量情報と、前記アプリケーション数情報とに基づいて、実行対象の前記アプリケーションを実行する情報処理基盤として、前記複数の情報処理基盤の中から、実行中の前記アプリケーションの数が最も少ない情報処理基盤を選択する選択段階と
     を備える、管理方法。
PCT/JP2025/010041 2024-03-19 2025-03-14 管理基盤、プログラム、情報処理システム、及び管理方法 Pending WO2025197810A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2024-044080 2024-03-19
JP2024044080A JP2025144344A (ja) 2024-03-19 2024-03-19 管理基盤、プログラム、情報処理システム、及び管理方法

Publications (1)

Publication Number Publication Date
WO2025197810A1 true WO2025197810A1 (ja) 2025-09-25

Family

ID=97139710

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2025/010041 Pending WO2025197810A1 (ja) 2024-03-19 2025-03-14 管理基盤、プログラム、情報処理システム、及び管理方法

Country Status (2)

Country Link
JP (1) JP2025144344A (ja)
WO (1) WO2025197810A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6362836B1 (en) * 1998-04-06 2002-03-26 The Santa Cruz Operation, Inc. Universal application server for providing applications on a variety of client devices in a client/server network
JP2022553311A (ja) * 2019-10-22 2022-12-22 エヌビディア コーポレーション 物理アップリンク共有チャネルのための並列デレートマッチング及び層デマッピング

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6362836B1 (en) * 1998-04-06 2002-03-26 The Santa Cruz Operation, Inc. Universal application server for providing applications on a variety of client devices in a client/server network
JP2022553311A (ja) * 2019-10-22 2022-12-22 エヌビディア コーポレーション 物理アップリンク共有チャネルのための並列デレートマッチング及び層デマッピング

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FUTAGAWA, JUN; HIROTSU, TOSHIO; YUKITA, SHUICHI: "Dynamic Resource Management for Controlling Overcommit in Degraded Operation", IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, vol. J95-D, no. 3, 1 March 2012 (2012-03-01), JP , pages 486 - 495, XP009565334, ISSN: 1880-4535 *

Also Published As

Publication number Publication date
JP2025144344A (ja) 2025-10-02

Similar Documents

Publication Publication Date Title
US9268394B2 (en) Virtualized application power budgeting
RU2571366C2 (ru) Виртуальная архитектура неоднородного доступа к памяти для виртуальных машин
US9442760B2 (en) Job scheduling using expected server performance information
RU2569805C2 (ru) Виртуальная архитектура неоднородной памяти для виртуальных машин
KR102197874B1 (ko) 멀티-코어 프로세서를 포함하는 시스템 온 칩 및 그것의 쓰레드 스케줄링 방법
JP6241300B2 (ja) ジョブスケジューリング装置、ジョブスケジューリング方法、およびジョブスケジューリングプログラム
CN116157778B (zh) 共享物理主机上混合集中分布式调度的系统和方法
JP7826295B2 (ja) エッジゾーン内の計算ノードとインフラストラクチャノードとの自動ノード交換性
WO2023020177A1 (zh) 一种任务调度方法、游戏引擎、设备及存储介质
US9547576B2 (en) Multi-core processor system and control method
EP4109255B1 (en) Scheduling in a container orchestration system utilizing hardware topology hints
WO2025197810A1 (ja) 管理基盤、プログラム、情報処理システム、及び管理方法
CN117311910B (zh) 一种高性能虚拟密码机运行方法
CN104834565A (zh) 一种系统服务动态部署方法及装置
CN115390983A (zh) 面向虚拟机的硬件资源分配方法、装置、设备及存储介质
US11868805B2 (en) Scheduling workloads on partitioned resources of a host system in a container-orchestration system
WO2024087663A1 (zh) 作业调度方法、装置和芯片
CN117369986A (zh) 一种中断请求的均衡方法、装置和计算设备
WO2025197809A1 (ja) 管理基盤、プログラム、情報処理システム、及び管理方法
WO2025177569A1 (ja) 実行基盤、制御方法、プログラム、及びシステム
JP7759363B2 (ja) 制御装置、プログラム、及びシステム
CN106445661A (zh) 一种动态优化方法及系统
JP7785826B2 (ja) エッジサーバ、プログラム、及び情報処理方法
Li et al. Flux: Unifying Heterogeneous Infrastructure for Alibaba AnalyticDB
WO2025177542A1 (ja) システム、管理基盤、及びプログラム

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: 25773439

Country of ref document: EP

Kind code of ref document: A1