Information processing apparatus and power estimation method

A non-transitory computer-readable recording medium stores therein a program that causes a computer to execute a process, the process including: specifying first job information related to a new job; referring to a storage that stores second job information and power information for each of past jobs to specify a predetermined number of pieces of third job information of which matching status with the first job information satisfies a first condition; determining, for each piece of the third job information, whether a matching status with the first job information satisfies a second condition; specifying one piece of the third job information based on a determination result; specifying power information associated with the one piece of the third job information; correcting the specified power information in accordance with the determination result; and estimating power information indicating power consumption at a time of executing the new job based on the corrected power information.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based upon and claims the benefit of the prior Japanese Patent Application No. 2019-031539 filed on Feb. 25, 2019, the entire contents of which are incorporated herein by reference.

FIELD

The embodiments discussed herein are related to an information processing apparatus and a power estimation method.

BACKGROUND

A business operator that operates a large-scale computing system that consumes a large amount of power may make a contract for power use with a power company as necessary. Specifically, for example, the business operator makes a contract in which the power rate for the next predetermined period (e.g., the next one year) is determined depending on whether the amount of power consumed within a unit time (e.g., 30 minutes) included in the predetermined period (e.g., one year) exceeds the contracted power amount.

Therefore, in this case, the business operator schedules an execution timing of each job (e.g., work) so that the power consumption amount per unit time does not exceed the contracted power amount.

Here, when scheduling the execution timing of a job as described above, the business operator specifies job information similar to job information, which is various information related to a job to be executed, among, for example, job information related to jobs executed in the past. Then, the business operator estimates information including power consumption at the time of execution of the job corresponding to the specified job information (hereinafter, also referred to as power information) as power information corresponding to the job to be executed. Thus, the business operator may perform an execution timing scheduling, for the job to be executed.

However, the power information corresponding to the job to be executed may not be similar to the power information of other jobs having similar job information. For this reason, the business operator may not be able to accurately estimate power information at the time of job execution.

SUMMARY

According to an aspect of the embodiments, a non-transitory computer-readable recording medium stores therein a program that causes a computer to execute a process, the process including: specifying, upon receiving a new job, first job information related to the new job; referring to a storage that stores second job information and power information in association with each other for each of past jobs executed in past to specify a predetermined number of pieces of third job information of which matching status with the first job information satisfies a first condition, the second job information being related to each of the past jobs, the power information indicating power consumption at a time of executing each of the past jobs; determining, for each piece of the third job information, whether a matching status with the first job information satisfies a second condition; specifying one piece of the third job information based on a determination result as to whether the matching status satisfies the second condition; referring to the storage to specify power information associated with the one piece of the third job information; correcting the specified power information in accordance with the determination result; and estimating power information indicating power consumption at a time of executing the new job based on the corrected power information.

DESCRIPTION OF EMBODIMENTS

[Configuration of Information Processing Apparatus]

The configuration of an information processing system10will be described first.FIG. 1is a diagram illustrating the configuration of the information processing system10.

As illustrated inFIG. 1, the information processing system10includes, for example, an information processing apparatus1including one or more physical machines, and an operation terminal5on which a person in charge (e.g., an operator) inputs information or the like.

The information processing apparatus1estimates power information at the time of execution of each job that needs to be scheduled for execution timing. Then, the information processing apparatus1schedules the execution timing of each job based on the estimated power information.

Specifically, the information processing apparatus1specifies, for example, job information related to each job (hereinafter, also referred to as a new job) that needs to be scheduled for execution timing (hereinafter, also referred to as first job information). Then, the information processing apparatus1refers to a storage unit130that stores job information related to each job executed in the past (hereinafter, also referred to as second job information) and power information at the time of execution of each job in association with each other, and specifies a predetermined number of pieces of job information of which a matching status with the first job information satisfies a predetermined condition (hereinafter, also referred to as a first condition) among the second job information (hereinafter, also referred to as third job information). Further, the information processing apparatus1determines whether the matching status with the first job information satisfies a predetermined condition (hereinafter, also referred to as a second condition) for each specified third job information, and specifies any of the third job information based on the determination result.

Thereafter, the information processing apparatus1refers to the storage unit130and specifies power information associated with the specified job information. Then, the information processing apparatus1estimates power information obtained by correcting the specified power information according to the determination result, as power information at the time of execution of a new job.

That is, the information processing apparatus1specifies a predetermined number of pieces of third job information similar to the first job information corresponding to a new job to be executed among, for example, the second job information corresponding to each job executed in the past. Then, the information processing apparatus1specifies power information of a job corresponding to job information that is most similar to the first job information (hereinafter, also referred to as similar job information) among, for example, the specified third job information. Further, the information processing apparatus1specifies power information obtained by correcting, for example, the specified power information according to a similar state between the first job information and the similar job information, as power information of a new job.

As a result, the information processing apparatus1may accurately estimate power information when a new job is executed. For this reason, the information processing apparatus1may suppress an increase in power charge associated with the execution of each job.

[Hardware Configuration of Information Processing System]

Next, the hardware configuration of the information processing system10will be described,FIG. 2is a diagram illustrating the hardware configuration of the information processing apparatus1.

As illustrated inFIG. 2, the information processing apparatus1includes a CPU101that is a processor, a memory102, an external interface (I/O unit)103, and a storage medium104. Respective units are connected to each other via a bus105.

The storage medium104includes, for example, a program storage area (not illustrated) that stores a program110for performing a process of estimating power information when each job is executed (hereinafter, also referred to as a power estimation process). In addition, the storage medium104includes, for example, a storage unit130that stores information used when performing a power estimation process (hereinafter, also referred to as an information storage area130). Further, the storage medium104may be, for example, a hard disk drive (HDD) or a solid state drive (SSD).

The CPU101executes a program110loaded from the storage medium104to the memory102to perform the power estimation process.

Further, the external interface103communicates with, for example, the operation terminal5.

[Function of Information Processing System]

Next, the function of the information processing system10will be described.FIG. 3is a functional block diagram of the information processing apparatus1.

As illustrated inFIG. 3, the hardware such as, for example, the CPU101and the memory102organically cooperates with the program110, whereby the information processing apparatus1implements various functions including the functions of an information receiving unit111, an information specifying unit112, an information managing unit113, a candidate specifying unit114, a status determination unit115, a candidate determination unit116, a power specifying unit117, a power estimation unit118, a model generation unit119, an information generation unit120, a coefficient calculation unit121, and an information output unit122.

Further, for example, as illustrated inFIG. 3, the information processing apparatus1stores job information131, power information132, a topic model133, ratio information134, coefficient information135, and estimation information136in the information storage area130. Hereinafter, the job information131is also referred to as first job information131a,second job information131b,or third job information13kas necessary.

The information receiving unit111receives, for example, a new job that needs to be scheduled for execution timing.

The information specifying unit112specifies the first job information131arelated to the new job received by the information receiving unit111. The job information131is, for example, information including job identification information (hereinafter, also referred to as a job ID) and a name of a user who executes the job (hereinafter, also referred to as a user name).

The information managing unit113stores, for example, the job information131specified by the information specifying unit112in the information storage area130.

