Information processing apparatus, information processing method, and program
Patent Information
- Application Number
- JP2023127253
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-03
- Publication Date
- 2025-02-14
AI Technical Summary
【0011】 以上のように本開示によれば、所定期間におけるコストが決まっている場合に、そのコスト以下でジョブの待ち時間を改善することができる。
Smart Images

Figure 2025022563000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to an information processing device, an information processing method, and a program that utilize cloud bursting. [Background technology]
[0002] When the load on the servers in an HPC (High Performance Computing) system is high (high load), the waiting time from when a job is submitted until the processing starts can be long. Therefore, technologies such as cloud bursting have been disclosed as a technique for shortening the waiting time. In cloud bursting, for example, it is determined whether or not a job can be executed using a free server in a cloud that can communicate with the HPC system, and if so, the free server is made to process the job.
[0003] As a related technique, Cited Document 1 discloses a burstable instance recommendation device that appropriately recommends burstable instances that are candidates for instance migration. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Patent Publication No. 2021-197039 Summary of the Invention [Problem to be solved by the invention]
[0005] To reduce the latency of an HPC system server, more processing can be done in the cloud. However, doing more processing in the cloud increases the cost of using the cloud. In other words, there is a trade-off between the average latency and the cost.
[0006] The technology in the above-mentioned cited reference 1 and the like does not improve the trade-off relationship between waiting time and cost, and also does not improve the waiting time of jobs at or below the cost when the cost of using the cloud for a certain period of time is fixed.
[0007] One example of an objective of the present disclosure is to improve the waiting time of a job at or below a cost in a predetermined period of time, when the cost in a predetermined period of time is determined. [Means for solving the problem]
[0008] In order to achieve the above object, an information processing device according to one aspect of the present disclosure includes: An acquisition means for acquiring history information from a storage device; a decision means for deciding whether or not to offload a job to be scheduled to the cloud based on a preset period for using the cloud included in the history information, an upper limit of the accumulated cost for using the cloud during the period, an elapsed period from the start of the period to a current time, an accumulated cost of a job that uses the cloud during the elapsed period, and a cost of executing the job to be scheduled at the current time on the cloud; The present invention is characterized by having the following.
[0009] In order to achieve the above object, an information processing method according to one aspect of the present disclosure includes: An information processing device, Obtaining historical information from the storage device; determining whether or not to offload the scheduled job to the cloud based on a preset period for using the cloud included in the history information, an upper limit of the accumulated cost for using the cloud during the period, the period elapsed from the start of the period to the current time, an accumulated cost of jobs that used the cloud during the elapsed period, and a cost of executing the currently scheduled job on the cloud; It is characterized by:
[0010] Furthermore, in order to achieve the above object, a program according to one aspect of the present disclosure includes: On the computer, Acquiring history information from the storage device; determining whether or not to offload the scheduled job to the cloud based on a preset period for using the cloud, which is included in the history information, an upper limit of the accumulated cost for using the cloud during the period, the period elapsed from the start of the period to the current time, an accumulated cost of jobs that use the cloud during the elapsed period, and a cost of executing the currently scheduled job on the cloud; It is characterized by: Effect of the Invention
[0011] As described above, according to the present disclosure, when the cost for a predetermined period is determined, it is possible to improve the waiting time of a job at or below that cost. [Brief description of the drawings]
[0012] [Figure 1] FIG. 1 is a diagram illustrating an example of the configuration of an information processing device according to the first embodiment. [Diagram 2] FIG. 2 is a diagram illustrating an example of the configuration of a system including the information processing device according to the first embodiment. [Diagram 3] FIG. 3 is a diagram for explaining an example of the operation of the information processing device in the first embodiment. [Figure 4] FIG. 4 shows the results of ANL. [Diagram 5] FIG. 5 shows the results of KIT. [Figure 6] FIG. 6 is a diagram illustrating an example of the configuration of a system including an information processing device according to the second embodiment. [Figure 7] FIG. 7 is a diagram for explaining an example of the operation of the information processing device in the second embodiment. [Figure 8]FIG. 8 is a diagram illustrating an example of a computer that realizes the information processing device according to the first and second embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0013] Hereinafter, an embodiment will be described with reference to the drawings. In the drawings described below, elements having the same or corresponding functions are denoted by the same reference numerals, and repeated description thereof may be omitted.
[0014] (Embodiment 1) The configuration of the information processing device in the first embodiment will be described with reference to Fig. 1. Fig. 1 is a diagram for explaining an example of the configuration of the information processing device in the first embodiment.
[0015] [Device configuration] 1, the information processing device 10 improves the trade-off between the average latency and the cloud cost. Also, in the example of FIG. 1, the information processing device 10 includes an acquisition unit 11 and a determination unit 12.
[0016] The acquisition unit 11 acquires history information from the storage device. The decision unit 12 decides whether or not to offload a scheduled job to the cloud based on a preset period for using the cloud, an upper limit of the accumulated cost for using the cloud during the period, an elapsed period from the start of the period to the current time, an accumulated cost of a job using the cloud during the elapsed period, and a cost of executing the scheduled job in the cloud at the current time, all of which are included in the history information.
[0017] A job is a job input to the information processing device 10 from each of a plurality of terminal devices. A job has information such as a server, a program and data to be executed in the cloud, the number of servers used when executing the program (requested number of servers), and the time required to execute the program (requested time). A cost (cloud cost) is, for example, a usage fee for the cloud (cloud server).
[0018] In this way, in the embodiment, a decision is made as to whether or not to offload a scheduled job to the cloud based on the period for which the cloud will be used, the upper limit of the accumulated cost during the period, the elapsed period, the accumulated cost during the elapsed period, and the cost of executing the currently scheduled job in the cloud. Therefore, when the cost for the period is determined, it is possible to improve the waiting time of a job at or below that cost.
[0019] [System Configuration] 2, the configuration of the information processing device 10 in the first embodiment will be described more specifically. Fig. 2 is a diagram for explaining an example of the configuration of a system including the information processing device in the first embodiment.
[0020] In the example of Fig. 2, the system 100 has at least an HPC center 1, a cloud 30, terminal devices 40 (40a, 40b, 40c, etc.), and an output device 50. In the example of Fig. 2, the HPC center 1 has at least an information processing device 10 and a server 20. The information processing device 10, the server 20, the cloud 30, and the terminal device 40 are connected via a communication network.
[0021] The network is a general network constructed using communication lines such as the Internet, a LAN (Local Area Network), a dedicated line, a telephone line, an in-house network, a mobile communication network, Bluetooth (registered trademark), or Wi-Fi (Wireless Fidelity) (registered trademark).
[0022] The information processing device 10 is, for example, an information processing device such as a CPU (Central Processing Unit), a programmable device such as an FPGA (Field-Programmable Gate Array), a GPU (Graphics Processing Unit), or a circuit equipped with any one or more of these, a scheduler, etc.
[0023] The server 20 includes one or more servers. Each of the servers constituting the server 20 is an information processing device such as a CPU, a programmable device such as an FPGA, a GPU, or a circuit equipped with any one or more of them.
[0024] The cloud 30 has one or more servers. Each of the servers constituting the server 30 is, for example, an information processing device such as a CPU, a programmable device such as an FPGA, a GPU, or a circuit equipped with any one or more of them, or a server computer.
[0025] The terminal devices 40 (40a, 40b, 40c, . . . ) are information processing devices such as personal computers and mobile terminals equipped with a CPU, an FPGA, or both.
[0026] The output device 50 acquires output information, which is converted into an outputtable format and will be described later, and outputs generated images and sounds based on the output information. The output device 50 is, for example, an image display device using a liquid crystal, an organic EL (Electro Luminescence), or a CRT (Cathode Ray Tube). Furthermore, the image display device may also include an audio output device such as a speaker. The output device 50 may also be a printing device such as a printer.
[0027] The information processing device will now be described in detail. The information processing device 10 includes an acquisition unit 11, a determination unit 12, a distribution unit 13, and an output information generation unit 14.
[0028] The acquiring unit 11 acquires history information from a storage device (not shown). The storage device is provided inside the information processing device 10, inside the HPC center 1, or outside the HPC center 1.
[0029] The decision-making unit 12 determines whether to offload the job to be scheduled to the cloud based on the preset period T1 of using the cloud 30 included in the history information, the upper limit value Cup of the cumulative cost of using the cloud during the period T1, the elapsed period Tm from the start time ts of the period T1 to the current time tc, the cumulative value Cv of the costs of the jobs that used the cloud 30 during the elapsed period Tm, and the cost Cst when the job to be scheduled at the current time tc is executed on the cloud 30.
[0030] Specifically, when the first threshold Th1 (= Cup / T1) obtained by dividing the upper limit value Cup by the period T1 is greater than the value V (= Ca / Tm) obtained by dividing the value Ca (= Cv + Cst), which is the sum of the cumulative cost value Cv and the cost Cst when the job to be scheduled at the current time is executed on the cloud, by the elapsed period Tm (V < Th1), the decision-making unit 12 offloads the job to be scheduled to the cloud 30.
[0031] When the decision-making unit 12 decides to offload the job to be scheduled to the cloud 30, the distribution unit 13 sends the job to be scheduled to the cloud 30. On the contrary, when the decision-making unit 12 decides not to offload the job to be scheduled to the server 20, the distribution unit 13 sends the job to be scheduled to the server 20.
[0032] The output information generation unit 14 generates output information for display on the output device 50 by combining at least the period T1 of using the cloud 30, the upper limit value Cup of the cost of using the cloud during the period T1, the elapsed period Tm from the start time ts of the period T1 to the current time tc, the cumulative value Cv of the costs of the jobs that used the cloud 30 during the elapsed period Tm, the cost Cst when the job to be scheduled at the current time tc is executed on the cloud 30, the information of the job to be scheduled, the determination result of the decision-making unit 12, and the time. Then, the output information generation unit 13 outputs the output information to the output device 50. However, the output information generation unit 13 may not be provided in the information processing device 10.
[0033] [Device Operation] Next, the operation of the information processing apparatus in Embodiment 1 will be described with reference to FIG. 3. FIG. 3 is a diagram for explaining an example of the operation of the information processing apparatus in Embodiment 1. In the following description, the drawings will be referred to as appropriate. Also, in Embodiment 1, by operating the information processing apparatus, an information processing method is implemented. Therefore, the description of the information processing method in Embodiment 1 will be replaced with the following description of the operation of the information processing apparatus.
[0034] In the example of FIG. 3, first, the acquisition unit 11 acquires history information from a storage device (not shown) (step A1).
[0035] Next, the determination unit 12 determines whether to offload the job to be scheduled to the cloud based on a preset period T1 for using the cloud 30 included in the history information, an upper limit value Cup of the cumulative cost for using the cloud during the period T1, an elapsed period Tm from the start time ts of the period T1 to the current time tc, a cumulative value Cv of the costs of the jobs using the cloud 30 during the elapsed period Tm, and a cost Cst when the job to be scheduled at the current time tc is executed on the cloud 30 (step A2).
[0036] Specifically, in step A2, the determination unit 12 determines that when the first threshold Th1 (= Cup / T1) obtained by dividing the upper limit value Cup by the period T1 is greater than the value V (= Ca / Tm) obtained by dividing the value Ca (= Cv + Cst), which is the cumulative value of the costs Cv plus the cost Cst when the job to be scheduled at the current time is executed on the cloud, by the elapsed period Tm (V < Th1), the job to be scheduled is offloaded to the cloud 30.
[0037] Next, if the determination unit 12 decides to offload the job to be scheduled to the cloud 30 (step A3: Yes), the distribution unit 13 transmits the job to be scheduled to the cloud 30 (step A5). On the other hand, if the determination unit 12 decides not to offload the job to be scheduled to the cloud 30 (step A3: No), the distribution unit 13 transmits the job to be scheduled to the server 20 (step A4). In this manner, the processes of steps A1 to A5 described above are repeatedly executed.
[0038] [Effects of the first embodiment] As described above, according to the first embodiment, a decision is made as to whether or not to offload a scheduled job to the cloud based on the period for which the cloud will be used, the upper limit of the cost during that period, the elapsed period, the accumulated cost during that period, and the cost of executing the currently scheduled job in the cloud. Therefore, when the cost for a period is determined, it is possible to improve the waiting time of a job at or below that cost.
[0039] In the conventional technology, when the number of servers temporarily used in the cloud 30 reaches or exceeds a preset upper limit, the job is transmitted to the cloud 30. Specifically, in the conventional technology, when the number of available servers in the cloud 30 is equal to or greater than the number of servers required by the job, the job is transmitted to the cloud 30.
[0040] That is, the average waiting time can be reduced by increasing the number of available servers in the cloud 30. However, using more servers in the cloud 30 increases costs (cloud costs).
[0041] Figure 4 is a diagram showing the results of ANL. Figure 5 is a diagram showing the results of KIT. For example, these are the results evaluated with a general job workload. Note that for the evaluation, two workloads, "The ANL Intrepid log" (hereinafter referred to as ANL) and "The KIT ForHLR II log" (hereinafter referred to as KIT), were used from among a number of workloads published in "Logs of Real Parallel Workloads from Production Systems" <https: / / www.cs.huji.ac.il / labs / parallel / workload / logs.html>. Figure 4 shows the evaluation results for ANL. Figure 5 shows the evaluation results for KIT.
[0042] Also, Figure 4 is an example using ANL as the job workload. The vertical axis of Figure 4 represents the waiting time (Mean wait time [hours]), and the horizontal axis represents the percentage (Target cloud resource [%]) of the available Cloud 30 when the on-premises resource amount (number of servers × period) is set to 100 [%].
[0043] The bar (Max limit) in Figure 4 shows a conventional technique for determining whether to offload the job to be scheduled to the cloud based on the upper limit value Cup of the cumulative cost of using the pre-set Cloud 30, the cumulative value Cv of the cost of the jobs that have used Cloud 30 up to the current point in time, and the cost Cst when the job to be scheduled at the current point in time is executed on Cloud 30.
[0044] Specifically, when the limit value Cup is greater than the value Ca (= Cv + Cst) obtained by adding the cost Cst when the job to be scheduled at the current point in time is executed on the cloud to the cumulative value Cv of the cost (Ca < Cup), the job to be scheduled is offloaded to Cloud 30.
[0045] Moreover, the bars in Fig. 4 (target ratio) show the case where embodiment 1 is applied. That is, by applying the technology of embodiment 1, as shown in the example of Fig. 4, when the cost for a period is determined, it can be seen that the job waiting time is improved at or below that cost.
[0046] Figure 5 shows an example using KIT as a job workload. The vertical axis of Figure 5 shows the waiting time (Mean wait time [hours]), and the horizontal axis shows the percentage of cloud 30 that was available (Target cloud resource [%]) when the amount of on-premise resources (number of servers x period) is 100[%] (percent).
[0047] The bar (Max limit) in Figure 5 represents the conventional technology that determines whether or not to offload a scheduled job to the cloud based on a preset upper limit value Cup of the cumulative cost for using the cloud 30, the cumulative value Cv of the cost of the job that has used the cloud 30 up to the current point in time, and the cost Cst of executing the scheduled job at the current point in time on the cloud 30.
[0048] Moreover, the bars in Fig. 5 (target ratio) show the case where embodiment 1 is applied. In the example of Fig. 5 as well, as in the example of Fig. 4, when the cost for a period is determined, it can be seen that the job waiting time is improved at or below that cost.
[0049] [program] The program in the first embodiment may be a program that causes a computer to execute steps A1 to A5 shown in Fig. 3. By installing and executing this program in a computer, the information processing device and the information processing method in the embodiment can be realized. In this case, the processor of the computer functions as the acquisition unit 11, the decision unit 12, and the distribution unit 13 and performs the processing.
[0050] The program in the embodiment may be executed by a computer system constructed by a plurality of computers. In this case, for example, each computer may function as any one of the acquisition unit 11, the determination unit 12, and the distribution unit 13.
[0051] (Embodiment 2) The configuration of the information processing device in the second embodiment will be described with reference to Fig. 6. Fig. 6 is a diagram for explaining an example of the configuration of a system including the information processing device in the second embodiment.
[0052] [System Configuration] In the example of Fig. 4, the system 100a has at least an HPC center 1, a cloud 30, terminal devices 40 (40a, 40b, 40c, etc.), and an output device 50. In the example of Fig. 4, the HPC center 1 has at least an information processing device 10a and a server 20. The information processing device 10a, the server 20, the cloud 30, and the terminal device 40 are connected via a communication network.
[0053] The information processing device will now be described in detail. The information processing device 10a includes an acquisition unit 11, a calculation unit 61, a generation unit 62, a determination unit 63, a distribution unit 64, and an output information generation unit 65. Note that the acquisition unit 11 has already been described in the first embodiment, and therefore will not be described here.
[0054] The calculation unit 61 calculates the cloud optimum value using an index indicating the amount of all jobs currently waiting to be scheduled and the cost (cloud cost) of using the cloud 30 for the job to be scheduled.
[0055] The cloud optimum value is information used to improve the trade-off relationship between latency and cost, and is information for determining whether or not to offload to the cloud.
[0056] The generating unit 62 generates the second threshold value Th2 using the history information. Specifically, the generating unit 62 first acquires the cloud optimum value and the cost Cst for each of the multiple jobs scheduled in the elapsed period Tm included in the history information. Next, the generating unit 62 accumulates the corresponding costs Cst in ascending order of the cloud optimum value to calculate an accumulated value Cv, and sets the value V (=Ca / Tm) obtained by dividing the accumulated value Cv by the elapsed period Tm as the second threshold value Th2, which is closest to the first threshold value Th1.
[0057] The second threshold value Th2 may be, for example, a value closest to the first threshold value Th1, or may be a value within a preset range including the first threshold value Th1.
[0058] The decision unit 63 has (i) a first decision unit that decides whether or not to offload a scheduled job to the cloud based on a preset period for using the cloud included in the history information, an upper limit on the cumulative cost of using the cloud during the period, the period elapsed from the start of the period to the current time, the cumulative cost of jobs that used the cloud during the elapsed period, and the cost of executing the scheduled job at the current time in the cloud.
[0059] Furthermore, the decision unit 63 includes (ii) a second decision unit that compares the cloud optimum value with a second threshold value Th2 and decides whether or not to offload the scheduled job to the cloud based on the comparison result.
[0060] Furthermore, the decision unit 63 decides whether or not to offload the job to the cloud, according to the decisions of the first decision unit and the second decision unit.
[0061] The item (i) will now be explained in detail. When the first threshold Th1 obtained by dividing the upper limit value Cup by the period T1 in the determination unit 63 is greater than the value V (= Ca / Tm) obtained by dividing the value Ca (= Cv + Cst), which is the cumulative cost value Cv plus the cost Cst when the job to be scheduled at the current time is executed in the cloud, by the elapsed period Tm (V < Th1), it is determined to offload the job to be scheduled to the cloud 30.
[0062] Examples (1) to (4) below are used to explain (ii). Regarding (1), the case of using the number and cost of all jobs from input to allocation (from the input timing to the allocation timing) will be described. When the index is the number Jk of all jobs from input to allocation, the calculation unit 61 divides by the cost (cloud cost) Cc of the job to be scheduled to calculate the cloud appropriateness value Ca1 (= Jk / Cc).
[0063] Next, the determination unit 63 determines whether to offload the job to be scheduled to the cloud 30 based on the cloud appropriateness value Ca1 and the second threshold Th2 generated by the generation unit 62.
[0064] Regarding (2), the case of using the total resource amount required by all jobs from input to allocation and the cost will be described. When the index is the total SRa of the resource amounts Rak required by all jobs from input to allocation (= ΣRak (k = 1, 2 ··· n) = Ra1 + Ra2 + ··· + Ran: n is a positive integer), the calculation unit 61 divides the total SRa of the resource amounts required by all jobs by the cost (cloud cost) Cc to calculate the cloud appropriateness value Ca2 (= SRa / Cc).
[0065] The resource amount is, for example, the value Ra (= Rsn × Rst) obtained by multiplying the number of servers required (required server number) Rsn included in the job and the time required for the requested job processing (required time) Rst.
[0066] Next, the determination unit 63 determines whether or not to offload the job to be scheduled to the cloud 30 based on the cloud appropriate value Ca2 and the second threshold value Th2 generated by the generation unit 62.
[0067] (3) A case will be described in which the number of all jobs from input to before allocation and the amount of resources required by the jobs to be scheduled are used. When the index is the number Jk of all jobs from input to before allocation, the calculation unit 61 calculates the cloud optimum value Ca3 (=Jk / Rak) by dividing the number Jk of all jobs by the amount of resources Rak required by the jobs to be scheduled.
[0068] The resource amount Rak is the amount of resources required when a scheduled job is executed in the cloud 30 .
[0069] The second judgment unit of the determination unit 63 determines whether or not to offload the job to be scheduled to the cloud 30, based on the cloud appropriateness value Ca3 and the second threshold value Th2 generated by the generation unit 62.
[0070] (4) A case where the sum of the resource amounts required by all jobs and the resource amount required by the job to be scheduled are used will be described. When the index is the sum of the resource amounts required by all jobs SRa, the calculation unit 61 divides the sum of the resource amounts required by all jobs SRa by the resource amount Rak required by the job to be scheduled to calculate the cloud optimum value Ca4 (=SRa / Rak).
[0071] Next, the determination unit 12 determines whether or not to offload the job to be scheduled to the cloud 30 based on the cloud appropriateness value Ca4 and the second threshold value Th2 generated by the generation unit 62.
[0072] When the determination unit 63 determines that the job to be scheduled is to be offloaded to the cloud 30, the distribution unit 64 transmits the job to be scheduled to the cloud 30. On the other hand, when the determination unit 63 determines that the job to be scheduled is not to be offloaded to the cloud 30, the distribution unit 64 transmits the job to be scheduled to the server 20.
[0073] The output information generation unit 65 generates output information to be displayed on the output device 50 by combining at least one or more of the number of all jobs, the sum of the amount of resources required by all jobs, the cost, the amount of resources required by the job to be scheduled, the cloud optimum value, information on the job to be scheduled, the judgment result of the determination unit 12, and the time.
[0074] Furthermore, the output information generation unit 65 generates output information to be displayed on the output device 50 by combining one or more of the period T1 during which the cloud 30 is used, the upper limit Cup of the cost of using the cloud during the period T1, the period Tm from the start time ts of the period T1 to the current time tc, the cumulative cost Cv of the job that used the cloud 30 during the elapsed period Tm, and the cost Cst of executing the scheduled job on the cloud 30 at the current time tc.
[0075] Thereafter, the output information generating unit 65 outputs the output information to the output device 50. However, the output information generating unit 13 does not have to be provided in the information processing device 10.
[0076] [Device operation] Next, the operation of the information processing device in the second embodiment will be described with reference to FIG. 7. FIG. 7 is a diagram for explaining an example of the operation of the information processing device in the second embodiment. In the following description, the diagram will be referred to as appropriate. In the second embodiment, an information processing method is implemented by operating the information processing device. Therefore, the description of the information processing method in the second embodiment will be replaced with the description of the operation of the information processing device below.
[0077] In the example of Figure 7, first, the calculation unit 61 calculates a cloud optimum value using an index representing the amount of all jobs currently waiting to be scheduled and the cost of using the cloud 30 for the job to be scheduled (cloud cost) (step B1).
[0078] Next, the generating unit 62 generates a second threshold value Th2 using the history information (step B2). Specifically, in step B2, the generating unit 62 first acquires a cloud optimum value and a cost Cst for each of a plurality of jobs scheduled in the elapsed period Tm included in the history information. Next, in step B2, the generating unit 62 accumulates the corresponding costs Cst in ascending order of cloud optimum value to calculate an accumulated value Cv, and sets the value V (=Ca / Tm) obtained by dividing the accumulated value Cv by the elapsed period Tm as the second threshold value Th2, which is closest to the first threshold value Th1.
[0079] Next, the decision unit 63 decides whether or not to offload the job to be scheduled to the cloud (step B3).
[0080] Specifically, in step B3, the decision unit 63 decides whether or not to offload the scheduled job to the cloud based on (i) a preset period for using the cloud included in the historical information, an upper limit on the cumulative cost of using the cloud during the period, the period elapsed from the start of the period to the current time, the cumulative cost of jobs that used the cloud during the elapsed period, and the cost of executing the scheduled job in the cloud at the current time.
[0081] Furthermore, in step B3, the decision unit 63 may (ii) compare the cloud optimum value with a second threshold value Th2, and decide whether or not to offload the scheduled job to the cloud based on the comparison result.
[0082] (i) will be specifically described. When the first threshold Th1 obtained by dividing the upper limit value Cup by the period T1 of the determination unit 63 is greater than the value V (= Ca / Tm) obtained by dividing the value Ca (= Cv + Cst), which is the cumulative cost value Cv plus the cost Cst when the job to be scheduled is executed in the cloud, by the elapsed period Tm (V < Th1), it is determined to offload the job to be scheduled to the cloud 30.
[0083] (ii) will be specifically described. The following examples (1) to (4) will be used for the description. (1) The case of using the number and cost of all jobs from input to allocation (from the input timing to the allocation timing) will be described. When the index is the number Jk of all jobs from input to allocation, the calculation unit 61 divides by the cost (cloud cost) Cc of the job to be scheduled to calculate the cloud appropriateness value Ca1 (= Jk / Cc).
[0084] Next, the determination unit 63 determines whether to offload the job to be scheduled to the cloud 30 based on the cloud appropriateness value Ca1 and the second threshold Th2 generated by the generation unit 62.
[0085] (2) The case of using the total resource amount required by all jobs from input to allocation and the cost will be described. When the index is the total SRa of the resource amounts Rak required by all jobs from input to allocation (= ΣRak (k = 1, 2 ··· n) = Ra1 + Ra2 + ··· + Ran: n is a positive integer), the calculation unit 61 divides the total SRa of the resource amounts required by all jobs by the cost (cloud cost) Cc to calculate the cloud appropriateness value Ca2 (= SRa / Cc).
[0086] The resource amount is, for example, the value Ra (= Rsn × Rst) obtained by multiplying the number of required servers (required server number) Rsn included in the job and the time required for processing the required job (required time) Rst.
[0087] Next, the determination unit 63 determines whether or not to offload the job to be scheduled to the cloud 30 based on the cloud appropriate value Ca2 and the second threshold value Th2 generated by the generation unit 62.
[0088] (3) A case will be described in which the number of all jobs from input to before allocation and the amount of resources required by the jobs to be scheduled are used. When the index is the number Jk of all jobs from input to before allocation, the calculation unit 61 calculates the cloud optimum value Ca3 (=Jk / Rak) by dividing the number Jk of all jobs by the amount of resources Rak required by the jobs to be scheduled.
[0089] The resource amount Rak is the amount of resources required when a scheduled job is executed in the cloud 30 .
[0090] Next, the second judgment unit of the determination unit 63 determines whether or not to offload the job to be scheduled to the cloud 30, based on the cloud appropriateness value Ca3 and the second threshold value Th2 generated by the generation unit 62.
[0091] (4) A case where the sum of the resource amounts required by all jobs and the resource amount required by the job to be scheduled are used will be described. When the index is the sum of the resource amounts required by all jobs SRa, the calculation unit 61 divides the sum of the resource amounts required by all jobs SRa by the resource amount Rak required by the job to be scheduled to calculate the cloud optimum value Ca4 (=SRa / Rak).
[0092] Next, the determination unit 63 determines whether or not to offload the job to be scheduled to the cloud 30, based on the cloud optimum value Ca4 and the second threshold value Th2 generated by the generation unit 62.
[0093] Next, if the determination unit 63 decides to offload the job to be scheduled to the cloud 30 (step B4: Yes), the distribution unit 64 transmits the job to be scheduled to the cloud 30 (step B6). On the other hand, if the determination unit 63 decides not to offload the job to be scheduled to the cloud 30 (step B4: No), the distribution unit 64 transmits the job to be scheduled to the server 20 (step B5). In this manner, the processes of steps B1 to B6 described above are repeatedly executed.
[0094] [Effects of the second embodiment] As described above, according to the second embodiment, (ii) is further applied to (i) above to determine whether or not to offload a scheduled job to the cloud. Therefore, when the cost for a period is determined, the waiting time of a job can be improved at or below that cost.
[0095] The example in Fig. 4 is an example using ANL as the job workload. The bar in Fig. 5 (reward based target ratio (1)) represents the result of applying the number of jobs waiting to be scheduled in the second embodiment. The bar in Fig. 5 (reward based target ratio (2)) represents the result of applying the amount of resources (number of requested servers x requested time) required by all jobs waiting to be scheduled in the second embodiment.
[0096] In this way, by applying the technology of the second embodiment, as shown in the example of FIG. 4, when the cost for a period is determined, it is understood that the job waiting time is improved at or below that cost.
[0097] Also, Fig. 5 is an example using KIT as a job workload. In this way, by applying the technology of the second embodiment, in the example of Fig. 5 as well, it can be seen that when the cost for a period is determined, the job waiting time is improved at or below the cost, as in the example of Fig. 4.
[0098] [program] The program in the second embodiment may be a program that causes a computer to execute steps B1 to B6 shown in Fig. 7. By installing and executing this program in a computer, the information processing device and the information processing method in the embodiment can be realized. In this case, the processor of the computer functions as the acquisition unit 11, the calculation unit 61, the generation unit 62, the determination unit 63, and the distribution unit 64, and performs processing.
[0099] The program in the embodiment may be executed by a computer system constructed by a plurality of computers. In this case, for example, each computer may function as any one of the acquisition unit 11, the calculation unit 61, the generation unit 62, the determination unit 63, and the distribution unit 64.
[0100] [Physical configuration] Here, a computer that realizes the information processing device by executing the programs in the first and second embodiments will be described with reference to Fig. 8. Fig. 8 is a diagram for explaining an example of a computer that realizes the information processing device in the first and second embodiments.
[0101] 8, the computer 110 includes a CPU (Central Processing Unit) 111, a main memory 112, a storage device 113, an input interface 114, a display controller 115, a data reader / writer 116, and a communication interface 117. These components are connected to each other via a bus 121 so as to be able to communicate data with each other. Note that the computer 110 may include a GPU or an FPGA in addition to the CPU 111 or instead of the CPU 111.
[0102] The CPU 111 loads a program in the embodiment, which is composed of a group of codes and is stored in the storage device 113, into the main memory 112, and executes each code in a predetermined order to perform various calculations. The main memory 112 is typically a volatile storage device such as a DRAM (Dynamic Random Access Memory).
[0103] Moreover, the program in the embodiment is provided in a state stored in a computer-readable recording medium 120. Note that the program in the embodiment may be distributed on the Internet connected via the communication interface 117.
[0104] Specific examples of the storage device 113 include a hard disk drive and a semiconductor storage device such as a flash memory. The input interface 114 mediates data transmission between the CPU 111 and input devices 118 such as a keyboard and a mouse. The display controller 115 is connected to a display device 119 and controls the display on the display device 119.
[0105] Data reader / writer 116 mediates data transmission between CPU 111 and recording medium 120, reads programs from recording medium 120, and writes processing results in computer 110 to recording medium 120. Communication interface 117 mediates data transmission between CPU 111 and other computers.
[0106] Specific examples of recording medium 120 include general-purpose semiconductor storage devices such as CF (Compact Flash (registered trademark)) and SD (Secure Digital), magnetic recording media such as a flexible disk, or optical recording media such as a CD-ROM (Compact Disk Read Only Memory).
[0107] The information processing device 10 in the embodiment can be realized not by a computer with a program installed, but by hardware corresponding to each part, for example, an electronic circuit. Furthermore, the information processing device 10 may be partially realized by a program and the remaining part by hardware. In the embodiment, the computer is not limited to the computer shown in FIG. 5.
[0108] [Note] The following supplementary notes are further disclosed regarding the above-described embodiments. A part or all of the above-described embodiments can be expressed by (Supplementary Note 1) to (Supplementary Note 24) described below, but are not limited to the following descriptions.
[0109] (Appendix 1) an acquisition unit that acquires history information from a storage device; a decision unit that decides whether or not to offload a job to be scheduled to the cloud based on a preset period for using the cloud included in the history information, an upper limit of a cumulative cost for using the cloud during the period, an elapsed period from a start point of the period to a current time, a cumulative cost of a job that uses the cloud during the elapsed period, and a cost of executing the job to be scheduled at the current time on the cloud; An information processing device having the above configuration.
[0110] (Appendix 2) the determination unit offloads the scheduled job to the cloud when a first threshold value obtained by dividing the upper limit value by the period is greater than a value obtained by adding a cost of the scheduled job to the accumulated cost value and dividing the elapsed period. 2. An information processing device according to claim 1.
[0111] (Appendix 3) a calculation unit that calculates a cloud optimum value using an index that indicates the amount of all jobs currently waiting to be scheduled and a cost of using the cloud for the job to be scheduled; a generation unit that generates a second threshold value by using the history information, the determination means compares the cloud appropriateness value with the second threshold value, and determines whether or not to offload the scheduled job to the cloud based on a comparison result; 3. An information processing device according to claim 2.
[0112] (Appendix 4) the generation unit acquires the cloud optimum value and the cost for each of a plurality of jobs scheduled in the elapsed period included in the history information, accumulates the corresponding costs in ascending order of the cloud optimum value to calculate an accumulated value, and sets a value obtained by dividing the accumulated value by the elapsed period as the second threshold value, the value being closest to the first threshold value. 4. The information processing device according to claim 3.
[0113] (Appendix 5) When the index is the number of all the jobs, the calculation unit calculates the cloud optimum value by dividing the number of all the jobs by the cost; the determination unit determines whether or not to offload the job to be scheduled to the cloud based on the cloud optimum value and the second threshold value generated by the generation unit; 4. The information processing device according to claim 3.
[0114] (Appendix 6) When the index is a sum of the resource amounts required by all of the jobs, the calculation unit calculates the cloud optimum value by dividing the sum of the resource amounts required by all of the jobs by the cost; the determination unit determines whether or not to offload the job to be scheduled to the cloud based on the cloud optimum value and the second threshold value generated by the generation unit; 4. The information processing device according to claim 3.
[0115] (Appendix 7) When the index is the number of all the jobs, the calculation unit calculates the cloud optimum value by dividing the number of all the jobs by an amount of resources required by the job to be scheduled; the determination unit determines whether or not to offload the job to be scheduled to the cloud based on the cloud optimum value and the second threshold value generated by the generation unit; 4. The information processing device according to claim 3.
[0116] (Appendix 8) the calculation unit, when the index is a sum of resource amounts required by all of the jobs, calculates the cloud optimum value by dividing the sum of the resource amounts required by all of the jobs by the resource amount required by the job to be scheduled; the determination unit determines whether or not to offload the job to be scheduled to the cloud based on the cloud optimum value and the second threshold value generated by the generation unit; 4. The information processing device according to claim 3.
[0117] (Appendix 9) An information processing device, Obtaining historical information from the storage device; determining whether or not to offload the scheduled job to the cloud based on a preset period for using the cloud included in the history information, an upper limit of the accumulated cost for using the cloud during the period, the period elapsed from the start of the period to the current time, an accumulated cost of jobs that used the cloud during the elapsed period, and a cost of executing the currently scheduled job on the cloud; Information processing methods.
[0118] (Appendix 10) offloading the scheduled job to the cloud when a first threshold value obtained by dividing the upper limit value by the period is greater than a value obtained by adding the accumulated cost value to the cost of the scheduled job and dividing the elapsed period; 10. The information processing method according to claim 9.
[0119] (Appendix 11) The information processing device includes: Furthermore, a cloud appropriate value is calculated using an index representing the amount of all jobs currently waiting to be scheduled and a cost of using the cloud for the job to be scheduled; generating a second threshold value using the historical information; comparing the cloud appropriateness value with the second threshold value, and determining whether to offload the scheduled job to a cloud based on a comparison result; 11. The information processing method according to claim 10.
[0120] (Appendix 12) obtain the cloud optimum value and the cost for each of a plurality of jobs scheduled during the elapsed period included in the history information, accumulate the corresponding costs in ascending order of the cloud optimum value to calculate an accumulated value, and set the value obtained by dividing the accumulated value by the elapsed period as the second threshold value, which is closest to the first threshold value; 12. The information processing method according to claim 11.
[0121] (Appendix 13) If the indicator is the number of all the jobs, calculate the cloud appropriateness value by dividing the number of all the jobs by the cost; determining whether to offload the scheduled job to the cloud based on the cloud appropriateness value and the second threshold value generated by the generating means; 12. The information processing method according to claim 11.
[0122] (Appendix 14) When the index is a sum of the resource amounts required by all of the jobs, the sum of the resource amounts required by all of the jobs is divided by the cost to calculate the cloud optimum value; determining whether to offload the scheduled job to the cloud based on the cloud appropriateness value and the second threshold value generated by the generating means; 12. The information processing method according to claim 11.
[0123] (Appendix 15) If the indicator is the number of all the jobs, calculate the cloud fairness value by dividing the number of all the jobs by the amount of resources required by the scheduled job; determining whether to offload the scheduled job to the cloud based on the cloud appropriateness value and the second threshold value generated by the generating means; 12. The information processing method according to claim 11.
[0124] (Appendix 16) If the index is a sum of the resource amounts required by all of the jobs, the sum of the resource amounts required by all of the jobs is divided by the resource amount required by the job to be scheduled to calculate the cloud optimum value; determining whether to offload the scheduled job to the cloud based on the cloud appropriateness value and the second threshold value generated by the generating means; 12. The information processing method according to claim 11.
[0125] (Appendix 17) On the computer, Acquiring history information from the storage device; determining whether or not to offload the scheduled job to the cloud based on a preset period for using the cloud, which is included in the history information, an upper limit of the accumulated cost for using the cloud during the period, the period elapsed from the start of the period to the current time, an accumulated cost of jobs that use the cloud during the elapsed period, and a cost of executing the currently scheduled job on the cloud; A program containing instructions.
[0126] (Appendix 18) offloading the scheduled job to the cloud when a first threshold value obtained by dividing the upper limit value by the period is greater than a value obtained by adding the accumulated cost value to the cost of the scheduled job and dividing the elapsed period; 18. The program according to claim 17.
[0127] (Appendix 19) The program causes the computer to Furthermore, a cloud appropriate value is calculated using an index representing the amount of all jobs currently waiting to be scheduled and a cost of using the cloud for the job to be scheduled; generating a second threshold value using the historical information; comparing the cloud appropriateness value with the second threshold value, and determining whether to offload the scheduled job to a cloud based on a comparison result; 19. The program according to claim 18.
[0128] (Appendix 20) obtain the cloud optimum value and the cost for each of a plurality of jobs scheduled during the elapsed period included in the history information, accumulate the corresponding costs in ascending order of the cloud optimum value to calculate an accumulated value, and set the value obtained by dividing the accumulated value by the elapsed period as the second threshold value, which is closest to the first threshold value; 19. The program according to claim 19.
[0129] (Appendix 21) If the indicator is the number of all the jobs, calculate the cloud fairness value by dividing the number of all the jobs by the cost; determining whether to offload the scheduled job to the cloud based on the cloud appropriateness value and the second threshold value generated by the generating means; 19. The program according to claim 19.
[0130] (Appendix 22) When the index is a sum of the resource amounts required by all of the jobs, the sum of the resource amounts required by all of the jobs is divided by the cost to calculate the cloud optimum value; determining whether to offload the scheduled job to the cloud based on the cloud appropriateness value and the second threshold value generated by the generating means; 19. The program according to claim 19.
[0131] (Appendix 23) If the indicator is the number of all the jobs, calculate the cloud fairness value by dividing the number of all the jobs by the amount of resources required by the scheduled job; determining whether to offload the scheduled job to the cloud based on the cloud appropriateness value and the second threshold value generated by the generating means; 19. The program according to claim 19.
[0132] (Appendix 24) If the index is a sum of the resource amounts required by all of the jobs, the sum of the resource amounts required by all of the jobs is divided by the resource amount required by the job to be scheduled to calculate the cloud optimum value; determining whether to offload the scheduled job to the cloud based on the cloud appropriateness value and the second threshold value generated by the generating means; 19. The program according to claim 19.
[0133] Although the invention has been described above with reference to the embodiments, the invention is not limited to the above-mentioned embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the invention within the scope of the invention. [Industrial Applicability]
[0134] The above description provides an improved trade-off between latency and cloud costs, and is useful in applications where cloud bursting is required. [Explanation of symbols]
[0135] 1 HPC Center 10, 10a Information processing device 11 Acquisition Department 12, 63 Decision Section 13, 64 Distribution section 14, 65 Output information generation unit 20 Servers 30. Cloud 40, 40a, 40b, 40c Terminal device 50 Output Device 61 Calculation section 62 Generation part 100 Systems 110 Computer 111 CPU 112 Main memory 113 Storage device 114 Input Interface 115 Display Controller 116 Data Reader / Writer 117 Communication Interface 118 Input Devices 119 Display device 120 Recording media 121 Bus
Claims
1. An acquisition means for acquiring history information from a storage device; a decision means for deciding whether or not to offload a job to be scheduled to the cloud based on a preset period for using the cloud included in the history information, an upper limit of the accumulated cost for using the cloud during the period, an elapsed period from the start of the period to a current time, an accumulated cost of a job that uses the cloud during the elapsed period, and a cost of executing the job to be scheduled at the current time on the cloud; An information processing device having the above configuration.
2. the determination means offloads the scheduled job to the cloud when a first threshold value obtained by dividing the upper limit value by the period is greater than a value obtained by adding a cost of the scheduled job to the accumulated cost value and dividing the elapsed period; The information processing device according to claim 1 .
3. a calculation means for calculating a cloud optimum value using an index representing the amount of all jobs currently waiting to be scheduled and a cost of using the cloud for the job to be scheduled; generating means for generating a second threshold value using the history information; the determination means compares the cloud appropriateness value with the second threshold value, and determines whether or not to offload the scheduled job to the cloud based on a comparison result; The information processing device according to claim 2 .
4. the generation means acquires the cloud optimum value and the cost for each of a plurality of jobs scheduled in the elapsed period included in the history information, accumulates the corresponding costs in ascending order of the cloud optimum value to calculate an accumulated value, and sets a value obtained by dividing the accumulated value by the elapsed period closest to the first threshold value as the second threshold value; The information processing device according to claim 3 .
5. When the index is the number of all the jobs, the calculation means calculates the cloud optimum value by dividing the number of all the jobs by the cost; the determining means determines whether or not to offload the scheduled job to the cloud based on the cloud appropriateness value and the second threshold value generated by the generating means; The information processing device according to claim 3 .
6. When the index is a sum of the resource amounts required by all of the jobs, the calculation means calculates the cloud optimum value by dividing the sum of the resource amounts required by all of the jobs by the cost; the determining means determines whether or not to offload the scheduled job to the cloud based on the cloud appropriateness value and the second threshold value generated by the generating means; The information processing device according to claim 3 .
7. When the index is the number of all the jobs, the calculation means calculates the cloud optimum value by dividing the number of all the jobs by an amount of resources required by the job to be scheduled; the determining means determines whether or not to offload the scheduled job to the cloud based on the cloud appropriateness value and the second threshold value generated by the generating means; The information processing device according to claim 3 .
8. When the index is a sum of the resource amounts required by all of the jobs, the calculation means calculates the cloud optimum value by dividing the sum of the resource amounts required by all of the jobs by the resource amount required by the job to be scheduled; the determining means determines whether or not to offload the scheduled job to the cloud based on the cloud appropriateness value and the second threshold value generated by the generating means; The information processing device according to claim 3 .
9. An information processing device, Obtaining historical information from the storage device; determining whether or not to offload the scheduled job to the cloud based on a preset period for using the cloud included in the history information, an upper limit of the accumulated cost for using the cloud during the period, the period elapsed from the start of the period to the current time, an accumulated cost of jobs that used the cloud during the elapsed period, and a cost of executing the currently scheduled job on the cloud; Information processing methods.
10. On the computer, Acquiring history information from the storage device; determining whether or not to offload the scheduled job to the cloud based on a preset period for using the cloud, which is included in the history information, an upper limit of the accumulated cost for using the cloud during the period, the period elapsed from the start of the period to the current time, an accumulated cost of jobs that use the cloud during the elapsed period, and a cost of executing the currently scheduled job on the cloud; A program containing instructions.
Citation Information
Patent Citations
Burstable instance recommendation device, method and program
JP2021197039A