Job management program, job management method, and job management device

The information processing program and device address the challenge of identifying job delay factors by generating a Gantt chart-style display to visualize node and waiting period information, enhancing user satisfaction and system efficiency.

JPWO2025037397A5Pending Publication Date: 2026-04-28
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Filing Date
2026-01-27
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

Conventional systems struggle to identify the factors causing jobs to be pending execution, as existing methods like Gantt charts and statistical information fail to show the relationship between pending jobs and other jobs, or the timing of node utilization.

Method used

An information processing program and device that identifies jobs with waiting periods exceeding a predetermined length, generating output information in the form of a Gantt chart-style display to visualize the number of nodes and waiting periods for each job, facilitating understanding of the factors causing delays.

Benefits of technology

Enables users and administrators to easily identify the reasons for job delays, improving user satisfaction and system trust by allowing for better decision-making on reducing delays and load distribution.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

The present invention involves a system (110) having a plurality of nodes (111). An information processing device (100) stores recording information (130) about each of a plurality of jobs (120) entered into the system (110). The information processing device (100) identifies, on the basis of the recording information (130), one or more jobs (120), from among the plurality of jobs (120), for each of which an execution wait-period exceeding a predetermined length has occurred. The information processing device (100) generates, for each job (120) of the identified one or more jobs (120), output information (140) for visualizing the number of nodes (111) for executing the job (120) and the execution wait-period for the job (120). The output information (140) shows, for example, a Gantt chart format display screen (141) including an M-number of strip-shaped display regions (150) arranged in parallel along a time axis.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing program, an information processing method, and an information processing apparatus.

Background Art

[0002] Conventionally, there is a system that includes a plurality of nodes and executes an input job using one or more nodes. For example, the system executes a job using the number of nodes specified at the time of job input. Here, when the number of jobs input to the system increases, the jobs may wait to be executed.

[0003] As prior art, for example, there is one that determines whether the minimum number of processors required by a job waiting to be executed is available. Also, for example, there is a technique of storing in advance the number of processors that can be used simultaneously by jobs of each job class. Also, for example, there is a technique of executing a processing delay check job for each processing delay check pattern. Also, for example, there is a technique of dispatching a job from a waiting queue. Also, for example, there is a technique of graphically displaying the status of a process.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Patent Document 2

Patent Document 3

Patent Document 4

Patent Document 5

Summary of the Invention

Problems to be Solved by the Invention

[0005] However, conventional technologies have a problem in that it is difficult to understand the factors causing jobs to be pending. For example, one could consider displaying a Gantt chart for each node that associates the duration of a job running on that node with an identifier that identifies that job, but it is still difficult to understand the factors causing jobs to be pending.

[0006] In one aspect, the present invention aims to make it easier to identify the factors causing a job to be pending execution. [Means for solving the problem]

[0007] According to one embodiment, an information processing program, information processing method, and information processing device are proposed that, for each of a plurality of jobs submitted to a system having a plurality of nodes, identify one or more jobs among the plurality of jobs that have experienced a waiting period exceeding a predetermined length, based on record information representing the number of nodes that will execute the job, the time the job was submitted, and the time the job started execution, and for each of the identified one or more jobs, generate output information that visualizes the number of nodes that will execute the job and the waiting period for the job. [Effects of the Invention]

[0008] According to one embodiment, it becomes easier to identify the factors causing a job to be pending execution. [Brief explanation of the drawing]

[0009] [Figure 1] Figure 1 is an explanatory diagram showing one embodiment of the information processing method according to the embodiment. [Figure 2] Figure 2 is an explanatory diagram showing an example of the job management system 200. [Figure 3] Figure 3 is a block diagram showing an example of the hardware configuration of the information processing device 100. [Figure 4]FIG. 4 is an explanatory diagram showing the flow of operations of the job management system 200. [Figure 5] FIG. 5 is an explanatory diagram showing an example of the stored content of the log information management table. [Figure 6] FIG. 6 is a block diagram showing a functional configuration example of the information processing apparatus 100. [Figure 7] FIG. 7 is an explanatory diagram (part 1) showing an operation example of the information processing apparatus 100. [Figure 8] FIG. 8 is an explanatory diagram (part 2) showing an operation example of the information processing apparatus 100. [Figure 9] FIG. 9 is an explanatory diagram (part 3) showing an operation example of the information processing apparatus 100. [Figure 10] FIG. 10 is an explanatory diagram (part 4) showing an operation example of the information processing apparatus 100. [Figure 11] FIG. 11 is a flowchart showing an example of the calculation processing procedure. [Figure 12] FIG. 12 is a flowchart showing an example of the determination processing procedure. [Figure 13] FIG. 13 is a flowchart showing an example of the overall processing procedure.

Embodiments for Carrying Out the Invention

[0010] Hereinafter, embodiments of the information processing program, information processing method, and information processing apparatus according to the present invention will be described in detail with reference to the drawings.

[0011] (An Example of the Information Processing Method According to the Embodiment) FIG. 1 is an explanatory diagram showing an example of the information processing method according to the embodiment. The information processing apparatus 100 is a computer for facilitating grasping of the factors for which a job is waiting to be executed in a target system. The information processing apparatus 100 is, for example, a server or a PC (Personal Computer) or the like.

[0012] The target system is a system that includes a plurality of nodes. The target system executes the submitted jobs using one or more nodes. The target system, for example, executes a job using the number of nodes specified at the time of job submission. Specifically, the target system is a cluster system.

[0013] Specifically, the target system is a system for performing large-scale computations such as HPC (High Performance Computing). Specifically, the target system may be a system that forms a quantum circuit simulator. For example, the target system is used by a plurality of users. A user, for example, causes the target system to execute a job and refers to the result of the executed job.

[0014] Conventionally, a job scheduler manages the jobs executed on the target system. A user transmits an execution request, via a terminal device, that specifies the number of nodes to be used when executing a job and requests to execute the job, to the job scheduler. The job scheduler, for example, secures the specified number of nodes in response to the execution request and controls the target system to execute the job.

[0015] Here, when the number of jobs submitted to the target system increases, jobs may wait to be executed. The longer the waiting period for job execution, the more likely the satisfaction or reliability of the user who submitted the job with respect to the target system tends to decrease. For this reason, it is desirable for a user or an administrator, etc. to grasp the factors causing jobs to wait for execution in the target system.

[0016] However, conventionally, there is a problem that it is difficult for a user or an administrator, etc. to grasp the factors causing jobs to wait for execution in the target system.

[0017] For example, one possible method is to output statistical information about the jobs corresponding to each user. This statistical information could include, for instance, the number of nodes used by the jobs corresponding to the user, the length of time the jobs corresponding to the user are running, the number of jobs corresponding to the user, or the length of time the jobs corresponding to the user are waiting to run.

[0018] This method makes it difficult to understand the factors causing jobs to be pending in the target system. For example, the statistical information mentioned above does not show the relationship between the execution status of pending jobs and other jobs, nor does it show any bias in the timing of when pending jobs utilize nodes. Therefore, even if users or administrators refer to the statistical information mentioned above, they cannot understand the factors causing jobs to be pending in the target system.

[0019] Another possible approach is to display a Gantt chart that shows the duration of a job's execution using nodes. A Gantt chart, for example, includes multiple band-shaped display areas, each corresponding to a different node, arranged in parallel along a time axis. For example, one possible approach is to display a Gantt chart in which a frame representing the duration of a job's execution using each node is placed on the display area corresponding to each node.

[0020] This method makes it difficult to easily understand the factors causing jobs to be pending in the target system. For example, the Gantt chart mentioned above shows the duration of a job's execution, but not the duration of a job's pending execution. It does not show the relationship between pending jobs and the execution status of other jobs, nor does it show any bias in the timing of when pending jobs utilize nodes. Therefore, users or administrators cannot understand the factors causing jobs to be pending in the target system by referring to the Gantt chart mentioned above.

[0021] Therefore, this embodiment describes an information processing method that makes it easier to understand the factors causing a job to be waiting to be executed in the target system.

[0022] In Figure 1, there exists a system 110 with multiple nodes 111. When a job 120 is submitted, system 110 uses a specified number of nodes 111 to execute the job 120. For example, suppose that in the past, multiple jobs 120 have been submitted to and executed by system 110.

[0023] The information processing device 100 stores record information 130 for each of the multiple jobs 120 submitted to the system 110. For example, the record information 130 for a job 120 includes the number of nodes 111 that will execute the job 120, the time when the job 120 was submitted, and the time when the job 120 started execution.

[0024] (1-1) Based on the recorded information 130, the information processing device 100 identifies one or more jobs 120 out of a plurality of jobs 120 that have experienced a waiting period exceeding a predetermined length. The predetermined length is set in advance as, for example, a threshold. The threshold may be, for example, 0.