The candidate specifying unit114uses, for example, the topic model133generated by learning a correspondence between the second job information131bregarding each job executed in the past and the power information132required for executing each job, thereby specifying a predetermined number of pieces of third job information131cof which the matching status with the first job information131asatisfies the first condition among the second job information131b.Specifically, the candidate specifying unit114specifies a predetermined number of pieces of job information131having a high ratio of information that matches the content of the first job information131aamong, for example, the second job information131b,as a predetermined number of pieces of third job information131cthat satisfies the first condition.

The status determination unit115determines whether the matching status with the first job information131asatisfies the second condition for each third job information131cspecified by the candidate specifying unit114. Specifically, the status determination unit115specifies the job information131having a highest ratio of information that matches the content of the first job information131aamong, for example, the third job information131c,as the third job information131cthat satisfies the second condition.

The candidate determination unit116specifies any one of the third job information131cbased on the determination result by the status determination unit115. Specifically, the candidate determination unit116specifies the job information131having a highest ratio of information that matches the content of the first job information131aamong, for example, the third job information131c.

The power specifying unit117specifies the power information132associated with the third job information131cspecified by the candidate determination unit116from the power information132stored in the information storage area130. The power information132is information indicating, for example, the transition of power consumption during execution of each job.

The power estimation unit118estimates the power information132obtained by correcting the power information132specified by the power specifying unit117according to the determination result by the status determination unit115, as the power information132at the time of execution of a new job received by the information receiving unit111.

The model generation unit119generates the topic model133by inputting the job information131stored in the information storage area130.

The information generation unit120generates ratio information134from the job information131stored in the information storage area130. The ratio information134is, for example, information indicating a matching status between the estimation information136that is an estimation result of the power information132of each job estimated by using the topic model133and the actual power information132of each job.

The coefficient calculation unit121generates coefficient information135including various correction coefficients used by the power estimation unit118.

The information output unit122outputs the power information132estimated by the power estimation unit118. Specifically, the information output unit122outputs the power information132to, for example, the operation terminal5.

[Outline of First Embodiment]

Next, an outline of a first embodiment will be described.FIG. 4is a flowchart for explaining an outline of a power estimation process according to the first embodiment.

As illustrated inFIG. 4, the information processing apparatus1stands by until a new job has been received (“NO” in S1). Specifically, the information processing apparatus1stands by until a new job that needs to be scheduled for execution timing has been received.

In addition, when a new job has been received (“YES” in S1), the information processing apparatus1specifies the first job information131arelated to the new job received in S1(S2).

Subsequently, the information processing apparatus1refers to the information storage area130that stores the second job information131brelated to each job executed in the past and the power information132required for executing each job in association with each other, and specifies a predetermined number of pieces of third job information131cof which the matching status with the first job information131asatisfies the first condition among the second job information131b(S3).

Next, the information processing apparatus1determines whether the matching status with the first job information131asatisfies the second condition for each of the third job information131cspecified in the process of S3(S4).

Then, the information processing apparatus1specifies any job information131among the third job information131cbased on the determination result in S4(S5).

Thereafter, the information processing apparatus1estimates the power information132obtained by correcting the power information132associated with the job information131specified in S5according to the determination result in S4, as the power information132at the time of execution of the new job received in S1(S6).

As a result, the information processing apparatus1may accurately estimate power information when a new job is executed. For this reason, the information processing apparatus1may suppress an increase in power charge associated with the execution of each job.

[Details of First Embodiment]

Next, details of the first embodiment will be described.FIGS. 5 to 19are flowcharts for explaining details of the power estimation process according to the first embodiment. FurtherFIGS. 20 to 28are diagrams for explaining the details of the power estimation process according to the first embodiment.

First, a process of generating the topic model133(hereinafter, model generation process) will be described.FIG. 5is a flowchart for explaining the model generation process.

As illustrated inFIG. 5, the model generation unit119of the information processing apparatus1stands by until the model generation timing is reached (“NO” in S11). The model generation timing may be, for example, a timing when the person in charge inputs information indicating that the topic model133is generated to the information processing apparatus1.

When the model generation timing is reached (“YES” in S11), the model generation unit119generates the topic model133by inputting the job information131stored in the information storage area130(S12).

Specifically, in response to the input of the first job information131arelated to the new job, the model generation unit119executes generation of the topic model133that outputs the job information131having a highest ratio of information that matches the content of the first job information131aamong the second job information131brelated to the job executed in the past. Hereinafter, a specific example of the job information131will be described.

[Specific Example of Job Information]

FIG. 20is a diagram for explaining a specific example of the job information131.

The job information131illustrated inFIG. 20includes a “job ID” in which a job ID that is identification information of each job is stored, a “user name” in which a user name that is a name of a user who executes each job is stored, and a “group name” in which the group name to which each user belongs is stored as items. Further, the job information131illustrated inFIG. 20includes an “application name” that is the name of an application that is called when each job is executed, a “100” that is the number of execution nodes required when each job is executed, and a “maximum execution time” which is the maximum time allowed as the execution time of each job as items.

Specifically, with respect to the job information131illustrated inFIG. 20, “tanaka” is stored as the “user name,” “RD” is stored as the “group name,” and “app12” is stored as the “application name” in the information whose “job information ID” is “JOBA3.” Further, with respect to the job information131illustrated inFIG. 20, “100 (units)” is stored as the “number of requested nodes” and “24 (h)” is stored as the “maximum execution time” in the information whose “job information ID” is “JOBA3.”

Next, a process of generating the ratio information134(hereinafter, information generation process) will be described. FIG,6is a flowchart for explaining the information generation process.

As illustrated inFIG. 6, the information generation unit120of the information processing apparatus1stands by until the information generation timing is reached (“NO” in S21). The information generation timing may be, for example, a timing when the person in charge inputs information indicating that the ratio information134is generated to the information processing apparatus1. Further, the information generation timing may be, for example, a periodic timing.

When the information generation timing is reached (“YES” in S21), the information generation unit120specifies the job information131having a highest ratio of information with the same content among other job information131stored in the information storage area130(hereinafter, also referred to as fourth job information131) for each job information131stored in the information storage area130(S22).

Specifically, the information generation unit120specifies the other job information131having the highest ratio of information that matches the content of each job information131by inputting each job information131to, for example, the topic model133generated in the process of S12.

Subsequently, for each job information131stored in the information storage area130, the information generation unit120specifies comparison information indicating a matching status between the information of each item included in each job information131and the information of each item included in the job information131specified in the process of S22(S23). Hereinafter, the process of S23will be described.

[Specific Example of Process of S23]

FIGS. 21A to 21Care diagrams illustrating specific examples of the process of S23.FIG. 21Ais a diagram for explaining one of the job information131stored in the information storage area130. In addition,FIG. 21Bis a diagram for explaining job information131to be compared with the job information131illustrated inFIG. 21Aamong the job information131specified in the process of S22. Further,FIG. 21Cis a specific example of comparison information between the job information131illustrated inFIG. 21Aand the job information131illustrated inFIG. 21B.

Specifically, with respect to the job information131illustrated inFIG. 21A, “JOBA3” is stored as the “job ID,” “tanaka” is stored as the “user name,” “RD” is stored as the “group name,” and “app12” is stored as the “application name.” Further, with respect to the job information131illustrated inFIG. 21A, “100 (units)” is stored as the “number of requested nodes” and “24 (h)” is stored as the “maximum execution time.”