[0025] (1-2) The information processing device 100 generates output information 140 for each of the one or more identified jobs 120, which visualizes the number of nodes 111 that will execute the job 120 and the period of time the job 120 is waiting to be executed. The output information 140 shows, for example, a Gantt chart-style display screen 141 that includes M strip-shaped display areas 150 arranged in parallel along a time axis. M is, for example, the maximum number of jobs waiting to be executed at the same time.

[0026] The information processing device 100 prepares, for example, an empty display screen 141. The information processing device 100 selects, for example, the same number of display areas 150 from M display areas 150 as the number of nodes 111 that will execute each of the one or more identified jobs 120. For each of the one or more identified jobs 120, the information processing device 100 updates the display screen 141 so that a frame representing the period during which the job 120 is waiting to be executed is placed on each selected display area 150. The frame may, for example, identify the job 120 waiting to be executed. The frame may, for example, identify the user who submitted the job 120 waiting to be executed.

[0027] The information processing device 100 generates output information 140, for example, showing the updated display screen 141. This allows the information processing device 100 to generate output information 140 that serves as a guideline for analyzing the factors causing job 120 to be waiting to be executed in system 110. The information processing device 100 generates output information 140 that makes it easier for users or administrators to understand, for example, the relationships between the execution statuses of jobs 120 waiting to be executed, or the bias in the timing of jobs waiting to be executed using nodes.

[0028] (1-3) The information processing device 100 outputs the generated output information 140. The information processing device 100 displays a Gantt chart-style display screen 141 based on the generated output information 140. The information processing device 100 may, for example, send the generated output information 140 to another computer. This makes it easier for users or administrators to understand the reasons why jobs 120 are waiting to be executed in system 110. The information processing device 100 makes it easier for users or administrators to understand the relationships between the execution statuses of jobs 120 that are waiting to be executed, or the bias in the timing of when jobs waiting to be executed use nodes.

[0029] The information processing device 100 makes it easier for users or administrators to identify users who tend to experience delays in job execution (job 120). The information processing device 100 also makes it easier for users or administrators to decide on measures to reduce the frequency of delays or the length of delays. As a result, the information processing device 100 can improve user satisfaction or trust in the system 110. The information processing device 100 can also help distribute the load on the system 110.

[0030] Here, we have described the case in which the display screen 141 contains only M strip-shaped display areas 150, but it is not limited to this. For example, the display screen 141 may contain N strip-shaped display areas (not shown) arranged in parallel along the time axis, and M strip-shaped display areas 150. N is, for example, the number of nodes 111. For example, it is conceivable that, among the N display areas, a frame representing the period during which a job 120 is running is placed on the same number of display areas as the number of nodes 111 that execute each of the multiple jobs 120. Alternatively, for example, the N display areas may each be associated with a different node 111, and a frame representing the period during which a job 120 is running is placed on the display area corresponding to the node 111 that executes each of the multiple jobs 120.

[0031] Here, we have described the case where the information processing device 100 is a single computer, but it is not limited to this. For example, the functions of the information processing device 100 may be realized by multiple computers. Specifically, the functions of the information processing device 100 may be realized on the cloud.

[0032] (An example of the Job Management System 200) Next, using Figure 2, we will describe an example of a job management system 200 that applies the information processing device 100 shown in Figure 1.

[0033] Figure 2 is an explanatory diagram showing an example of a job management system 200. In Figure 2, the job management system 200 includes an information processing device 100, a management device 201, a plurality of computing nodes 202, and a client device 203. The management device 201 and the plurality of computing nodes 202 form, for example, a job execution system 220.

[0034] In the job management system 200, the information processing device 100 and the management device 201 are connected via a wired or wireless network 210. The network 210 can be, for example, a LAN (Local Area Network), a WAN (Wide Area Network), or the Internet. The management device 201 and the computing node 202 are also connected via a wired or wireless network 210. Furthermore, the management device 201 and the client device 203 are also connected via a wired or wireless network 210.

[0035] (Example of hardware configuration of information processing device 100) Next, an example of the hardware configuration of the information processing device 100 will be described using Figure 3.

[0036] Figure 3 is a block diagram showing an example of the hardware configuration of the information processing device 100. In Figure 3, the information processing device 100 includes a CPU (Central Processing Unit) 301, memory 302, network interface 303, recording medium interface 304, and recording medium 305. Each component is connected by a bus 300.

[0037] Here, the CPU 301 is responsible for the overall control of the information processing device 100. The memory 302 includes, for example, ROM (Read Only Memory), RAM (Random Access Memory), and flash ROM. Specifically, for example, flash ROM and ROM store various programs, and RAM is used as the work area for the CPU 301. Programs stored in memory 302 are loaded into the CPU 301, causing the CPU 301 to execute the coded processes.

[0038] The network interface 303 is connected to network 210 via a communication line, and then connects to other computers via network 210. The network interface 303 manages the internal interface with network 210 and controls the input and output of data from other computers. The network interface 303 is, for example, a modem or a LAN adapter.

[0039] The recording medium interface (I / F) 304 controls the reading and writing of data to the recording medium 305 according to the control of the CPU 301. The recording medium interface (I / F) 304 is, for example, a disk drive, an SSD (Solid State Drive), or a USB (Universal Serial Bus) port. The recording medium 305 is a non-volatile memory that stores the data written under the control of the recording medium interface (I / F) 304. The recording medium 305 is, for example, a disk, semiconductor memory, or USB memory. The recording medium 305 may be detachable from the information processing device 100.

[0040] In addition to the components described above, the information processing device 100 may also have, for example, a keyboard, mouse, display, printer, scanner, microphone, speaker, etc. Furthermore, the information processing device 100 may have multiple recording medium interfaces 304 and recording mediums 305. Alternatively, the information processing device 100 may not have recording medium interfaces 304 and recording mediums 305.

[0041] (Example hardware configuration of management device 201) The hardware configuration example of the management device 201 is specifically the same as the hardware configuration example of the information processing device 100 shown in Figure 3, so a detailed explanation is omitted.

[0042] (Example hardware configuration for compute node 202) The hardware configuration example for computing node 202 is specifically the same as the hardware configuration example for information processing device 100 shown in Figure 3, so a detailed explanation is omitted.

[0043] (Example hardware configuration for client device 203) The hardware configuration example of the client device 203 is specifically the same as the hardware configuration example of the information processing device 100 shown in Figure 3, so a detailed explanation will be omitted.

[0044] (Operation flow of the Job Management System 200) Next, we will explain the operation flow of the job management system 200 using Figure 4.

[0045] Figure 4 is an explanatory diagram showing the operation flow of the job management system 200. In Figure 4, the client device 203 is a computer for submitting jobs to the job execution system 220. The client device 203 is used, for example, by a user of the job execution system 220. Based on the user's input, the client device 203 submits the job to the job execution system 220 by sending an execution request to the management device 201 requesting that the job be executed. The client device 203 receives the results of the job execution from the management device 201. The client device 203 outputs the results of the job execution so that the user can refer to them. The client device 203 is, for example, a PC, a tablet terminal, or a smartphone.

[0046] The management device 201 is a computer that manages the job execution system 220. The management device 201 is used, for example, by an administrator who manages the job execution system 220. The management device 201 implements, for example, a job scheduler. The management device 201 receives execution requests from client devices 203 that request the execution of jobs. The execution request includes specifying the number of compute nodes 202 to execute the jobs.

[0047] The management device 201 reserves a specified number of available computing nodes 202 in response to an execution request. "Available" means that no jobs are currently running. The management device 201 controls the reserved number of computing nodes 202 to execute all or part of the job. For example, the management device 201 sends an execution request to the specified number of computing nodes 202, requesting them to execute all or part of the job. This allows the management device 201 to control two or more computing nodes 202 to share the job execution among them, provided the specified number is two or more.

[0048] When the management device 201 receives an execution request, if it is not possible to secure a specified number of available computing nodes 202, it manages the job as waiting to be executed until a specified number of available computing nodes 202 become available. When the management device 201 receives an execution request, if it is not possible to secure a specified number of available computing nodes 202, it manages the job as waiting to be executed until a specified number of available computing nodes 202 become available. For example, the management device 201 manages jobs waiting to be executed in a FIFO (First In First Out) queue.

[0049] When the management device 201 submits a job to the job execution system 220, it generates record information about the job and stores it using the log information management table described later in Figure 5. The record information includes, for example, the number of computing nodes 202 that will execute the job, the time the job was submitted, and the time the job started executing. The record information may also include, for example, the time the job finished executing.

[0050] The management device 201 generates record information, for example, in response to a job being submitted to the job execution system 220, including the number of computing nodes 202 that will execute the job and the time the job was submitted, and stores this information using a log information management table. The management device 201 updates the record information to include the time the job started executing, for example, in response to a job starting execution in the job execution system 220. The management device 201 updates the record information to include the time the job finished executing, for example, in response to a job finishing execution in the job execution system 220.

[0051] The management device 201 receives inquiries from the information processing device 100 regarding the record information for each of the multiple jobs submitted to the job execution system 220. In response to receiving the inquiry, the management device 201 transmits the record information for each of the multiple jobs submitted to the job execution system 220 to the information processing device 100. For example, the management device 201 transmits to the information processing device 100 the contents of the log information management table, which will be described later in Figure 5.

[0052] The management device 201 receives the results of executing all or part of the job from the computing node 202. When the management device 201 receives the results of executing all of the job, it sends the results of executing all of the job to the client device 203. When the management device 201 receives the results of executing part of the job, it generates the results of executing all of the job and sends them to the client device 203. The management device 201 is, for example, a server or a PC.

[0053] The computing node 202 is a computer that forms the job execution system 220. The computing node 202 executes all or part of the jobs submitted to the job execution system 220 according to the control of the management device 201. The computing node 202 transmits the results of executing all or part of the jobs to the management device 201. The computing node 202 is, for example, a server or a PC.

[0054] The information processing device 100 is a computer designed to make it easier to identify the factors causing a job to be pending execution. The information processing device 100 is used, for example, by an administrator who manages the job execution system 220. The information processing device 100 has, for example, a usage status analysis function 401 and a usage status display function 402.

[0055] The information processing device 100, using its usage status analysis function 401, sends a query to the management device 201 regarding the recorded information for each of the multiple jobs submitted to the job execution system 220. The information processing device 100, using its usage status analysis function 401, receives the recorded information for each of the multiple jobs submitted to the job execution system 220 from the management device 201. The information processing device 100, using its usage status analysis function 401, receives, for example, the contents of the log information management table described later in Figure 5 from the management device 201. Based on the recorded information, the information processing device 100, using its usage status analysis function 401, identifies one or more jobs among the multiple jobs that have experienced a waiting period exceeding a predetermined length. The predetermined length is, for example, set in advance as a threshold. The threshold may be, for example, 0.

[0056] The information processing device 100 may, using the usage status analysis function 401, identify the job with the longest execution period, the job with the longest waiting period, or the job with the most nodes to execute, based on the recorded information. The information processing device 100 may, using the usage status analysis function 401, identify the user with the largest statistical value for the length of time a job is running, based on the recorded information. The information processing device 100 may, using the usage status analysis function 401, identify the user with the largest statistical value for the length of time a job is waiting to execute, based on the recorded information. The information processing device 100 may, using the usage status analysis function 401, identify the user with the largest statistical value for the number of nodes, based on the recorded information. Statistical values ​​include, for example, the mean, maximum, minimum, mode, or median.

[0057] The information processing device 100, using its usage status display function 402, generates output information that visualizes, for each of the one or more identified jobs, the number of computing nodes 202 that execute the job and the period during which the job is waiting to be executed. The output information displays, for example, a Gantt chart-style display screen. The display screen includes, for example, N parallel display areas and M parallel display areas arranged along a time axis. N is, for example, the number of computing nodes 202. M is, for example, the maximum number of jobs waiting to be executed simultaneously.

[0058] Within the display screen, for example, among the N display areas, a frame representing the duration of execution for each of the multiple jobs is placed on the same number of display areas as the number of computing nodes 202 that execute each job. The frame representing the duration of execution for a job may, for example, identify the job itself. The frame representing the duration of execution for a job may, for example, identify the user who submitted the job.

[0059] N display areas may each be associated with a different computing node 202. Within the display screen, for example, a frame representing the duration during which a job is running may be placed on the display area corresponding to the computing node 202 that executes each of the N jobs.

[0060] Within the display screen, for example, among the M display areas, a frame representing the waiting period for execution is placed on each of the display areas corresponding to the same number of computing nodes 202 that execute one or more specified jobs. The frame representing the waiting period for execution may, for example, identify the job. The frame representing the waiting period for execution may, for example, identify the user who submitted the job.

[0061] Within the display screen, for example, if a job is running and other jobs submitted by the same user are waiting to be executed, the frame indicating the waiting period for those other jobs may be displayed in a specific manner. Within the display screen, for example, if there are two jobs submitted by the same user that are simultaneously waiting to be executed, the frame indicating the waiting period for at least one of those two jobs may be displayed in a specific manner.

[0062] The information processing device 100, using its usage status display function 402, displays a Gantt chart-style display screen based on the output information, making it accessible to the administrator. This allows the administrator to easily understand the reasons why jobs are waiting to be executed in the job execution system 220. The information processing device 100 may also use its usage status display function 402 to display information for the administrator to easily understand which jobs are currently running, which jobs are waiting to be executed for the longest period, or which jobs are running on the largest number of nodes. This also allows the administrator to easily understand the reasons why jobs are waiting to be executed in the job execution system 220.

[0063] The information processing device 100 may, using the usage status display function 402, display information that allows the administrator to refer to the user with the largest statistical value for the length of time a job is running. The information processing device 100 may, using the usage status display function 402, display information that allows the administrator to refer to the user with the largest statistical value for the length of time a job is waiting to be executed, or the user with the largest statistical value for the number of nodes. This makes it easier for the administrator to understand the factors causing jobs to be waiting to be executed in the job execution system 220. The information processing device 100 may be, for example, a server or a PC.

[0064] This explanation describes a case where the information processing device 100 is a different device from the management device 201, but it is not limited to this case. For example, the information processing device 100 may have the functionality of a management device 201 and may also operate as a management device 201.

[0065] This explanation describes a case where the information processing device 100 is a different device from the computing node 202, but it is not limited to this case. For example, the information processing device 100 may have the functionality of a computing node 202 and may operate as a computing node 202.

[0066] This explanation describes a case where the information processing device 100 is a different device from the client device 203, but it is not limited to this case. For example, the information processing device 100 may have the functionality of a client device 203 and may operate as a client device 203.

[0067] This explanation describes a case where the management device 201 is a different device from the computing node 202, but it is not limited to this case. For example, the management device 201 may have the functionality of a computing node 202 and may operate as a computing node 202.

[0068] (Contents stored in the log information management table) Next, an example of the contents of the log information management table will be explained using Figure 5. The log information management table is implemented using storage areas such as the memory 302 and recording medium 305 of the information processing device 100 shown in Figure 3.

[0069] Figure 5 is an explanatory diagram showing an example of the contents stored in the log information management table. As shown in Figure 5, the log information management table has fields for Job ID, User ID, Number of Nodes Used, Node No. Used, Job Submission Time, Job Start Time, and Job End Time. By setting information in each field for each job, the log information management table stores the recorded information as record 500-a. a is an arbitrary integer.

[0070] The Job ID field is set to the Job ID that identifies the job. The User ID field is set to the User ID that identifies the user who submitted the above job to the job execution system 220. The Number of Nodes Used field is set to the Number of Nodes Used, which indicates the number of computing nodes 202 on which the above job will be executed. The Node No. Used field is set to the Node No. Used, which identifies the computing node 202 on which the above job will be executed.

[0071] The Job Submission Time field is set to the Job Submission Time, which indicates the time when the job was submitted to the Job Execution System 220. The Job Start Time field is set to the Job Start Time, which indicates the time when the job started running on the Job Execution System 220. The Job End Time field is set to the Job End Time, which indicates the time when the job finished running on the Job Execution System 220.

[0072] (Example of the functional configuration of the information processing device 100) Next, an example of the functional configuration of the information processing device 100 will be explained using Figure 6. Specifically, the example of the functional configuration of the information processing device 100 implements the usage status analysis function 401 and the usage status display function 402 in the example of the functional configuration of the job management system 200 shown in Figure 4.

[0073] Figure 6 is a block diagram showing an example of the functional configuration of the information processing device 100. The information processing device 100 includes a storage unit 600, an acquisition unit 601, a calculation unit 602, an analysis unit 603, a generation unit 604, and an output unit 605.

[0074] The storage unit 600 is implemented by a storage area such as the memory 302 or recording medium 305 shown in Figure 3. The following description will focus on the case where the storage unit 600 is included in the information processing device 100, but is not limited to this case. For example, the storage unit 600 may be included in a device different from the information processing device 100, and the contents of the storage unit 600 may be accessible from the information processing device 100.

[0075] The acquisition unit 601 to the output unit 605 function as an example of a control unit. Specifically, the acquisition unit 601 to the output unit 605 realize their functions, for example, by having the CPU 301 execute a program stored in a storage area such as the memory 302 or recording medium 305 shown in Figure 3, or by using the network I / F 303. The processing results of each functional unit are stored in a storage area such as the memory 302 or recording medium 305 shown in Figure 3.