Meanwhile, with respect to the job information131illustrated inFIG. 21B, “JOBD2” is stored as the “job ID,” “tanaka” is stored as the “user name,” “RD” is stored as the “group name,” and “app15” is stored as the “application name.” Further, with respect to the job information131illustrated inFIG. 21B, “80 (units)” is stored as the “number of requested nodes” and “15 (h)” is stored as the “maximum execution time.”

That is, among the items included in the job information131illustrated inFIG. 21A, items whose contents match the job information131illustrated inFIG. 21Bare the “user name” and the “group name,” and the items whose contents do not match are the “job ID,” the “application name,” the “number of requested nodes,” and the “maximum execution time.” Therefore, in the process of S23, for example, as illustrated inFIG. 21C, the information generation unit120generates comparison information in which information corresponding to the “user name” and the “group name” is “TRUE,” and information corresponding to the “job ID,” the “application name,” the “number of requested nodes,” and the “maximum execution time” is “FALSE.”

Referring back toFIG. 6, the information generation unit120, for each job information131stored in the information storage area130, specifies power information132corresponding to each job information131(hereinafter, also referred to as first power information132) and power information132corresponding to the job information131specified in the process of S22(hereinafter, also referred to as second power information132) (S24). Hereinafter, a specific example of the power information132will be described.

[Specific Example of Power Information]

FIG. 22is a diagram illustrating a specific example of the power information132.

The power information132illustrated inFIG. 22includes a “job ID” in which a job ID that is identification information of each job is stored, and “5 minutes,” “10 minutes,” “15 minutes,” etc. in which average power consumption per node is stored for each unit time (e.g., 5 minutes) included in the execution time of each job, as items.

Specifically, with respect to the power information132illustrated inFIG. 22, “300 (kw)” is stored as “5 minutes,” “360 (kw)” is stored as “10 minutes,” and “200 (kw)” is stored as “15 minutes” in the information whose “JOB ID” is “JOBA3.” Descriptions of other information included inFIG. 22are omitted.

Referring back toFIG. 6, for each job information131stored in the information storage area130, the information generation unit120specifies similarity information indicating a similar state between the first power information132and the second power information132specified in the process of S24(S25).

That is, the information generation unit120determines whether the first power information132and the second power information132are similar, thereby determining whether the estimation result of the power information132performed by the topic model133generated in the process of S12is appropriate. Hereinafter, a specific example of the process of S25will be described.

[Specific Example of Process of S25]

FIGS. 23A to 23Dare diagrams illustrating a specific example of the process of S25. Specifically,FIGS. 23A to 23Drepresent a specific example of the graph in a case where each information included in the first power information132and the second power information132is plotted on a plane in which the horizontal axis is time and the vertical axis is power consumption per node. Further, in the example illustrated inFIG. 23, the solid line indicates the content corresponding to the first power information132, and the broken line indicates the content corresponding to the second power information132.

In the process of S25, the information generation unit120calculates, for example, a mean square error between each power consumption included in the first power information132and each power consumption included in the second power information132(hereinafter, also referred to as a power error). Further, the information generation unit120calculates, for example, an error between a job execution time corresponding to the first power information132and a job execution time corresponding to the second power information132(hereinafter, also referred to as a time error).

Then, for example, as illustrated inFIG. 23A, when there is a job in which each of the power error and the time error is equal to or less than a predetermined threshold value, the information generation unit120specifies “success” as similarity information of the job. Further, for example, as illustrated inFIG. 23B, when there is a job in which the time error is equal to or less than a threshold value and the power error exceeds the threshold value, the information generation unit120specifies “failure A” as similarity information of the job. Further, for example, as illustrated inFIG. 23C, when there is a job in which the power error is equal to or less than the threshold value and the time error exceeds the threshold value, the information generation unit120specifies “failure B” as similarity information of the job. In addition, for example, as illustrated inFIG. 23D, when there is a job in which each of the power error and the time error exceeds the threshold value, the information generation unit120specifies “failure C” s similarity information of the job.

Further, the information generation unit120may adopt, example, “5.8 (w)” as the threshold value of the power error and “10 (minutes)” as the threshold value of the time error.

Referring back toFIG. 6, the information generation unit120generates ratio information134indicating the ratio of jobs corresponding to each similarity information specified in the process of S25for each content of the comparison information specified in the process of S23(S26). Hereinafter, a specific example of the ratio information134will be described.

[Specific Example of Ratio Information]

FIG. 24is a diagram illustrating a specific example of the ratio information134.

The ratio information134illustrated inFIG. 24includes an “item number” for identifying each information included in the ratio information134, and the “job ID,” the “user name,” the “group name,” the “application name,” the “number of requested nodes,” and the “maximum execution time” in which the same information as the similarity information described inFIG. 21Cis stored, as items. Further, the ratio information134illustrated in FIG.24includes a “success” in which the ratio of jobs having similarity information as success is stored, a “failure A” in which the ratio of jobs having similarity information as failure A is stored, a “failure B” in which the ratio of jobs having similarity information as failure B is stored, and a “failure C” in which the ratio of jobs having similarity information as failure C is stored, as items.

Specifically, with respect to the ratio information134illustrated inFIG. 24, “TRUE” is stored as the “job ID,” “TRUE” is stored as the “user name,” “TRUE” is stored as the “group name,” “TRUE” is stored as the “application name,” “TRUE” is stored as the “number of requested nodes,” and “TRUE” is stored as the “maximum execution time” in the information whose “item number” is “1.” Further, with respect to the ratio information134illustrated inFIG. 24, “80(%)” is stored as the “success,” “10(%)” is stored as the “failure A,” “10(%)” is stored as the “failure B,” and “0(%)” is stored as the “failure C” in the information whose “item number” is “1.”

That is, the information in which the “item number” in the ratio information134illustrated inFIG. 24is “1” indicates that the estimation of the power information132of the job in which all information included in the similarity information is “TRUE” is successful at a rate of 80(%), In addition, the information whose “item number” is “1” indicates that the failure corresponding to the failure A occurs at a rate of 10(%) and the failure corresponding to failure B occurs at a rate of 10(%) in the estimation of the power information132of the job whose all information included in the similarity information is “TRUE.”

Further, with respect to the ratio information134illustrated inFIG. 24, “FALSE” is stored as the “job ID,” “TRUE” is stored as the “user name,” “TRUE” is stored as the “group name,” “TRUE” is stored as the “application name,” “TRUE” is stored as the “number of requested nodes,” and “TRUE” is stored as the “maximum execution time” in the information whose “item number” is “2.” Further, with respect to the ratio information134illustrated inFIG. 24, “60(%)” is stored as the “success,” “15(%)” is stored as the “failure A,” “10(%)” is stored as the “failure B,” and “5(%)” is stored as the “failure C” in the information whose “item number” is “2.”

That is, the information in which the “item number” in the ratio information134illustrated inFIG. 24is “2” indicates that the estimation of the power information132of the job in which all information other than the “job ID” is “TRUE” is successful at a rate of 60(%). In addition, the information whose “item number” is “2” indicates that the failure corresponding to the failure A occurs at a rate of 15(%), the failure corresponding to the failure B occurs at a rate of 10(%), and the failure corresponding to failure C occurs at a rate of 5(%) in the estimation of the power information132of the job in which all information other than the “job ID” is “TRUE.”

As a result, as described later, the information processing apparatus1may estimate the power information132of the job to be executed by referring to the ratio information134. Descriptions of other information included inFIG. 24are omitted.

[Details of Power Estimation Process]

Next, details of the power estimation process will be described.FIGS. 7 to 19are flowcharts illustrating details of the power estimation process. Hereinafter, among the information included in the ratio information134, the ratio corresponding to success will also be referred to as a first ratio, the ratio corresponding to the failure A will also be referred to as a second ratio, the ratio corresponding to the failure B will also be referred to as a third ratio, and the ratio corresponding to the failure C will also be referred to as a fourth ratio.

As illustrated inFIG. 7, the information receiving unit111of the information processing apparatus stands by until a new job has been received (“NO” in S31). Specifically, the information processing apparatus1stands by until a new job that needs to be scheduled for execution timing has been received.

In addition, when a new job has been received (“YES” in S31), the information specifying unit112of the information processing apparatus1specifies the first job information131arelated to the new job received in S31(S32).

Subsequently, the candidate specifying unit114of the information processing apparatus1inputs the first job information131aspecified in the process of S32to the topic model133generated in the process of S12, thereby specifying a predetermined number of pieces of third job information131chaving a high content matching ratio with the job information131specified in the process of S32among the job information131stored in the information storage area130(S33). Specifically, the candidate specifying unit114specifies, for example, ten pieces of third job information131cin the descending order of content matching ratio with the job information131specified in the process of S32.

Next, the status determination unit115of the information processing apparatus1refers to the ratio information134generated in the process of S26, and determines, for each third job information131cspecified in the process of S33, whether a first ratio corresponding to the comparison information with the first job information131aspecified in the process of S32is equal to or greater than a predetermined ratio (S34).

Specifically, the status determination unit115determines, for example, for each third job information131cspecified in the process of S33, whether the first ratio corresponding to the comparison information with the first job information131aspecified in the process of S32is 90% or more.

Then, the status determination unit115determines whether job information in which the first ratio corresponding to the comparison result with the first job information131aspecified in S32is equal to or greater than a predetermined ratio exists in the third job information131cspecified in S33(S35).

As a result, as illustrated inFIG. 8, when it is determined that the third job information131chaving the first ratio equal to or greater than the predetermined ratio exists (“YES” in S41), the power specifying unit117of the information processing apparatus1specifies the power information132associated with the third job information131cexisting in the process of S35among the power information132stored in the information storage area130, as the power information132required for execution of the job received in the process of S31(S42).

Further, the information output unit122of the information processing apparatus1outputs the power information132specified in the process of S42(S43).

Specifically, in the ratio information134described with reference toFIG. 24, “90(%)” is stored in “success” of the information whose “item number” is “3.” Therefore, for example, when the third job information131cspecified in the process of S33includes job information131in which all information other than the “user name” is “TRUE,” the power specifying unit117uses the power information132corresponding to the job information131in which all information other than the “user name” is “TRUE” among the third job information131cspecified in the process of S33, to the processing of S31, as an estimation result of the power information132required for executing the job received in the process of S31.

That is, when the third job information131ccorresponding to similarity information having a ratio stored as “success” equal to or greater than a predetermined ratio exists, even when the information processing apparatus1directly uses the power information132corresponding to the third job information131cas the estimation result of the power information132required for the execution of the job received in the process of S31, it is possible to determine that no large error occurs with respect to the actual measurement result of the power information132of the job received in the process of S31.

Therefore, in this case, the information processing apparatus1does not correct the power information132specified in the process of S42.

Further, when it is determined that there are plural pieces of third job information131chaving the first ratio equal to or greater than the predetermined ratio, the power specifying unit117may specify the power information132associated with the third job information131chaving the highest first ratio among the third job information131cdetermined to be present in plural pieces, as the power information132required for the execution of the job received in the process of S31. In addition, for example, when one piece of third job information131chaving the first ratio equal to or greater than a predetermined ratio is specified, the power specifying unit117may specify the power information132associated with the specified third job information131c,as the power information132required for the execution of the job received in the process of S31, without checking whether there is another third job information131chaving the first ratio equal to or greater than the predetermined ratio.

Referring back toFIG. 8, when it is determined that the third job information131chaving the first ratio equal to or greater than the predetermined ratio does not exist (“NO” in S41), the candidate determination unit116of the information processing apparatus1specifies the highest ratio among the second ratio, third ratio, and fourth ratio, corresponding to the third job information131cdetermined to have the highest first ratio in the process of S33(S44).

As a result, when the highest ratio is the fourth ratio (“YES” in S45), the power estimation unit118of the information processing apparatus1estimates the power information132whose power consumption is a maximum power consumption designated in advance and execution time is a maximum execution time of each job designated in advance (maximum execution time included in the job information131of each job), as the power information132required for the execution of the job received in the process of S31(S46).

Further, the information output unit122outputs the power information132estimated in the process of S46(S43).

That is, when it is determined that the fourth ratio is the highest in the process of S44, the power estimation unit118may determine that it is difficult to accurately estimate the power information132required for executing the job received in the process of S31. Therefore, in this case, for example, the power estimation unit118estimates the power information132on an assumption that the execution time and power consumption of the job received in the process of S31are the maximum.

Thus, the information processing apparatus1may prevent the actual power consumption associated with the execution of the job received in the process of S31from significantly exceeding the estimation result. Therefore, the information processing apparatus1may prevent the amount of power consumption associated with the execution of the job from exceeding the amount of contracted power with the power company.

Meanwhile, as illustrated inFIG. 9, when the highest ratio is the third ratio (“NO” in S45, “YES” in S51), the power specifying unit117refers to the power information132stored in the information storage area130, and specifies the power information132associated with the third job information131cdetermined to have the highest first ratio in the process of S33(S52).

Then, the power estimation unit118corrects the power information132specified in the process of S52such that the execution time is a product of the maximum execution time of the job received in the process of S31and the time correction coefficient corresponding to the job received in the process of S31(S53).

That is, in this case, the power estimation unit118corrects the job execution time included in the power information132specified in the process of S52.

Specifically, the power estimation unit118corrects the power information132specified in the process of S52, for example, such that the execution time is a product of the maximum execution time included in the first job information131aspecified in the process of S32and the time correction coefficient calculated in the time coefficient calculation process (to be described later).

Thereafter, the information output unit122outputs the power information132corrected in the process of S53(S43). Hereinafter, the details of the process of S53will be described.

[Details of Process of S53]

FIG. 10is a flowchart for explaining the details of the process of S53.

As illustrated inFIG. 10, the power estimation unit118refers to coefficient information about the execution time of each job (hereinafter, also referred to as first coefficient information135a) among the coefficient information135stored in the information storage area130, and determines whether a correction coefficient corresponding to the job received in the process of S31(hereinafter, also referred to as a first time correction coefficient) has been calculated (S61).

Specifically, the power estimation unit118determines whether the first coefficient information135astored in the information storage area130includes the first time correction coefficient corresponding to the job received in the process of S31. Hereinafter, a specific example of the first coefficient information135awill be described.