[0076] The storage unit 600 stores various types of information that are referenced or updated during the processing of each functional unit. For example, the storage unit 600 stores record information. For each job, the record information represents the number of nodes executing the job, the time the job was submitted, and the time the job started executing. The record information may also represent the user corresponding to each of multiple jobs. Specifically, the storage unit 600 stores record information for each of multiple jobs submitted to a system having multiple nodes. More specifically, the storage unit 600 stores the log information management table shown in Figure 5. The record information is acquired, for example, by the acquisition unit 601.

[0077] The acquisition unit 601 acquires various types of information used in the processing of each functional unit. The acquisition unit 601 stores the acquired information in the storage unit 600 or outputs it to each functional unit. The acquisition unit 601 may also output the information stored in the storage unit 600 to each functional unit. The acquisition unit 601 acquires various types of information, for example, based on the operation input of the administrator. The acquisition unit 601 may also receive various types of information from a device other than the information processing device 100, for example.

[0078] The acquisition unit 601 acquires, for example, recorded information. Specifically, the acquisition unit 601 acquires recorded information for each of the multiple jobs submitted to a system having multiple nodes. More specifically, the acquisition unit 601 receives recorded information for each of the multiple jobs submitted to a system having multiple nodes from another computer. The other computer is, for example, the management device 201. More specifically, the acquisition unit 601 may acquire recorded information by accepting input of recorded information for each of the multiple jobs submitted to a system having multiple nodes based on the operator's operation input.

[0079] The acquisition unit 601 may receive a start trigger to initiate processing in any of the functional units. A start trigger may be, for example, a predetermined operation input by an administrator. A start trigger may also be, for example, the receipt of predetermined information from another computer. A start trigger may also be, for example, the output of predetermined information by any of the functional units. The acquisition unit 601 accepts, for example, the acquisition of recorded information as a start trigger to initiate processing in the calculation unit 602, the analysis unit 603, and the generation unit 604.

[0080] The calculation unit 602 calculates the duration of execution for each of the multiple jobs based on the recorded information acquired by the acquisition unit 601. For example, for each of the multiple jobs, the calculation unit 602 calculates the duration of execution for that job as the length from when the job started to when it finished. This allows the calculation unit 602 to obtain guidelines for the analysis unit 603 to analyze the job execution trends.

[0081] The calculation unit 602 calculates the length of the waiting period for execution of each of the multiple jobs based on the recorded information acquired by the acquisition unit 601. For example, for each of the multiple jobs, the calculation unit 602 calculates the length of the waiting period for execution of that job as the length from the time the job was submitted to the time the job started execution. This allows the calculation unit 602 to obtain guidelines for the analysis unit 603 to analyze the job execution trends.

[0082] Based on the recorded information acquired by the acquisition unit 601, the calculation unit 602 calculates a statistical value for each user representing the length of time during which jobs corresponding to that user are running. The statistical value may be, for example, the mean, maximum, minimum, mode, or median. This allows the calculation unit 602 to obtain guidelines for the analysis unit 603 to analyze the job execution trends.

[0083] Based on the recorded information acquired by the acquisition unit 601, the calculation unit 602 calculates a statistical value for each user representing the length of time that a job corresponding to that user is waiting to be executed. The statistical value may be, for example, the mean, maximum, minimum, mode, or median. This allows the calculation unit 602 to obtain guidelines for the analysis unit 603 to analyze the job execution trends.

[0084] Based on the recorded information acquired by the acquisition unit 601, the calculation unit 602 calculates a statistical value for each user, representing the number of nodes that execute jobs corresponding to that user. The statistical value may be, for example, the mean, maximum, minimum, mode, or median. This allows the calculation unit 602 to obtain guidelines for the analysis unit 603 to analyze the job execution trends.

[0085] The analysis unit 603 identifies one or more jobs among multiple jobs that have experienced an execution waiting period exceeding a predetermined length, based on the length of the execution waiting period for each job calculated by the calculation unit 602. The predetermined length may be, for example, 0. This allows the analysis unit 603 to obtain guidelines for generating output information in the generation unit 604, enabling it to understand the factors that caused the job to experience an execution waiting period.

[0086] The analysis unit 603 identifies the job with the longest execution period among multiple jobs, based on the length of execution time of each job calculated by the calculation unit 602. This allows the analysis unit 603 to obtain guidance for the generation unit 604 to generate job information, enabling it to understand the factors causing the jobs to be put on hold.

[0087] The analysis unit 603 identifies the job with the longest waiting period among multiple jobs, based on the length of the waiting period for each job calculated by the calculation unit 602. This allows the analysis unit 603 to obtain guidance for the generation unit 604 to generate job information in order to understand the factors that caused the job to be delayed.

[0088] Based on the recorded information acquired by the acquisition unit 601, the analysis unit 603 identifies the job with the largest number of execution nodes among multiple jobs. This allows the analysis unit 603 to obtain guidance for the generation unit 604 to generate job information in order to understand the reasons why the job is waiting to be executed.

[0089] The analysis unit 603 identifies the user with the largest statistical value for the length of time a job is running, based on the statistical value for the length of time a job corresponding to that user is running, which is calculated by the calculation unit 602 for each user. This allows the analysis unit 603 to obtain a guideline for generating user information in the generation unit 604, so that it can understand the factors causing the job to be delayed.

[0090] The analysis unit 603 identifies the user with the largest statistical value for the length of time a job is waiting to be executed, based on the statistical value for the length of time a job is waiting to be executed, which is calculated by the calculation unit 602 for each user. This allows the analysis unit 603 to obtain a guideline for generating user information in the generation unit 604, so that the factors causing the job to be waiting to be executed can be understood.

[0091] The analysis unit 603 identifies the user with the largest statistical value for the number of nodes executing jobs corresponding to that user, based on the statistical value for the number of nodes calculated by the calculation unit 602 for each user. This allows the analysis unit 603 to obtain a guideline for generating user information in the generation unit 604, enabling it to understand the factors causing jobs to be delayed.

[0092] The generation unit 604 generates output information. The output information visualizes, for at least one or more jobs identified by the identification unit, the number of nodes executing the job and the period during which the job is waiting to be executed. The output information is, for example, screen information showing a Gantt chart format display screen.

[0093] The display screen includes, for example, M strip-shaped job waiting display areas arranged in parallel along a time axis. On the display screen, for example, for each of the one or more jobs identified in the specific section, a frame representing the period during which the job is waiting to be executed is placed on the job waiting display area, which is the same number of times as the node on which the job will be executed.

[0094] The frame representing the period a job is waiting to be executed may, for example, clearly indicate the job in question. Specifically, the frame representing the period a job is waiting to be executed may be indicated by a pattern corresponding to the job in question. The frame representing the period a job is waiting to be executed may, for example, clearly indicate the user who submitted the job in question. Specifically, the frame representing the period a job is waiting to be executed may be assigned a user ID that identifies the user who submitted the job in question.

[0095] The display screen may further include, for example, N strip-shaped running job display areas arranged in parallel along a time axis. On the display screen, for example, for each of multiple jobs, a frame representing the period during which the job is running is placed on the running job display area, which is the same number of times as the node running the job.

[0096] The N running job display areas may each be associated with a different node. On the display screen, for example, for each of multiple jobs, a frame representing the duration during which the job is running may be placed on the running job display area corresponding to the node on which the job is executed.

[0097] The frame representing the period during which a job is running may, for example, clearly indicate the job. Specifically, the frame representing the period during which a job is running may be indicated by a pattern corresponding to the job. The frame representing the period during which a job is running may, for example, clearly indicate the user who submitted the job. Specifically, the frame representing the period during which a job is running may be assigned a user ID that identifies the user who submitted the job.

[0098] For example, if, among multiple jobs, the first job corresponding to the first user is running, and one or more jobs corresponding to the first user are waiting to run, the display screen may show a frame indicating the waiting period for the second job in a specific display manner. This specific display manner might be, for example, a frame with a thick line.

[0099] For example, if two jobs corresponding to the same user are simultaneously waiting to be executed from one or more jobs identified by the specific unit, the display screen may show a frame representing the waiting period for at least one of the two jobs in a specific display manner. A specific display manner might be, for example, a frame with a thick line. This allows the generation unit 604 to obtain output information that serves as a guideline for understanding the cause of the job waiting period.

[0100] The generation unit 604 generates job information that indicates the job with the longest execution period among multiple jobs, as identified by the identification unit. This allows the generation unit 604 to obtain job information that serves as a guideline for understanding the reasons why a job is waiting to be executed.

[0101] The generation unit 604 generates job information that indicates the job with the longest waiting period among multiple jobs, as identified by the identification unit. This allows the generation unit 604 to obtain job information that serves as a guideline for understanding the reasons why a job is waiting to be executed.