[Specific Example of First Coefficient Information]

FIG. 25is a diagram illustrating a specific example of the first coefficient information135a.

The first coefficient information135aillustrated inFIG. 25includes an “item number” for identifying each information included in the first coefficient information135a,a “group name” in which a group name corresponding to each job is stored, a “user name” in which the user name corresponding to each job is stored, and an “application name” in which the application name corresponding to each job is stored as items. Also, the first coefficient information135aillustrated inFIG. 25includes a “correction coefficient” in which the first time correction coefficient of each job is stored as an item.

Specifically, “RD” is stored as the “group name,” “tanaka” is stored as the “user name,” “app12” is stored as the “application name,” and “0.6” is stored as the “correction coefficient” in the information whose “item number” is “1.”

That is, the information whose “item number” is1indicates that the correction coefficient of each job in which the “group name” is “RD,” the “user name” is “tanaka,” and the “application name” is “app12” is “0.6.”

In addition, “test” is stored as the “group name,” “0.9” is stored as the “correction coefficient,” and “−” indicating that no information exists is stored as the “user name” and the “application name” in the information whose “item number” is “2.”

That is, the information whose “item number” is “1” indicates that the correction coefficient of the job whose “group name” is “test” is “0.9.”

Therefore, for example, when the group name of the job received in the process of S31is “RD,” the user name is “tanaka,” and the application name is “app12,” the power estimation unit118determines in the process of S61that the first coefficient information135astored in the information storage area130includes the first time correction coefficient corresponding to the job received in the process of S31. Further, for example, when the group name of the job received in the process of S31is “test,” the user name thereof is “suzuki,” and the application name thereof is “app03,” the power estimation unit118determines that the first coefficient information135astored in the information storage area130includes the first time correction coefficient corresponding to the job received in the process of S31. Descriptions of other information included inFIG. 25are omitted.

Referring back toFIG. 10, when the first time correction coefficient corresponding to the job received in the process of S31has been calculated (“YES” in S62), the power estimation unit118corrects the power information132specified in the process of S52such that the execution time is a product of the maximum execution time of the job received in the process of S31and the first time correction coefficient corresponding to the job received in the process of S31(S63). A process of calculating the first time correction coefficient will be described later.

Meanwhile, when the first time correction coefficient corresponding to the job received in the process of S31has not been calculated (“NO” in S62), the power estimation unit118corrects the power information132specified in the process of S52such that the execution time is a product of the maximum execution time of the job received in the process of S31and the time correction coefficient corresponding to all jobs (hereinafter, also referred to as a second time correction coefficient) (S64).

That is, in this case, since the first time correction coefficient corresponding to the job received in the process of S31has not been calculated, the power estimation unit118uses the second time correction coefficient that is a time correction coefficient corresponding to all jobs, instead of the first time correction coefficient. A process of calculating the second time correction coefficient will be described later.

Further, the power estimation unit118may determine, for example, whether the execution time included in the power information132corrected in the process of S63, etc. after the process of S63or S64(hereinafter, also referred to as the process of S63, etc.) is longer than the execution time included in the estimation information136corresponding to the job received in the process of S31.

In addition, for example, when it is determined that the execution time included in the power information132corrected in the process of S63, etc. is longer than the execution time included in the estimation information136corresponding to the job received in the process of S31, the power estimation unit118may correct the power information132corrected in the process of S63, etc. up to the execution time included in the estimation information136corresponding to the job received in the process of S31, thereby matching the execution time included in the power information132after the termination with the execution time included in the estimation information136corresponding to the job received in the process of S31.

Further, for example, when it is determined that the execution time included in the power information132corrected in the process of S63, etc. is shorter than the execution time included in the estimation information136corresponding to the job received in the process of S31, the power estimation unit118may perform a supplementation on the power information132corrected in the process of S63, etc. with an average value included in the estimation information136corresponding to the job received in the process of S31, thereby matching the execution time included in the supplemented power information132with the execution time included in the estimation information136corresponding to the job received in S31.

Referring back toFIG. 9, when the highest ratio is the second ratio (“NO” in S45, “NO” in S51), the power specifying unit117refers to the power information132stored in the information storage area130, and specifies the power information132associated with the third job information131cdetermined to have the highest first ratio in the process of S33(S54).

Then, the power estimation unit118corrects the power information132specified in the process of S54such that the power consumption is a product of the number of nodes at the time of execution of the job received in the process of S31, the power consumption per node at the time of execution of the job determined to have the highest first ratio in the process of S33, and the power correction coefficient corresponding to the job received in the process of S31(S55).

That is, in this case, the power estimation unit118corrects the power consumption of the job included in the power information132specified in the process of S54.

Specifically, the power estimation unit11corrects the power information132specified in the process of S54, for example, such that the power consumption is a product of the number of requested nodes included in the first job information131aspecified in the process of S32, the average value of the power consumption of the job determined to have the highest first ratio in the process of S33, and the power correction coefficient calculated in the power coefficient calculation process (to be described later).

Thereafter, the information output unit122outputs the power information132corrected in the process of S55(S43). Hereinafter, the details of the process of S55will be described.

[Details of Process of S55]

FIG. 11is a flowchart for explaining the details of the process of S55.

As illustrated inFIG. 11, the power estimation unit118refers to the coefficient information about power consumption at the time of execution of each job (hereinafter, also referred to as second coefficient information135b) among the coefficient information135stored in the information storage area130, and determines whether a correction coefficient corresponding to the job received in the process of S31(hereinafter, also referred to as a first power correction coefficient) has been calculated (S71).

Specifically, the power estimation unit118determines whether the second coefficient information135bstored in the information storage area130includes the first power correction coefficient corresponding to the job received in the process of S31. Hereinafter, a specific example of the second coefficient information135bwill be described.

[Specific Example of Second Coefficient Information]

FIG. 26is a diagram illustrating a specific example of the second coefficient information135b.

The second coefficient information135billustrated inFIG. 26includes an “item number” for identifying each information included in the second coefficient information135b,a “group name” in which the group name corresponding to each job is stored, a “user name” in which the user name corresponding to each job is stored, and an “application name” in which the application name corresponding to each job is stored, as items. Further, the second coefficient information135billustrated inFIG. 26includes a “correction coefficient expression” in which an expression of the first power correction coefficient of each job is stored, and a “number of jobs” in which the number of jobs corresponding to each of information stored in the “group name,” the “user name,” and the “application name” is stored, as items.

Specifically, “RD” is stored as the “group name,” “tanaka” is stored as the “user name,” “app12” is stored as the “application name,” “expression1-3” is stored as the “correction coefficient expression,” and “10” is stored as the “number of jobs” in the information whose “item number” is “1.”

That is, the information whose “item number” is “1” indicates that the correction coefficient expression for a job whose “group name” is “RD,” “user name” is “tanaka,” and “application name” is “app12” is “expression1-3.”

In addition, “test” is stored, as the “group name,” “suzuki” is stored as the “user name,” “−” is stored as the “application name,” “expression4-3” is stored as the “correction coefficient expression,” and “5” is stored as the “number of jobs” in the information whose “item number” is “2.”