[0102] The generation unit 604 generates job information that indicates the job with the largest number of execution nodes among multiple jobs, as identified by the identification unit. This allows the generation unit 604 to obtain job information that serves as a guideline for understanding the reasons why a job is experiencing execution delays.

[0103] The generation unit 604 generates user information that indicates the user with the largest statistical value for the length of time a job is running, as identified by the identification unit. This allows the generation unit 604 to obtain user information that serves as a guideline for understanding the factors causing the job to be delayed.

[0104] The generation unit 604 generates user information that indicates the user with the largest statistical value for the length of time a job is waiting to be executed, as identified by the identification unit. This allows the generation unit 604 to obtain user information that serves as a guideline for understanding the factors causing the job to be waiting to be executed.

[0105] The generation unit 604 generates user information that indicates the user with the largest statistical value for the number of nodes, as identified by the identification unit. This allows the generation unit 604 to obtain user information that serves as a guideline for understanding the reasons why jobs are experiencing execution delays.

[0106] The output unit 605 outputs the processing result of at least one of the functional units. The output format can be, for example, display on a screen, print to a printer, transmit to an external device via the network interface 303, or store in a storage area such as the memory 302 or recording medium 305. This allows the output unit 605 to notify the administrator of the processing result of at least one of the functional units, thereby improving the usability of the information processing device 100.

[0107] The output unit 605 outputs the output information generated by the generation unit 604. For example, the output unit 605 displays a screen based on the output information generated by the generation unit 604. This allows the output unit 605 to provide administrators with output information that serves as a guide for understanding the reasons why a job is experiencing execution delays. The output unit 605 makes it easier for administrators to understand the reasons why a job is experiencing execution delays.

[0108] The output unit 605 may, when displaying the display screen, accept the selection of a frame representing the period during which any of the multiple jobs are running or waiting to run. The output unit 605 may redisplay the display screen so that the frames representing the periods during which other jobs corresponding to the same user as the job corresponding to the accepted selection are running or waiting to run are displayed in a specific display manner. This makes it easier for the administrator to understand the reasons why a job is waiting to run.

[0109] The output unit 605 may, for example, transmit the output information generated by the generation unit 604 to another computer. This allows the output unit 605 to make the output information, which serves as a guide for understanding the reasons why a job is waiting to be executed, accessible to external parties. The output unit 605 makes it easier for administrators to understand the reasons why a job is waiting to be executed.

[0110] (Example of operation of the information processing device 100) Next, we will explain an example of the operation of the information processing device 100 using Figures 7 to 10.

[0111] Figures 7 to 10 are explanatory diagrams showing an example of the operation of the information processing device 100. In Figure 7, assume that multiple jobs have been submitted to the job execution system 220. The information processing device 100 retrieves the contents of the log management table shown in Figure 5. In the following explanation, the combination of values ​​for the Job ID, User ID, and Node No. fields in the contents of the log management table may be referred to as "job data".

[0112] The information processing device 100 obtains the number N of computing nodes 202. Based on the administrator's input, the information processing device 100 receives the display start time Ts and the display end time Te. Based on the contents stored in the log management table, the information processing device 100 identifies the maximum value M in the set of total numbers of computing nodes 202 used by jobs waiting to be executed at each time point. Specifically, M is the maximum value in the set of total numbers of computing nodes 202 used by jobs waiting to be executed at each time point whose waiting period exceeds a threshold.

[0113] The information processing device 100 generates a visualization framework 700 based on the display start time Ts, the display end time Te, and the maximum value M of the total number of computing nodes 202 used by jobs waiting to be executed simultaneously. The visualization framework 700 displays a Gantt chart 710. The Gantt chart 710 includes a time axis corresponding to the combination of the display start time Ts and the display end time Te. The Gantt chart 710 includes N parallel band-shaped display areas along the time axis, each corresponding to a different computing node 202. The display area corresponding to a computing node 202 is displayed, for example, associated with a computing node 202No that identifies the computing node 202. The computing node 202No is 1, ..., N. The display area corresponding to a computing node 202 can, for example, contain a frame representing the period during which a job is being executed on that computing node 202.

[0114] The Gantt chart 710 further includes M parallel, band-shaped display areas along the time axis, each corresponding to a different waiting node. These M band-shaped display areas are parallel to N band-shaped display areas. Waiting nodes are virtual nodes. Waiting nodes are set up to allow administrators to intuitively understand the number of compute nodes 202 used by jobs waiting to be executed. For example, a job waiting to be executed is considered to be waiting at a waiting node until it is executed at compute node 202. The display area corresponding to a waiting node is displayed, for example, associated with a waiting node number that identifies the waiting node. The waiting node numbers are 1, ..., M. The display area corresponding to a waiting node can, for example, contain a frame representing the period during which a job is waiting to be executed at that waiting node. Next, we will move on to the explanation of Figure 8.

[0115] In Figure 8, the information processing device 100 identifies the computing node 202 that executed each of the multiple jobs submitted to the job execution system 220, based on the usage node number from the contents of the log management table. The information processing device 100 identifies the period during which each of the multiple jobs was running, based on the values ​​of the job start time and job end time fields from the contents of the log management table.

[0116] The information processing device 100 displays a frame representing the period during which a job is running on one or more of the N display areas where the used node No. = calculation node 202No., in the Gantt chart 710, aligned with the time axis. In this case, the information processing device 100 may display the frame representing the period during which each of the multiple jobs is running by assigning a color or pattern corresponding to that job.

[0117] The information processing device 100 identifies the waiting period for each of the multiple jobs based on the values ​​of the job submission time and job start time fields in the stored contents of the log management table, and calculates the length of that waiting period. The information processing device 100 then identifies each of the multiple jobs whose calculated waiting period exceeds a threshold. The threshold is, for example, 1 minute.

[0118] The information processing device 100 identifies, for each identified job waiting to be executed in the Gantt chart 710, the same number of display areas out of the M available as the number of computing nodes 202 that will execute that job. The information processing device 100 then displays, for each identified job waiting to be executed in the Gantt chart 710, a frame representing the period during which the job is waiting to be executed, aligned with the time axis, on the identified display area.

[0119] For example, in the Gantt chart 710, the information processing device 100 selects at least one-tenth of the number of waiting node numbers that are the same as the number of computing nodes 202 that will execute the job. For example, in the Gantt chart 710, for each of the identified jobs waiting to be executed, the information processing device 100 displays a frame representing the period during which the job is waiting to be executed, aligned with the time axis, on the display area of ​​the selected waiting node number out of the M display areas. In this case, the information processing device 100 may display the frame representing the period during which each identified job is executing using a color or pattern corresponding to the job.

[0120] Here, it is preferable that the information processing device 100 displays, for example, a frame representing the period during which a job is waiting to be executed, in a manner that does not overlap with other frames. For convenience, the case in which the information processing device 100 identifies M and then selects the waiting node No. is described here, but it is not limited to this. For example, the information processing device 100 may identify M while selecting the waiting node No. Specifically, it is conceivable that the information processing device 100 identifies M while selecting the waiting node No. by performing the calculation process described later in Figure 11.

[0121] The information processing device 100 displays, for example, a Gantt chart 710 for the administrator to refer to. This allows the information processing device 100 to make the Gantt chart 710, which serves as a guide for analyzing the factors causing jobs to be waiting to be executed in the job execution system 220, accessible to the administrator. As a result, the information processing device 100 makes it easier for the administrator to understand the factors causing the length of time jobs are waiting to be executed in the job execution system 220 to exceed a threshold.

[0122] The information processing device 100 can, for example, enable administrators to understand the relationships between the execution statuses of jobs waiting to be executed whose execution waiting period exceeds a threshold. Furthermore, the information processing device 100 can, for example, enable administrators to understand the bias in the time periods during which jobs waiting to be executed whose execution waiting period exceeds a threshold utilize the nodes. Specifically, the information processing device 100 can enable administrators to analyze during which time periods jobs tend to exceed the threshold in execution waiting period.

[0123] Therefore, the information processing device 100 makes it easier for administrators to decide on measures to reduce the frequency of jobs waiting for execution whose execution period exceeds a threshold, or measures to reduce the length of the job waiting period. As a result, the information processing device 100 can improve user satisfaction or trust in the job execution system 220. The information processing device 100 can also distribute the load on the job execution system 220.

[0124] Next, we will move on to the explanation of Figure 9 and describe another example in which the information processing device 100 displays the Gantt chart 710. Here, as in Figure 8, the information processing device 100 displays a frame in the Gantt chart 710 representing the period during which each of the multiple jobs is being executed. In this case, the information processing device 100 will display the user ID of the user who submitted the job attached to the frame representing the period during which the job is being executed.