That is, the information whose “item number” is “2” indicates that the correction coefficient expression of a job whose “group name” is “test” and “user name” is “suzuki” is “expression4-3.”

Therefore, for example, when the group name of the job received in the process of S31is “RD,” the user name is “tanaka,” and the application name is “app12,” the power estimation unit118determines in the process of S71that the second power information135bstored in the information storage area130includes the first power correction coefficient corresponding to the job received in the process of S31. Further, for example, when the group name of the job received in the process of S31is “test,” the user name is “suzuki,” and the application name is “app03,” the power estimation unit118determines that the second power information135bstored in the information storage area130includes the first power correction coefficient corresponding to the job received in the process of S31. Descriptions of other information included inFIG. 26are omitted.

Referring back toFIG. 11, when the first power correction coefficient corresponding to the job received in the process of S31has been calculated (“YES” in S72), the power estimation unit118corrects the power information132specified in the process of S54such that the power consumption is a product of the number of nodes at the time of execution of the job received in the process of S31, the power consumption per node at the time of execution of the job determined to have the highest first ratio in the process of S33, and the first power correction coefficient corresponding to the job received in the process of S31(S73). A process of calculating the first power correction coefficient will be described later.

Meanwhile, when the first power correction coefficient corresponding to the job received in the process of S31has not been calculated (“NO” in S72), the power estimation unit118corrects the power information132specified in the process of S54such that the power consumption is a product of the number of nodes at the time of execution of the job received in the process of S31, the power consumption per node at the time of execution of the job determined to have the highest first ratio in the process of S33, and the power correction coefficient corresponding to all jobs (hereinafter, also referred to as a second power correction coefficient) (S74).

That is, in this case, since the first power correction coefficient corresponding to the job received in the process of S31has not been calculated, the power estimation unit118uses the second power correction coefficient that is a power correction coefficient corresponding to all jobs, instead of the first power correction coefficient. A process of calculating the second power correction coefficient will be described later.

In addition, for example, the information processing apparatus1may perform the processes of S54and S55even after the process of S42, the process of S46, or the process of S51.

As a result, the information processing apparatus1may accurately estimate the power information132when a new job is executed.

Next, a process of calculating a time correction coefficient (hereinafter, also referred to as a time coefficient calculation process) will be described.

As illustrated inFIG. 12, the coefficient calculation unit121of the information processing apparatus1stands by until the calculation timing of the time correction coefficient is reached (“NO” in S81). The calculation timing of the time correction coefficient may be, for example, a timing when the person in charge inputs information indicating that the time correction coefficient has been calculated to the information processing apparatus1. Further, the calculation timing of the time correction coefficient may be, for example, a periodic timing.

In addition, when the calculation timing of the time correction coefficient is reached (“YES” in S81), the coefficient calculation unit121determines whether a job has been received in the process of S31after the previous time coefficient calculation process is executed (S82).

As a result, when it is determined that the job has been received in the process of S31(“YES” in S83), the coefficient calculation unit121specifies one of the jobs determined to have been received in the process of S31(S84).

Then, the coefficient calculation unit121determines whether the first time correction coefficient of a calculation unit including the job specified in the process of S84exists in the first coefficient information135astored in the information storage area130(S85). The calculation unit used herein is a unit determined in a time coefficient unit determination process (to be described later), and is a unit indicating a range of jobs using the same time correction coefficient.

Specifically, in the first coefficient information135adescribed inFIG. 25, for example, “0.6” is stored as the “correction coefficient” of a job in which the “group name” is “RD,” the “user name” is “tanaka,” and the “application name” is “app12.” Therefore, when the “group name” of the new job received in the process of S31is “RD,” the “user name” thereof is “tanaka,” and the “application name” thereof is “app12,” the coefficient calculation unit121determines in the process of S85that the first time correction coefficient of the calculation unit including the job specified in the process of S84exists in the first coefficient information135astored in the information storage area130.

Then, when it is determined that there is a first time correction coefficient in the calculation unit including the job specified in S84(“YES” in S86), as illustrated inFIG. 13, the coefficient calculation unit121refers to the job information131stored in the information storage area130, and specifies a job included in the same calculation unit as the job specified in the process of S84(S91).

Specifically, in the first coefficient information135adescribed inFIG. 25, for example, “test” is stored in the “group name,” and information in which “−” is stored in the “user name” and the “application name” (information whose “item number” is “2”) is included. That is, the first coefficient information135adescribed with reference toFIG. 25indicates that the calculation unit of a job in which “test” is stored in the “group name” is used for each group name. Therefore, for example, when the “group name” of the new job received in the process of S31is “test,” the coefficient calculation unit121specifies information in which the “group name” is “test” among the job information131stored in the information storage area130.

Subsequently, the coefficient calculation unit121refers to the job information131and the power information132stored in the information storage area130, and divides the execution time required to execute each job by the maximum execution time of each job for each job specified in the process of S91(S92).

Specifically, the coefficient calculation unit121divides the execution time included in the power information132corresponding to each job (actual execution time) by the maximum execution time included in the job information131corresponding to each job for each job specified in the process of S91.

Thereafter, the coefficient calculation unit121calculates an average value of the values calculated in the process of S92as the first time correction coefficient of the job specified in the process of S91(the job having the same calculation unit as the job specified in S84) (S93).

Then, when it is determined that all jobs determined to have been received in the process of S82have not been specified in the process of S84(“NO” in S96), the coefficient calculation unit121performs the processes subsequent to S84again.

Meanwhile, when it is determined that all jobs determined to have been received in the process of S82have been specified in the process of S84(“YES” in S96), the coefficient calculation unit121ends the time coefficient calculation process.

Further, when it is determined that the first time correction coefficient of the calculation unit including the job specified in the process of S84does not exist (“NO” in S86), the coefficient calculation unit121refers to the job information131and the power information132stored in the information storage area130, and divides the execution time required for executing each job by the maximum execution time of each job, for each job that has been executed in the past (S94).

Specifically, the coefficient calculation unit121divides the execution time included in the power information132of each job by the maximum execution time included in the job information131of each job, for each job whose power information132is stored in the information storage area130.

Thereafter, the coefficient calculation unit121calculates an average value of the values calculated in the process of S94as the second time correction coefficient (S95).

That is, a case where the first time correction coefficient of the calculation unit including the job specified in S84does not exist refers to a case where it is determined that there is no need to calculate the first time correction coefficient for the job specified in the process of S84in the time coefficient unit determination process (to be described later). Therefore, in this case, the coefficient calculation unit121updates the second time correction coefficient corresponding to all jobs without calculating the first time correction coefficient for the job specified in the process of S84.

Then, when it is determined that all jobs determined to have been received in the process of S82have not been specified in the process of S84(“NO” in S96), the coefficient calculation unit121performs the processes subsequent to S84again.

Meanwhile, when it is determined that all jobs determined to have been received in the process of S82have been specified in the process of S84(“YES” in S96), the coefficient calculation unit121ends the time coefficient calculation process. Further, the coefficient calculation unit121ends the time coefficient calculation process similarly when it is determined that the job is not received in the process of S31(“NO” in S83).

Next, a process of calculating a power correction coefficient (hereinafter, also referred to as a power coefficient calculation process) will be described.