[0125] Furthermore, similar to Figure 8, the information processing device 100 displays a box representing the execution waiting period for each job waiting to be executed whose execution waiting period exceeds a threshold in the Gantt chart 710. In this case, the information processing device 100 adds the user ID of the user who submitted the job to the box representing the execution waiting period of the job and displays it.

[0126] In Figure 9, the information processing device 100 further identifies other jobs that are currently running during the waiting period for each job whose waiting period exceeds a threshold. For each job whose waiting period exceeds a threshold, the information processing device 100 determines whether or not there are other jobs among the identified jobs that were submitted by the same user as the job in question.

[0127] If the information processing device 100 determines that there is another job for any of the jobs waiting to be executed whose execution waiting period exceeds a threshold, it changes the display manner of the frame representing the execution waiting period for that job. For example, if the information processing device 100 determines that there is another job for any of the jobs waiting to be executed whose execution waiting period exceeds a threshold, it changes the display manner of the frame so that the color or pattern of the frame representing the execution waiting period for that job becomes lighter. In the example in Figure 9, the information processing device 100 changes the display manner of the frame 901 so that the pattern of the frame 901 representing the execution waiting period for a job submitted by user U2 whose execution waiting period exceeds a threshold becomes lighter and the frame 901 becomes a dotted line.

[0128] The information processing device 100 further determines whether a combination of jobs waiting to be executed, where the waiting periods overlap and the length of the waiting period exceeds a threshold, is a combination of jobs submitted by the same user. The information processing device 100 then changes the display pattern of the frame representing the waiting period for at least one of the jobs in the combination of jobs waiting to be executed that exceeds the threshold, which the information processing device 100 has determined to be a combination of jobs submitted by the same user. For example, the information processing device 100 changes the display pattern of the frame so that the color or pattern of the frame representing the waiting period for one of the jobs becomes lighter. In the example in Figure 9, the information processing device 100 changes the display pattern of the frame 902 so that the frame representing the waiting period for a job submitted by user U3 that exceeds the threshold becomes a dotted line.

[0129] Specifically, the information processing device 100 changes the display pattern of the frame representing the waiting period for jobs by executing the determination process described later in Figure 12. This makes it easier for administrators to focus on jobs with a waiting period exceeding the threshold, other than jobs submitted by the same user as the currently running job. The information processing device 100 makes it easier for administrators to analyze which users tend to submit jobs with a waiting period exceeding the threshold.

[0130] Furthermore, the information processing device 100 may change the background of each display area in the Gantt chart 710 according to the time of day. For example, the information processing device 100 may change the background of the Gantt chart 710 between the part of each display area corresponding to the daytime and the part of the display area corresponding to the nighttime. For example, the information processing device 100 may change the background of the Gantt chart 710 between the part of each display area corresponding to the weekdays and the part of the display area corresponding to the holidays. This makes it easier for administrators to understand the status of jobs that are running or waiting to be run.

[0131] Furthermore, the information processing device 100 may accept the selection of a frame in the Gantt chart 710 that represents a period in which any job is running or awaiting execution. The information processing device 100 may highlight frames that represent periods in which other jobs submitted by the same user as the job corresponding to the selected frame are running or awaiting execution. This makes it easier for administrators to understand the status of jobs that are running or awaiting execution.

[0132] The information processing device 100 may display a predetermined number of jobs and the users who submitted them, in descending order of the length of time they have been running. The predetermined number is, for example, 1. In the example shown in Figure 9, the information processing device 100 may display the combination of the job corresponding to frame 911 and user U2. This makes it easier for administrators to understand the status of jobs that are running or waiting to be executed.

[0133] The information processing device 100 may display a predetermined number of jobs and the users who submitted them, in descending order of the length of the waiting period. The predetermined number is, for example, 1. In the example in Figure 9, the information processing device 100 may display the job and user U3 corresponding to frame 912. This makes it easier for administrators to understand the status of jobs that are running or waiting to be executed.

[0134] The information processing device 100 may display a predetermined number of job combinations and the users who submitted those jobs, in descending order of the number of nodes using them. The predetermined number is, for example, 1. In the example in Figure 9, the information processing device 100 may display the job combination corresponding to frame 913 and user U4. This makes it easier for administrators to understand the status of jobs that are running or waiting to be executed.

[0135] The information processing device 100 may calculate a statistical value for each user, representing the length of time that a job submitted by that user is currently running, and display the user with the highest statistical value. The statistical value may be, for example, an average value or a sum. In the example shown in Figure 9, the information processing device 100 may display user U2 or user U4. This makes it easier for administrators to understand the status of jobs that are currently running or waiting to be executed.

[0136] The information processing device 100 may calculate a statistical value for each user representing the length of time that a job submitted by that user is waiting to be executed, and display the user with the highest statistical value. The statistical value may be, for example, an average value or a sum. In the example in Figure 9, the information processing device 100 may display user U3. This makes it easier for administrators to understand the status of jobs that are currently running or waiting to be executed.

[0137] The information processing device 100 may calculate a statistical value for the number of nodes used by the jobs submitted by each user and display the user with the highest statistical value. The statistical value may be, for example, the average or maximum value. In the example in Figure 9, the information processing device 100 may display user U4. This makes it easier for administrators to understand the status of jobs that are running or waiting to be executed. The information processing device 100 makes it easier for administrators to understand that jobs can be executed more efficiently in the job execution system 220 if user U4 reduces the frequency of job submissions. Next, we will move on to the explanation of Figure 10 and describe an example of the effects of the information processing device 100.

[0138] Figure 10 shows an example of the effects of the information processing device 100. In the example in Figure 10, the information processing device 100 is assumed to be displaying a Gantt chart 1000. This allows the information processing device 100 to visualize the status of jobs that are running or waiting to run, making it easier for administrators to understand the reasons why jobs are waiting to run.

[0139] For example, an administrator can refer to Gantt Chart 1000 to understand the variation in the length of waiting periods for execution by time of day. If the administrator determines that the variation in the length of waiting periods is relatively large depending on the time of day, they can decide on measures to guide users to equalize the length of waiting periods. Specifically, if the administrator determines that the variation in the length of waiting periods is relatively large for each user, they can guide users who tend to have long waiting periods to submit jobs during time periods when waiting periods tend to be relatively short.

[0140] In the example in Figure 10, the administrator might determine that, for example, a relatively large number of jobs are submitted during daytime hours, and therefore the waiting period for execution is likely to be longer. Conversely, the administrator might determine that, for example, a relatively small number of jobs are submitted during nighttime hours, and therefore the waiting period for execution is less likely to be long.

[0141] Therefore, the administrator may, for example, encourage users who tend to have relatively large statistics on the length of execution time to submit jobs during nighttime hours. The administrator may, for example, encourage users who tend to have relatively large statistics on the length of execution waiting time to submit jobs during nighttime hours. The administrator may, for example, encourage users who tend to have relatively large statistics on the number of nodes used by their submitted jobs to submit jobs during nighttime hours. The administrator may also, for example, notify users who tend to have relatively small statistics on the number of nodes used by their submitted jobs about the time periods when their jobs tend to have relatively short execution waiting times.

[0142] This allows administrators to identify factors that cause the length of time a job waits to be executed in the job execution system 220 to exceed a threshold, and to reduce the length of time a job waits to be executed. Administrators can also improve user satisfaction or trust in the job execution system 220. Furthermore, administrators can implement load balancing on the job execution system 220.

[0143] The information processing device 100 may output a Gantt chart 1000 for the user to refer to. This allows the information processing device 100 to make it easier for the user to adjust the timing of job submissions. The information processing device 100 also makes it easier for the user to distribute the load on the job execution system 220.

[0144] (Calculation process procedure) Next, an example of a calculation process performed by the information processing device 100 will be described using Figure 11. The calculation process is realized, for example, by the CPU 301 shown in Figure 3, storage areas such as memory 302 and recording medium 305, and network I / F 303.

[0145] Figure 11 is a flowchart illustrating an example of the calculation process. In Figure 11, the information processing device 100 extracts job data j (j=1,…,z) of jobs whose execution waiting period exceeds a threshold, sorted in order of job submission time, based on the contents stored in the log information management table. Let Tsj be the job submission time of job data j. Let Tej be the job start time of job data j. Let Nj be the number of nodes using job data j. The information processing device 100 sets j=1 and M=0 (step S1101).

[0146] The information processing device 100 sets a list of waiting node Nos WNj=[1,…,Nj] corresponding to the job data j (step S1102). The information processing device 100 sets Nmax=Nj (step S1103). The information processing device 100 sets Tmax=Tej (step S1104). If Nmax > M, the information processing device 100 sets M=Nmax (step S1105).

[0147] The information processing device 100 sets j = j + 1 (step S1106). The information processing device 100 determines whether j > z or not (step S1107). If j > z (step S1107: Yes), the information processing device 100 terminates the calculation process. On the other hand, if j ≤ z instead of j > z (step S1107: No), the information processing device 100 proceeds to the process in step S1108.

[0148] In step S1108, the information processing device 100 determines whether Tsj > Tmax (step S1108). If Tsj > Tmax (step S1108: Yes), the information processing device 100 returns to the process in step S1102. On the other hand, if Tsj ≤ Tmax instead of Tsj > Tmax (step S1108: No), the information processing device 100 proceeds to the process in step S1109.

[0149] In step S1109, the information processing device 100 obtains the allocation status WNtmp at time Tsj (step S1109). The allocation status WNtmp represents a set of waiting node numbers that have been allocated to the list of waiting node numbers corresponding to the job data k of a job whose execution waiting period length at time Tsj exceeds a threshold.

[0150] The information processing device 100 selects Nj waiting node numbers that do not exist in the allocation status WNtmp and sets them to WNj in ascending order (step S1110). The information processing device 100 sets the maximum value of Nmax=WNj (step S1111). If Tmax>Tej, the information processing device 100 sets Tmax=Tej (step S1112). If Nmax>M, the information processing device 100 sets M=Nmax (step S1113). Then, the information processing device 100 returns to the process in step S1106.

[0151] (Decision Processing Procedure) Next, an example of a determination process procedure executed by the information processing device 100 will be explained using Figure 12. The determination process is implemented, for example, by the CPU 301 shown in Figure 3, storage areas such as memory 302 and recording medium 305, and network I / F 303.

[0152] Figure 12 is a flowchart of an example of a determination processing procedure. In Figure 12, the information processing device 100 performs a calculation process (step S1201). The information processing device 100 sets j=1 (step S1202).

[0153] The information processing device 100 identifies the user of each job that is currently running at time Tsj (step S1203). The information processing device 100 determines whether the user of the j-th job waiting to be executed at time Tsj is the same as the user of any of the jobs currently running (step S1204). If the user of the j-th job waiting to be executed is the same as the user of any of the jobs currently running (step S1204: Yes), the information processing device 100 proceeds to step S1208. On the other hand, if the user of the j-th job waiting to be executed is not the same as the user of any of the jobs currently running (step S1204: No), the information processing device 100 proceeds to step S1205.

[0154] In step S1205, the information processing device 100 determines whether there are any other jobs waiting to be executed at time Tsj besides the j-th job that is waiting to be executed (step S1205). If there are no other jobs waiting to be executed (step S1205: No), the information processing device 100 proceeds to the process in step S1209. On the other hand, if there are other jobs waiting to be executed (step S1205: Yes), the information processing device 100 proceeds to the process in step S1206.

[0155] In step S1206, the information processing device 100 identifies the users of each other job waiting to be executed at time Tsj (step S1206). The information processing device 100 determines whether the user of the j-th job waiting to be executed at time Tsj is the same as the user of any of the other jobs waiting to be executed (step S1207). If the user of the j-th job waiting to be executed is not the same as the user of any of the other jobs waiting to be executed (step S1207: No), the information processing device 100 proceeds to step S1209. On the other hand, if the user of the j-th job waiting to be executed is the same as the user of any of the other jobs waiting to be executed (step S1207: Yes), the information processing device 100 proceeds to step S1208.

[0156] In step S1208, the information processing device 100 assigns a duplicate flag to the j-th job that is waiting to be executed (step S1208). Then, the information processing device 100 proceeds to the processing in step S1209.

[0157] In step S1209, the information processing device 100 sets j = j + 1 (step S1209). The information processing device 100 determines whether Tsj > Tmax or not (step S1210). If Tsj ≤ Tmax instead of Tsj > Tmax (step S1210: No), the information processing device 100 returns to the process in step S1203. On the other hand, if Tsj > Tmax (step S1210: Yes), the information processing device 100 terminates the determination process.

[0158] (Overall processing procedure) Next, an example of the overall processing procedure executed by the information processing device 100 will be described using Figure 13. The overall processing is realized, for example, by the CPU 301 shown in Figure 3, storage areas such as memory 302 and recording medium 305, and network I / F 303.

[0159] Figure 13 is a flowchart showing an example of the overall processing procedure. In Figure 13, the information processing device 100 executes the determination process shown in Figure 12 (step S1301). Based on the WNj determined in the calculation process shown in Figure 11, the information processing device 100 generates an empty Gantt chart (step S1302).

[0160] The information processing device generates a Gantt chart based on an empty Gantt chart, with a frame representing the period during which a job is currently running and a frame representing the period during which jobs waiting to be executed have a waiting period exceeding a threshold (step S1303). Based on the duplicate flag assigned in the determination process shown in Figure 12, the information processing device changes the display mode of the frame in the Gantt chart that represents the period during which jobs with the duplicate flag are waiting to be executed (step S1304). The information processing device displays the Gantt chart (step S1305). The information processing device terminates the entire process.

[0161] As explained above, the information processing device 100 can identify one or more jobs among multiple jobs that have experienced a waiting period exceeding a predetermined length, based on recorded information. The information processing device 100 can generate output information for each of the identified jobs that visualizes the number of nodes executing the job and the waiting period for that job. This allows the information processing device 100 to provide useful output information for administrators to understand the reasons why jobs are waiting to be executed.

[0162] According to the information processing device 100, output information can be generated showing a Gantt chart-style display screen that includes multiple strip-shaped first display areas arranged in parallel along a time axis. According to the information processing device 100, on the display screen, for each of one or more specified jobs, a frame representing the period during which the job is waiting to be executed can be placed on the same number of first display areas as the nodes on which the job is executed. As a result, the information processing device 100 can provide output information showing a display screen that makes it easy for administrators to intuitively understand the reasons why a job is waiting to be executed.

[0163] According to the information processing device 100, output information can be generated showing a Gantt chart-style display screen that includes multiple strip-shaped first display areas and multiple strip-shaped second display areas arranged in parallel along a time axis. According to the information processing device 100, on the display screen, for each of the multiple jobs, a frame representing the period during which the job is running can be placed on the second display area corresponding to the node where the job was executed, among the multiple second display areas. As a result, the information processing device 100 can provide output information showing a display screen that makes it easy for administrators to intuitively understand the reasons why jobs are waiting to be executed.

[0164] When the first job corresponding to the first user is running, and one or more jobs, including a second job corresponding to the first user, is waiting to run, the information processing device 100 can display a frame on the display screen indicating the waiting period for the second job in a specific display manner. This allows the information processing device 100 to change the display manner so that administrators can easily intuitively understand the reasons why a job is waiting to run.

[0165] According to the information processing device 100, if two jobs corresponding to the same user are simultaneously waiting to be executed from one or more identified jobs, the display screen can show a frame indicating the waiting period for one of the two jobs in a specific display manner. This allows the information processing device 100 to change the display manner so that administrators can intuitively understand the reasons why a job is waiting to be executed.

[0166] According to the information processing device 100, it can output information indicating which of multiple jobs has the longest execution period, which has the longest waiting period, or which job is being executed by the most nodes. This allows the information processing device 100 to provide administrators with information that makes it easier to understand the reasons why jobs are waiting to be executed.

[0167] According to the information processing device 100, based on statistical values ​​calculated for each user regarding the length of time a job corresponding to that user is running, the device can output the user with the largest statistical value for the length of time a job is running. According to the information processing device 100, based on statistical values ​​calculated for each user regarding the length of time a job corresponding to that user is waiting to be executed, the device can output the user with the largest statistical value for the length of time a job is waiting to be executed. According to the information processing device 100, based on statistical values ​​calculated for each user regarding the number of nodes executing the job corresponding to that user, the device can output the user with the largest statistical value for the number of nodes. In this way, the information processing device 100 can provide administrators with information that makes it easier to understand the factors causing jobs to be waiting to be executed.

[0168] According to the information processing device 100, a display screen can be shown based on the generated output information. This makes it easier for administrators to intuitively understand the reasons why a job is waiting to be executed.

[0169] According to the information processing device 100, when displaying the screen, it can accept the selection of a frame representing the period during which any of multiple jobs are running or waiting to run. According to the information processing device 100, in response to the acceptance of the selection, it can redisplay the screen so that the frames representing the periods during which other jobs corresponding to the same user as the selected job are running or waiting to run are displayed in a specific display manner. In this way, the information processing device 100 can provide the administrator with information that makes it easier to understand the reasons why jobs are waiting to run.

[0170] The information processing method described in this embodiment can be implemented by executing a pre-prepared program on a computer such as a PC or workstation. The information processing program described in this embodiment is recorded on a computer-readable recording medium and executed by being read from the recording medium by the computer. The recording medium can be a hard disk, flexible disk, CD (Compact Disc)-ROM, MO (Magneto Optical Disc), DVD (Digital Versatile Disc), etc. Furthermore, the information processing program described in this embodiment may be distributed via a network such as the Internet.