As illustrated inFIG. 14, the coefficient calculation unit121stands by until the calculation timing of the power correction coefficient is reached (“NO” in S101). The calculation timing of the power correction coefficient may be, for example, a timing when the person in charge inputs information indicating that the power correction coefficient is calculated to the information processing apparatus1. Further, the calculation timing of the power correction coefficient may be, for example, a periodic timing.

Then, when the calculation timing of the power correction coefficient is reached (“YES” in S101), the coefficient calculation unit121determines whether a job has been received in the process of S31after the previous time coefficient calculation process is executed (S102).

As a result, when it is determined that a job has been received in the process of S31(“YES” in S103), the coefficient calculation unit121specifies one of the jobs determined to have been received in the process of S31(S104).

Then, the coefficient calculation unit121determines whether the first power correction coefficient of the calculation unit including the job specified in the process of S104exists in the second coefficient information135bstored in the information storage area130(S105).

Specifically, in the second coefficient information135bdescribed with reference toFIG. 26, for example, “expression1-3” is stored as the “correction coefficient” of a job in which the “group name” is “RD,” the “user name” is “tanaka,” and the “application name” is “app12.” Therefore, when the “group name” of the new job received in the process of S31is “RD,” the “user name” thereof is “tanaka,” and the “application name” thereof is “app12,” the coefficient calculation unit121determines in the process of S105that information corresponding to the first power correction coefficient of the calculation unit including the job specified in the process of S104exists in the second coefficient information135bstored in the information storage area130.

Then, when it is determined that there is a first power correction coefficient in the calculation unit including the job specified in the process of S104(“YES” in S106), as illustrated inFIG. 15, the coefficient calculation unit121refers to the job information131stored in the information storage area130, and specifies a job included in the same calculation unit as the job specified in the process of S104(S111).

Specifically, in the second coefficient information135bdescribed inFIG. 26, for example, “test” is stored in the “group name,” “suzuki” is stored in the “user name,” and information in which “−” is stored in the “application name” (information whose “item number” is “2”) is included. That is, the second coefficient information135bdescribed inFIG. 26indicates that the calculation unit of the job in which “test” is stored in the “group name” and “suzuki” is stored in the “user name” is used for each group name and for each user name. Therefore, for example, when the “group name” of the new job received in the process of S31is “test” and the “user name” is “suzuki,” the coefficient calculation unit121specifies information having “test” as the “group name” and “suzuki” as the “user name” among the job information13stored in the information storage area130.

Subsequently, the coefficient calculation unit121refers to the job information131and the power information132stored in the information storage area130, and uses coordinates on a plane indicating a correspondence between the number of nodes at the time of execution of each job specified in S111and the power consumption per node at the time of execution of each job specified in S111, thereby calculating a nonlinear regression equation indicating the first power correction coefficient of the job specified in the process of S111(the job having the same calculation unit as the job specified in S104) by the least square method (S112).

Specifically, the coefficient calculation unit121sets, for example, the following formula (1) as a prediction function indicating power consumption per node. In the following expression (1), “a” and “θ” are regression coefficients, and “X” is a variable indicating the number of nodes.
a/(1+θ*X)  (1)

Then, the coefficient calculation unit121calculates a and θ that minimize D, which is a sum of the distances from each coordinate, in the following expression (2) of the least square method.

Thereafter, the coefficient calculation unit121calculates a nonlinear regression equation indicating the first power correction coefficient of the job specified in the process of S111by applying the calculated a and to the expression (1).

Referring back toFIG. 15, when it is determined that all jobs determined to have been received in S102have not been specified in S104(“NO” in S114), the coefficient calculation unit121performs the processes subsequent to S104again.

Meanwhile, when it is determined that all jobs determined to have been received in S102have been specified in S104(“YES” in S114), the coefficient calculation unit121ends the time coefficient calculation process.

Further, when it is determined that there is no first time correction coefficient in the calculation unit including the job specified in the process of S104(“NO” in S106), the coefficient calculation unit121refers to the job information131and the power information132stored in the information storage area130, and uses coordinates on a plane indicating a correspondence between the number of nodes at the time of execution of each job that has been executed in the past and the power consumption per node at the time of execution of each job that has been executed in the past, thereby calculating a nonlinear regression equation indicating the second power correction coefficient corresponding to all jobs by the least square method (S113).

Then, when it is determined that all jobs determined to have been received in S102have not been specified in S104(“NO” in S114), the coefficient calculation unit121performs the processes subsequent to S104again.

Meanwhile, when it is determined that all jobs determined to have been received in S102have been specified in S104(“YES” in S114), the coefficient calculation unit121ends the time coefficient calculation process. Further, the coefficient calculation unit121ends the time coefficient calculation process similarly when it is determined that the job has not been received in the process of S31(“NO” in S103).

Next, a process of determining a job calculation unit for calculating a time correction coefficient (hereinafter, also referred to as a time coefficient unit determination process) will be described.

As illustrated inFIG. 16, the coefficient calculation unit121stands by until the determination timing of the time coefficient unit is reached (“NO” in S121). The determination timing of the time coefficient unit may be, for example, a timing when the person in charge inputs information indicating that the time correction coefficient is calculated to the information processing apparatus1. Further, the determination timing of the time coefficient unit may be, for example, a periodic timing.

Then, when the determination timing of the time coefficient unit is reached (“YES” in S121), the coefficient calculation unit121determines whether a job has been received in the process of S31after the previous time coefficient unit determination process is executed (S122).

As a result, when it is determined that the job has been received in the process of S31(“YES” in S123), the coefficient calculation unit121refers to the job information131and the power information132stored in the information storage area130, and divides the execution time required for actual execution of each job by the maximum execution time of each job, for each job determined to have been received in the process of S122(S124).

Then, the information managing unit113stores the value calculated by the process of S123in the information storage area130as reference information (not illustrated) (S125).

Subsequently, as illustrated inFIG. 17, the coefficient calculation unit121specifies one of the jobs determined to have been received in the process of S122(S131).

Next, the coefficient calculation unit121refers to the reference information stored in the information storage area130, and calculates a standard deviation from the reference information of the job having the same calculation unit as the job specified in the process of S131(S132).

As a result, when the standard deviation calculated in the process of S132exceeds a predetermined threshold value (“YES” in S133), the coefficient calculation unit121updates the first coefficient information135astored in the information storage area130such that the first time correction coefficient of the calculation unit including the job specified in the process of S131corresponds to a smaller calculation unit (S134).

That is, when the variation of the reference information calculated in the process of S123becomes larger, the coefficient calculation unit121makes the calculation unit of the first time correction coefficient corresponding to the reference information calculated in the process of S123smaller.

Specifically, for example, when the calculation unit including the job specified in the process of S131is used for each group name, the coefficient calculation unit121updates the first coefficient information135asuch that the calculation unit including the job specified in the process of S131is used for each group name and for each user name. Further, for example, when the calculation unit including the job specified in the process of S131is used for each group name and for each user name, the coefficient calculation unit121updates the first coefficient information135asuch that the calculation unit including the job specified in the process of S131is used for each group name, for each user name, and for each application name.

In addition, the predetermined threshold value used in the process of S133may be, for example, 0.2. Hereinafter, a specific example of the process of S134will be described.

[Specific Example of Process of S134]