[0171] With regard to the embodiments described above, the following additional information is disclosed.

[0172] (Note 1) For each of the multiple jobs submitted to a system with multiple nodes, based on the number of nodes executing the job, the time the job was submitted, and the time the job started execution, one or more jobs among the multiple jobs that have experienced a waiting period exceeding a predetermined length are identified. For each of the one or more jobs identified, output information is generated that visualizes the number of nodes executing the job and the period of time the job is waiting to be executed. An information processing program characterized by having a computer perform the processing.

[0173] (Note 2) The output information is screen information showing a Gantt chart format display screen including a plurality of strip-shaped first display areas arranged in parallel along the time axis, The aforementioned generation process is, The information processing program according to Appendix 1, characterized in that, for each of the one or more jobs identified on the display screen, the output information is generated such that a frame representing the period during which the job is waiting to be executed is placed on the same number of first display areas as the number of nodes that execute the job, among the plurality of first display areas.

[0174] (Note 3) The output information is screen information showing a Gantt chart format display screen including a plurality of strip-shaped first display areas and a plurality of strip-shaped second display areas arranged in parallel along the time axis, The aforementioned generation process is, The information processing program according to Appendix 2, characterized in that, on the display screen, for each of the multiple jobs, the output information is generated such that a frame representing the period during which the job is running is placed on the second display area corresponding to the node on which the job was executed, among the multiple second display areas.

[0175] (Note 4) The record information further represents the user corresponding to each of the multiple jobs, The aforementioned generation process is, The information processing program according to Appendix 3, characterized in that, when a first job corresponding to a first user among the plurality of jobs is being executed, and a second job corresponding to the first user among the one or more identified jobs is waiting to be executed, the program generates output information such that, on the display screen, a frame representing the period during which the second job is waiting to be executed is displayed in a specific display manner.

[0176] (Note 5) The above generation process is: The information processing program according to Appendix 4, characterized in that, when two of the one or more identified jobs corresponding to the same user are simultaneously waiting to be executed, the program generates the output information such that, on the display screen, it displays a frame representing the waiting period for at least one of the two jobs in a specific display manner.

[0177] (Note 6) Output information indicating the job with the longest execution period, the job with the longest waiting period, or the job with the most nodes to execute among the multiple jobs. An information processing program according to any one of the appendices 1 to 5, characterized in that it causes the computer to perform the processing.

[0178] (Note 7) The above output process is: The information processing program described in Appendix 6, characterized in that, based on statistical values ​​calculated for each user, such as the length of time a job corresponding to that user is running, the length of time a job corresponding to that user is waiting to run, or the number of nodes executing a job corresponding to that user, outputs the user with the largest statistical value for the length of time a job is running, the user with the largest statistical value for the length of time a job is waiting to run, or the user with the largest statistical value for the number of nodes.

[0179] (Note 8) Based on the output information generated, the display screen is displayed. An information processing program according to any one of the appendices 2 to 5, characterized in that it causes the computer to perform the processing.

[0180] (Note 9) The above display process is: The information processing program according to Appendix 8, characterized in that, when the aforementioned display screen is displayed, in response to the selection of a frame representing the period in which any of the multiple jobs is running or waiting to be executed, the display screen is redisplayed so that the frames representing the periods in which other jobs corresponding to the same user as any of the aforementioned jobs are running or waiting to be executed are displayed in a specific display manner.

[0181] (Note 10) For each of the multiple jobs submitted to a system having multiple nodes, based on record information representing the number of nodes executing the job, the time the job was submitted, and the time the job started execution, one or more jobs among the multiple jobs that have experienced a waiting period exceeding a predetermined length are identified. For each of the one or more jobs identified, output information is generated that visualizes the number of nodes executing the job and the period of time the job is waiting to be executed. An information processing method characterized in that the processing is performed by a computer.

[0182] (Note 11) For each of the multiple jobs submitted to a system having multiple nodes, based on record information representing the number of nodes executing the job, the time the job was submitted, and the time the job started execution, one or more jobs among the multiple jobs that have experienced a waiting period exceeding a predetermined length are identified. For each of the one or more jobs identified, output information is generated that visualizes the number of nodes executing the job and the period of time the job is waiting to be executed. An information processing device characterized by having a control unit. [Explanation of Symbols]

[0183] 100 Information Processing Devices 110 System 111 Nodes 120 jobs 130 Record Information 140 Output Information 141 Display screen 150 display area 200 Job Management Systems 201 Management device 202 Compute Nodes 203 Client Devices 210 Network 220 Job Execution System 300 bus 301 CPU 302 memory 303 Network I / F 304 Recording medium interface 305 Recording media 401 Usage Analysis Function 402 Usage Status Display Function 600 Storage section 601 Acquisition Department 602 Calculation Unit 603 Analysis Department 604 Generation part 605 Output section 700 Visualization Frameworks 710,1000 Gantt chart Slots 901, 902, 911~913

Claims

1. For each of the multiple jobs submitted to a system with multiple nodes, based on record information representing the number of nodes executing the job, the time the job was submitted, and the time the job started execution, one or more jobs among the multiple jobs that have experienced a waiting period exceeding a predetermined length are identified. For each of the one or more jobs identified, output information is generated that visualizes the number of nodes executing the job and the period of time the job is waiting to be executed. An information processing program characterized by having a computer perform the processing.

2. The output information is screen information showing a Gantt chart format display screen including a plurality of band-shaped first display areas arranged in parallel along the time axis, The aforementioned generation process is, The information processing program according to claim 1, characterized in that, for each of the one or more jobs identified on the display screen, the output information is generated such that a frame representing the period during which the job is waiting to be executed is placed on the same number of first display areas as the number of nodes that execute the job, among the plurality of first display areas.

3. The output information is screen information indicating a Gantt chart format display screen including a plurality of strip-shaped first display areas and a plurality of strip-shaped second display areas arranged in parallel along the time axis, The aforementioned generation process is, The information processing program according to claim 2, characterized in that, in the display screen, for each of the multiple jobs, the output information is generated such that a frame representing the period during which the job is being executed is placed on the second display area corresponding to the node on which the job was executed, among the multiple second display areas.

4. The aforementioned recorded information further represents the user corresponding to each of the multiple jobs, The aforementioned generation process is, The information processing program according to claim 3, characterized in that, when a first job corresponding to a first user among the plurality of jobs is being executed, and a second job corresponding to the first user among the one or more identified jobs is waiting to be executed, the program generates output information such that a frame representing the period during which the second job is waiting to be executed is displayed on the display screen in a specific display manner.

5. The aforementioned generation process is, The information processing program according to claim 4, characterized in that, if two of the one or more identified jobs corresponding to the same user are simultaneously waiting to be executed, the program generates the output information such that, on the display screen, it displays a frame representing the period during which at least one of the two jobs is waiting to be executed in a specific display manner.

6. The system outputs information indicating which of the aforementioned multiple jobs has the longest execution period, the longest waiting period, or the job with the most nodes to execute. An information processing program according to any one of claims 1 to 5, characterized in that it causes the computer to perform the processing.

7. The output process described above is: The information processing program according to claim 6, characterized in that, based on statistical values ​​calculated for each user, such as the length of time a job corresponding to that user is running, the length of time a job corresponding to that user is waiting to be executed, or the number of nodes executing a job corresponding to that user, outputs the user with the largest statistical value for the length of time a job is running, the user with the largest statistical value for the length of time a job is waiting to be executed, or the user with the largest statistical value for the number of nodes.

8. For each of the multiple jobs submitted to a system with multiple nodes, based on record information representing the number of nodes executing the job, the time the job was submitted, and the time the job started execution, one or more jobs among the multiple jobs that have experienced a waiting period exceeding a predetermined length are identified. For each of the one or more jobs identified, output information is generated that visualizes the number of nodes executing the job and the period of time the job is waiting to be executed. An information processing method characterized in that the processing is performed by a computer.

9. For each of the multiple jobs submitted to a system with multiple nodes, based on record information representing the number of nodes executing the job, the time the job was submitted, and the time the job started execution, one or more jobs among the multiple jobs that have experienced a waiting period exceeding a predetermined length are identified. For each of the one or more jobs identified, output information is generated that visualizes the number of nodes executing the job and the period of time the job is waiting to be executed. An information processing device characterized by having a control unit.

Citation Information

Patent Citations

  • Control method for execution of parallel computer

    JP1995141305A

  • Processor allocation system

    JP1995200496A

  • Batch job delay alarm automatic raising system, automatic alarm raising method and program therefor

    JP2012146049A

  • Computer job scheduler with efficient node selection

    US20110072437A1

  • Method and apparatus for indicating the status of one or more computer processes

    US6289368B1