FIG. 27is a diagram illustrating a specific example of the first coefficient information135a.Specifically,FIG. 27is a diagram illustrating the first coefficient information135aupdated from the state described inFIG. 25.

For example, when the “group name” and “user name” included in the job information131of the job specified in the process of S131are “test” and “suzuki,” respectively, and when the standard deviation exceeds a predetermined threshold value, as illustrated inFIG. 27, the coefficient calculation unit121stores “suzuki” in the “user name” of information whose “group name” is “test” (information whose “item number” is “2”) among the information included in the first coefficient information135adescribed with reference toFIG. 25. Further, in this case, the coefficient calculation unit121stores “−” in the “correction coefficient” of the information whose “item number” is “2.”

Thereafter, the coefficient calculation unit121calculates a value stored in the “correction coefficient” of the information whose “item number” is “2” in the next time coefficient calculation process.

Thus, the coefficient calculation unit121may suppress the number of times of calculating the time correction coefficient.

Referring back toFIG. 17, when not all the jobs have been specified in the process of S131(“NO” in S135), the coefficient calculation unit121performs the processes after S131again. In addition, similarly, when the standard deviation calculated in the process of S132is equal to or smaller than a predetermined threshold value (“NO” in S133), the coefficient calculation unit121performs the processes after S131again.

Meanwhile, when all the jobs have been specified in the process of S131(“YES” in S135), the coefficient calculation unit121ends the time coefficient unit determination process. Further, the coefficient calculation unit121also ends the time coefficient unit determination process in the same manner when it is determined that the job has not been received in the process of S31(“NO” in S123).

Next, a process of determining a job calculation unit for calculating a power correction coefficient (hereinafter, also referred to as a power coefficient unit determination process) will be described.

As illustrated inFIG. 18, the coefficient calculation unit121stands by until the determination timing of the power coefficient unit is reached (“NO” in S141). The determination timing of the power coefficient unit may be, for example, a timing when the person in charge inputs information indicating that the power correction coefficient is calculated to the information processing apparatus1. Further, the determination timing of the power coefficient unit may be, for example, a periodic timing.

When the determination timing of the power coefficient unit is reached (“YES” in S141), the coefficient calculation unit121determines whether a job has been received in the process of S31after the previous power coefficient unit determination process is executed (S142).

As a result, when it is determined that the job has been received in the process of S31(“YES” in S143), the coefficient calculation unit121specifies one of the jobs determined to have been received in the process of S142(S144).

Next, the coefficient calculation unit121refers to the power information132and the estimation information136stored in the information storage area130, and calculates an error between the power consumption included in the estimation information136for the job specified in S144and the actual power consumption included in the power information132for the job specified in S144(S145).

As a result, as illustrated inFIG. 19, when the error calculated in the process of S145exceeds a predetermined threshold value (“YES” in S151), the coefficient calculation unit121updates the second coefficient information135bstored in the information storage area130so that the first power correction coefficient of the calculation unit including the job specified in the process of S144corresponds to a smaller calculation unit (S152).

That is, when the error calculated in the process of S145increases, the coefficient calculation unit121makes the calculation unit of the first power correction coefficient corresponding to the error calculated in the process of S145smaller.

Specifically, for example, when the calculation unit including the job specified in the process of S144is used for each group name, the coefficient calculation unit121updates the second coefficient information135bso that the calculation unit including the job specified in the process of S144is used for each group name and for each user name. In addition, for example, when the calculation unit including the job specified in the process of S144is used for each group name and for each user name, the coefficient calculation unit121updates the second coefficient information135bso that the calculation unit including the job specified in the process of S144is used for each group name, for each user name, and for each application name.

Further, the coefficient calculation unit121may calculate a root mean squared error (RMSE), for example, in the process of S145. Then, the coefficient calculation unit121may update the second coefficient information135bwhen the calculated RMSE exceeds 10(%) for example, in the process of S151. Hereinafter, a specific example of the process of S152will be described.

[Specific Example of Process of S152]

FIG. 28is a diagram illustrating a specific example of the second coefficient information135b.Specifically,FIG. 28is a diagram illustrating the second coefficient information135bupdated from the state described inFIG. 26.

For example, when the “group name,” the “user name,” and the “application name” included in the job information131of the job specified in the process of S144are “test,” “suzuki,” and “app03,” respectively, and when the error exceeds the predetermined threshold value, the coefficient calculation unit121stores “app03” in the “application name” of the information whose “item number” is “2” among the information included in the second coefficient information135bdescribed with reference toFIG. 26, as illustrated inFIG. 28. Further, in this case, the coefficient calculation unit121stores “−” in the “correction coefficient expression” of the information whose “item number” is “2.” Also, in this case, the coefficient calculation unit121stores, in the “number of jobs,” “2” which is the number of the job whose “group name” is “test,” “user name” is “suzuki,” and “application name” is “app03.”

Thereafter, the coefficient calculation unit121calculates an expression stored in the “correction coefficient expression” of the information whose “item number” is “2” in the power coefficient calculation process to be performed next.

Thus, the coefficient calculation unit121may suppress the number of times of calculating the power correction coefficient.

Referring back toFIG. 19, when all jobs have not been specified in the process of S144(“NO” in S153), the coefficient calculation unit121performs the processes after S144again. Similarly, when the error calculated in the process of S132is equal to or smaller than a predetermined threshold value (“NO” in S151), the coefficient calculation unit121performs the processes after S144again.

Meanwhile, when all jobs have been specified in the process of S144(“YES” in S153), the coefficient calculation unit121ends the power coefficient unit determination process. The coefficient calculation unit121also ends the power coefficient unit determination process similarly when it is determined that the job has not been received in the process of S31(“NO” in S143).

As described above, the information processing apparatus1according to the present embodiment specifies, for example, the first job information131arelated to a new job that needs to be scheduled for execution timing. Then, the information processing apparatus1refers to the information storage area130that stores the second job information131brelated to each job executed in the past and the power information132required for executing each job in association with each other, and specifies a predetermined number of pieces of the third job information131cof which the matching status with the first job information131asatisfies the first condition among the second job information131b.Further, the information processing apparatus1determines whether the matching status with the first job information131asatisfies the second condition for each specified third job information131c,and specifies any job information131of the third job information131cbased on the determination result.

Thereafter, the information processing apparatus1refers to the information storage area130and specifies the power information132associated with the specified job information131. Then, the information processing apparatus1estimates the power information132obtained by correcting the specified power information132according to the determination result as the power information132at the time of execution of a new job.

That is, the information processing apparatus1specifies a predetermined number of pieces of third job information131csimilar to the first job information131acorresponding to a new job to be executed among, for example, the second job information131bcorresponding to each job executed in the past. Then, for example, the information processing apparatus1specifies the power information132of the job corresponding to the similar job information131of the first job information131aamong the specified third job information131c.Further, the information processing apparatus1specifies, for example, the power information132obtained by correcting the specified power information132according to a similar state between the first job information131aand the similar job information131, as the power information132of the new job.

As a result, the information processing apparatus1may accurately estimate the power information132when a new job is executed. For this reason, the information processing apparatus1may suppress an increase in power charge associated with the execution of each job.

According to an aspect of the embodiments, it is possible to accurately estimate power information when a job is executed.