WO2006100752A1 - 分散処理管理装置、分散処理管理方法、分散処理管理プログラム - Google Patents

分散処理管理装置、分散処理管理方法、分散処理管理プログラム Download PDF

Info

Publication number
WO2006100752A1
WO2006100752A1 PCT/JP2005/005129 JP2005005129W WO2006100752A1 WO 2006100752 A1 WO2006100752 A1 WO 2006100752A1 JP 2005005129 W JP2005005129 W JP 2005005129W WO 2006100752 A1 WO2006100752 A1 WO 2006100752A1
Authority
WO
WIPO (PCT)
Prior art keywords
job
node
distributed processing
related information
processing management
Prior art date
Application number
PCT/JP2005/005129
Other languages
English (en)
French (fr)
Inventor
Ichiro Goto
Tomonori Yamashita
Kazuhiro Matsuzaki
Kuniyasu Hase
Hiroshi Noguchi
Original Assignee
Fujitsu Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Limited filed Critical Fujitsu Limited
Priority to PCT/JP2005/005129 priority Critical patent/WO2006100752A1/ja
Priority to JP2007509106A priority patent/JPWO2006100752A1/ja
Priority to EP05727079A priority patent/EP1862904A4/en
Publication of WO2006100752A1 publication Critical patent/WO2006100752A1/ja
Priority to US11/858,370 priority patent/US20080016508A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration

Definitions

  • Distributed processing management device distributed processing management method, distributed processing management program
  • the present invention relates to a distributed processing management device, a distributed processing management method, and a distributed processing management program that perform job input control and job execution control in a distributed computing system.
  • the distributed processing program is input to nodes connected via a network and the results calculated by each node are collected. is doing.
  • a method of submitting a distributed processing program a method of selecting and requesting free nodes in order is used.
  • a home / office PC Personal Computer
  • control is performed so that the distributed processing program is executed only when the resource is not used elsewhere. For this reason, when a distributed processing program is introduced, a PC with a low resource utilization rate such as a resource operation rate is selected to improve the efficiency of the distributed processing program execution.
  • the operation rate index at the time of introduction of the distributed processing program may be old, and the distributed processing is not necessarily operated effectively.
  • the load at the time of input of the distributed processing program is low, if the load increases after being input, it cannot cope with the execution of the distributed processing program.
  • the resource utilization rate fluctuates greatly, so the execution of the distributed processing program that is input often results in a heavy load, resulting in processing time. In some cases, it may become long.
  • FIG. 20 is a flowchart showing the flow of processing on the server side and the execution node side in the conventional distributed processing computing system.
  • the server side collects CPU resource status (S211) at regular intervals and manages the resource status for each node. (S212) and go back.
  • FIG. 21 is a conceptual diagram showing an example of a node switching execution status in a conventional distributed processing computing system.
  • the job is resubmitted to node B when the load on node A increases at time tl. If the load on node A does not increase, job execution by node A is terminated at time t2 (S231).
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2004-287889 (see paragraph numbers 0044-0075 and FIG. 5 and FIG. 7)
  • server management is relatively easy in an environment where the capacity of the execution processing node can be used 100% or when a certain level of processing capacity is guaranteed.
  • the processing resources for example, CPU capacity and memory capacity
  • the entire system capacity can be used without waste, and each information processing can be processed from the input to the completion. Time (hereinafter, turnaround time: TAT) can be minimized.
  • the TAT of the distributed computing system as a whole deteriorates. Therefore, even in distributed processing when the load fluctuation of processing nodes is large, such as in a grid computer environment, processing management on a server that can effectively use the entire computing resources while minimizing TAT. A method is required.
  • the present invention has been made to solve the above-described problems.
  • the purpose is to provide a management program.
  • the distributed processing management apparatus of the present invention can be connected to a plurality of nodes, can submit a job to each node, and can manage the execution of the job.
  • a distributed processing management apparatus that can perform the first resource related information acquisition unit that acquires the first resource related information of the first node that has submitted the first job, and the second node that has not submitted the first job.
  • the second resource related information acquisition unit for acquiring the second resource related information, the first resource related information acquired by the first resource related information acquisition unit, and the second resource related information acquisition unit acquired by the second resource related information acquisition unit.
  • a job re-submission determining unit that determines whether or not the first job submitted to the first node is submitted to the second node based on the resource-related information;
  • the job re-submission determination unit determines the CPU usage rate for the execution of the first job of the first node based on the first resource related information. It is characterized by determining a case where the value falls below a predetermined threshold.
  • the job re-entry determining unit determines the advance rate of the first job of the first node based on the first resource-related information in the determination to affirm the first job submission. It is characterized by determining when there is no record.
  • the job re-input determining unit is a node having a predetermined performance required for execution of the first job based on the second resource related information in the determination of input of the first job, It is characterized by determining whether or not there is a second node that is an empty node that is not executing the second job.
  • the job re-input determination unit cancels the second job being executed on the second node and inputs the first job based on the second resource-related information in determining whether to input the first job It is characterized in that a predetermined condition for determining is determined.
  • the determination on the predetermined condition is based on the second resource related information, and the node having the predetermined performance required for the execution of the first job executes the submitted second job. This is performed when it is determined that there is no second node that is not a free node.
  • the progress rate at the second node of the second job is a predetermined cancellation limit. If the value is lower than the value, at least one of the cases where the second node satisfies the predetermined performance required for the execution of the first job is a condition.
  • the distributed processing management method of the present invention is a distributed processing management method for submitting a job to each node in a plurality of nodes and managing the execution of the job.
  • a first resource related information acquisition step for acquiring the first resource related information of the node;
  • a second resource related information acquisition step for acquiring the second resource related information of the second node that has not submitted the first job;
  • the first job submitted to the first node is It includes a job re-submission judgment step for determining whether or not to submit to the second node.
  • the job re-submission judgment step is a judgment to affirm the first job submission. Then, based on the first resource related information, it is determined that the CPU usage rate for the execution of the first job of the first node falls below a predetermined threshold.
  • the progress rate of the first job of the first node is determined based on the first resource-related information. It is characterized by judging whether or not the case is exceeded.
  • the job re-submission determination step is a node having a predetermined performance required for execution of the first job based on the second resource-related information in the determination of input of the first job. Thus, it is determined whether or not there is a second node that is an empty node that is not executing the submitted second job.
  • the second job executed in the second node is determined based on the second resource-related information in the determination of the input of the first job.
  • a predetermined condition for canceling and submitting the first job is determined.
  • the progress rate at the second node of the second job is a predetermined cancel limit. If the value is lower than the value, it is a condition that the second node satisfies at least one of the conditions satisfying the predetermined performance required for the execution of the first job.
  • the present invention is a distributed processing management program for causing a computer to execute a job to each node in a plurality of nodes and to perform execution management of the job.
  • a first resource related information acquisition step for acquiring the first resource related information of one node
  • a second resource related information acquisition step for acquiring the second resource related information of the second node that has not submitted the first job
  • the first job submitted to the first node is Causes the computer to execute a job resubmission determination step for determining whether or not to input to the second node.
  • FIG. 1 A distributed processing management device (server) according to an embodiment of the present invention 6 is a flowchart showing a flow of collecting resources.
  • FIG. 4 is a flowchart and sequence showing a flow of processing for job cancellation upon job completion in the embodiment of the present invention.
  • FIG. 5 is a configuration diagram showing the overall configuration of the distributed processing management system in the embodiment of the present invention.
  • FIG. 6 A diagram showing an example of node table items provided in the distributed processing management device (server) according to the embodiment of the present invention.
  • FIG. 7 is a diagram showing a table of capability values and threshold values shown in FIG.
  • FIG. 8] is a diagram showing an example of a node table applied to the distributed processing management apparatus in the embodiment of the present invention.
  • FIG. 9 A diagram showing an example of the items of the job management table provided in the distributed processing management device (Sano) in the embodiment of the present invention.
  • FIG. 10 is a diagram showing an example of a job management table applied to the distributed processing management apparatus (Sano) according to the embodiment of the present invention.
  • FIG. 11 A diagram showing an example of items of a job class table provided in the distributed processing management device (server) according to the embodiment of the present invention.
  • FIG. 12 A diagram showing an example of a job class table applied to the distributed processing management apparatus in the embodiment of the present invention.
  • a distributed processing management apparatus according to an embodiment of the present invention (a flow chart showing a first part of node information acquisition flow in Sano.
  • Job re-execution performed by the distributed processing management device (server) in the embodiment of the present invention It is a flowchart which shows the flow of insertion determination.
  • FIG. 17 is a flowchart showing a flow of a multiple execution process performed by a distributed processing management apparatus (Sano, in an embodiment of the present invention.
  • FIG. 18 is a flowchart showing a flow of job cancel processing from the node side in the embodiment of the present invention.
  • FIG. 19 is a flowchart showing a flow of termination and job cancellation processing from the distributed processing management apparatus (server) side in the embodiment of the present invention.
  • FIG. 20 is a flowchart showing a process flow on a server side and an execution node side in a conventional distributed processing computing system.
  • FIG. 21 is a conceptual diagram showing an example of a node switching execution state in a conventional distributed processing computing system.
  • the distributed processing management apparatus of the present invention provides a job monitoring function at a job execution node.
  • the resource usage rate of the execution node (that is, the resource usage rate of the submission job and the resource usage rate of the entire processing execution node) is set at the server side every specified time. To notify.
  • the server submits the job again to another free node (such job submission is referred to as job resubmission).
  • job resubmission The function that cancels the job that has been executed so far is provided by adopting the job result that has been completed.
  • an execution policy comprising the following parameters is set for job class and priority).
  • the job has three execution policies: (1) limit value of job re-submission count (multiplicity of input), (2) presence / absence of judgment based on job end prediction, and (3) limit value until catch-up processing catches up.
  • set class for priority the distributed processing management device of the present invention provides an API (Application Programming Interface) for using software such as an OS from an application so that the progress status from the job side can be set. To be able to predict job completion To.
  • API Application Programming Interface
  • FIG. 1 is a flowchart showing a flow of resource collection performed by a server for nodes in the distributed processing management apparatus of the present invention.
  • each node if each node is executing a job, it waits for a predetermined time (S1) and determines whether the job is being executed (S2). If it is in the middle (S2, Yes), notifies the server of the average usage rate of the CPU to which the job is assigned (S3). If the job is not running (S2, No), the CPU to which the job can be assigned Notify the server of the average usage rate of (local CPU) (S4). In this way, the server collects the resource status of each CPU (S5).
  • each node notifies the server of the CPU usage rate allocated to the processing job every predetermined time if the job is being executed. If the job is not executed, the local CPU usage rate is notified to the server. As a result, the server collects the notified CPU usage rate.
  • FIG. 2 is a flowchart showing the flow of job input performed by the server in the distributed processing management apparatus of the present invention.
  • the node executing the process waits for a predetermined time (S11) and notifies the server of the CPU usage average value that can be assigned jobs (S12), the server The resource status is collected (S13), and the policy is read (S14).
  • the policy read by the server includes node information (that is, node name, CPU idle average value, performance, re-throw threshold), job class information (that is, class name, maximum multiple value, priority order). And job management information (that is, job name, submission computer name, progress, job class).
  • the server determines whether or not the job can be re-executed based on the collected CPU resource status (S15). If the job cannot be re-executed (S15, No), step S13 is executed. Go back to and repeat the above process, but if the job can be re-executed with the collected CPU resource status (S15, Yes), the machine (PC) to which the job is to be submitted is determined (S16), and that machine ( Resubmit the job to (PC) (SI 7). By such an operation, the job can be resubmitted to another node according to the CPU resource status (S18).
  • the server collects CPU information and job execution status from the execution node, as well as the CPU allocation threshold for each execution node and the resubmission threshold (limit value) for each job. ) And the maximum multiple value for job submission.
  • FIG. 3 is a sequence showing a flow of determination of job re-submission in the distributed processing management apparatus of the present invention.
  • the server executes a job to the execution computer A (S21)
  • the execution computer A notifies the server of the job execution status at regular intervals (S22).
  • the execution computer A reports the progress status of the job to the server, and the server compares the progress status of the job with the value defined in the policy (S23). At this time, if the progress status of the job is greater than or equal to the specified value, the server will not submit the job to another execution computer.
  • FIG. 4 is a flowchart (FIG. 4 (A)) and a sequence (FIG. 4 (B)) showing the flow of job cancel processing upon job completion in the distributed processing management apparatus of the present invention.
  • the server collects the job result (S31)
  • the job of the other computer is canceled (S32).
  • the execution computer A when the server executes a job to the execution computer A (S33), the execution computer A periodically notifies the server of the progress status of the job. (S34).
  • the execution computer B When the server executes the job to the execution computer B (S35), the execution computer B periodically notifies the server of the progress status of the job (S36).
  • the job of the execution computer B is completed, the job of the execution computer A is canceled (S37). In this way, if one of the jobs submitted to execution computer A and execution computer B is completed,
  • FIG. 5 is a configuration diagram showing the overall configuration of the distributed processing management apparatus system according to the embodiment of the present invention.
  • a plurality of job input terminals la and lb, a plurality of nodes 2a and 2b, and a server 3 forming a distributed processing management device are connected via a network 4. And connected.
  • the plurality of job submission terminals la and lb have job request 'result acquisition functions 11a and lib, respectively.
  • the plurality of nodes 2a and 2b have job execution functions 12a and 12b and node information notification functions 13a and 13b, respectively.
  • Server 3 has job acceptance function 3a, first node information acquisition function (first resource related information acquisition unit) 3bl, second node information acquisition function (second resource related information acquisition unit) 3b2, job allocation function 3c, Job execution management function 3d, job multiple execution management function 3e, and job resubmission judgment function (job resubmission judgment unit) 3f are provided.
  • a node table 5, a job management table 6, and a job class table 7 are connected to the server 3.
  • the job input terminals la and lb are input / output terminals such as PCs for system users to input jobs, and there are a large number of them. These job input terminals la and lb have a function of requesting the server 3 to execute a job and acquiring the output result.
  • the nodes 2a and 2b are computers for executing jobs, and there are a large number of computers, each having two functions, job execution functions 12a and 12b and node information notification functions 13a and 13b.
  • the job execution functions 12a and 12b have a function of receiving an input file and an execution program from the server 3, executing them on the corresponding nodes 2a and 2b, and returning the output results to the server 3.
  • the job execution functions 12a and 12b also include a function for canceling a job in response to an instruction from the node 2a or 2b or the server 3. Job cancellation A detailed description of the NOR function will be described later.
  • the node information notification functions 13a and 13b have a function of notifying the server 3 of various information of the nodes 2a and 2b (that is, node names, machine specifications, CPU usage time, job execution time, etc.). The detailed description of the various information notification function will be described later.
  • the server 3 is a computer for managing the entire distributed processing management apparatus, and has three tables and six functions.
  • the job acceptance function 3a is a function that accepts job execution requests from the job submission terminals la and lb and stores them in the job queue.
  • First node information acquisition function (first resource related information acquisition unit) 3bl has a function of acquiring node information notified from the node 2a and creating / updating the node table 5.
  • Second node information acquisition function (second resource related information acquisition unit) 3b2 has a function of acquiring node information notified from the node 2b and creating / updating the node table 5.
  • the job allocation function 3c retrieves a job from the job queue, and selects nodes 2a and 2b that match the job conditions (for example, OS type, node performance, etc.) and are not executed in the node table 5 And has a function to assign a job to the nodes 2a and 2b.
  • job conditions for example, OS type, node performance, etc.
  • the job execution management function 3d is a management function for executing the assigned job in the nodes 2a and 2b.
  • the job execution management function 3d creates and updates the job management table 6, and executes job execution processing (that is, in the nodes 2a and 2b). It has a function to send an input file and an execution file to the job, instruct the job execution, and receive the output result after the job is completed.
  • the job execution management function 3d includes processing at the time of job cancellation.
  • the job multiple execution management function 3e refers to the job management table 6 and is a management function for performing job multiple execution when the job re-submission can shorten the job execution time.
  • the job resubmission judgment function 3f has a function of judging whether or not a job submitted to the node 2a is submitted to the node 2b based on the resource information. Details of each function will be described later.
  • FIG. 6 is a diagram illustrating an example of items in the node table provided in the server 3. As shown in Figure 6. Based on the items in the node table, the nodes 2a and 2b shown in FIG. 5 are managed.
  • FIG. 7 is a diagram showing a table of capability values and thresholds shown in FIG.
  • FIG. 8 is a diagram showing an example of a node table applied to the distributed processing management apparatus of the present invention. In this example, the node table for three nodes with node names Nl, N2, and N3 is shown.
  • FIG. 9 is a diagram illustrating an example of items in the job management table provided in the server 3. That is, the job management table manages jobs to be submitted to the node. Therefore, a table corresponding to the multiplicity defined in the job class is prepared in advance in the job management table, and job information is registered in the job management table every time a job is multiplexed. In other words, job management tables for the multiplicity are secured.
  • FIG. 10 is a diagram showing an example of a job management table applied to the distributed processing management apparatus of the present invention. In this example, the job management table for two nodes, Node Name and J2, is shown.
  • FIG. 11 is a diagram illustrating an example of items in the job class table included in the server 3.
  • the policy of the job to be submitted is registered in the job class table.
  • the class name item records the job class name
  • the priority item records the job priority
  • the multiplicity item records the maximum multiplicity of the job.
  • the In the re-submission limit value item a threshold value of the execution time for job re-submission is recorded. Therefore, if this threshold is exceeded, the job is not resubmitted.
  • the threshold value at the time of job switching is recorded in the item of the cancellation limit value. Therefore, when this threshold is exceeded, job switching based on priority is not performed.
  • FIG. 12 is a diagram showing an example of a job class table applied to the distributed processing management apparatus of the present invention. In this example, job class tables for two job class names with job class names A and B are shown.
  • FIG. 13 is a flowchart showing a job input flow in the distributed processing management apparatus of the present invention.
  • it is first determined whether or not the job has been resubmitted (S41). If the job has not been resubmitted (S41, No), data is created in the job management table as shown in FIG. 10 (S42). ) After initialization processing (S43), the job submitted to the desired node is executed (S44). On the other hand, if the job is resubmitted at step S41 (S41, Yes), the corresponding data in the job management table shown in FIG. 10 is updated (S45), and the job input to the desired node is executed (S45). S44). In this way, the job submission is completed.
  • job data is registered in the job management table shown in FIG. Also, when resubmitting a job, the previously created table is updated to the job management table.
  • FIG. 14 is a flowchart showing the first part of the node information acquisition flow in the server shown in FIG.
  • the node information notification 1 process on the node side and the node information acquisition 1 process on the server side are shown.
  • the server side transmits the node name and the machine specification to the server side as a node opening notification (S51)
  • the server side performs a node name and machine specification acquisition process as the node opening notification (S52).
  • the server side has already been registered in the node table as shown in Fig. 8. It is determined whether there is a new node name (S53).
  • the process returns to step S52, and the server side performs the process of acquiring the node name and the machine specification. If there is an already registered node name (S53, Yes), the capability value is calculated from the machine specifications (S54), and the node name and capability value are registered in the node table shown in Fig. 8 (S5 5). . Further, the server side initializes the CPU average usage rate, local CPU usage rate, and status of the node table shown in FIG. 8 and clears the threshold value (S56).
  • FIG. 15 is a flowchart showing part 2 of the node information acquisition flow in the distributed processing management system shown in FIG.
  • the node information acquisition 2 process on the node side and the node information acquisition 2 process on the server side are shown.
  • the node side transmits the node name, local CPU usage time, CPU average usage time, and current progress rate to the server side as node information notification (S61).
  • the node side notifies such node information to the server side at regular time intervals (S62).
  • the server side upon receiving the node information notification from the node side, the server side performs node information acquisition processing for the CPU average usage time, local CPU usage time, and progress rate corresponding to the node name (S63). Then, the average CPU usage rate and the local CPU usage rate are calculated, and the node table as shown in FIG. 8 is updated (S64). Further, the server side calculates the current progress rate from the accumulated value of the job execution time and the expected end time (S65). Then, the progress rate in the node table is updated (S66), and the process returns to step S63 to repeat the above processing.
  • the CPU average usage rate is a value obtained by dividing the cumulative value of the CPU average usage time over the past certain period by the total time during the past certain period.
  • the CPU average usage rate is the average usage rate that uses the CPU of the node where the job is submitted.
  • What is local CPU usage? This is the value obtained by dividing the cumulative value of local CPU usage time over the past certain period by the total time over the past certain period.
  • the local CPU utilization is the average utilization that the local CPU is used for jobs.
  • the server side calculates the average CPU usage rate and local CPU usage rate of the node table based on information from the node side, and updates the progress rate.
  • the progress rate on the node side is zero when no job is requested from the server side.
  • FIG. 16 is a flowchart showing the flow of job re-submission judgment.
  • the server makes a job resubmission judgment
  • a record in the node next to the currently input node is read from the node turret as shown in FIG. 8 (S71).
  • S71 it is determined whether or not the record being read is the last record (S72), and if it is the last record (S72, Yes), processing is performed for a preset specified time (for example, 1 minute).
  • S73 return to step S71, read the record in the node next to the node currently input from the node table, and repeat the processing from step S71 described above.
  • step S72 if the read record is not the last record (S72, No), it is determined whether the current job status is being executed (S74). If the job is being executed, (S74, Yes), it is judged whether the CPU average usage rate is smaller than the predetermined threshold (S75). If the CPU average usage rate is smaller than the predetermined threshold (S75, Yes), the multiple job submission process is executed. Start (S76), and return to step S71 to repeat the above-described processing. Note that if the job status is not being executed in step S74 (S74, No), and if the CPU average usage rate is greater than the predetermined threshold (S75, No) in step S75, return to step S71. Repeat the above process.
  • the server when the server re-submits the job shown in FIG. 16, the server reads the record from the beginning of the job management table shown in FIG. 10, and the read record is the job. If it is a record being executed, it is checked whether or not the CPU average usage rate is smaller than a predetermined threshold value. If the CPU average usage rate is a threshold value, multiple processing is started. If the threshold does not hold due to the average CPU usage rate, check the next record. When processing to the last record is completed in this way, processing is interrupted for a specified time (for example, 1 minute), and processing starts again from the first record.
  • a predetermined threshold value for example, 1 minute
  • FIG. 17 is a flowchart showing the flow of multiple execution processing performed by the distributed processing management device (server). In the flow of the multiple execution process shown in FIG. 17, it is assumed that the target node tape node is known at the start of the multiple execution process.
  • the server first searches the job management table as shown in FIG. 10 using the node name as a key (S81). Next, with the class name in the job management table of the search result as the key, the job priority, multiplicity, and re-submission limit value are obtained from the job class table as shown in FIG. 12 for searching the job class. (S82).
  • step S83 the server calculates the following four items for the job management table.
  • Average overall processing amount Ave (node processing capacity X CPU average usage rate X (estimated minimum processing time + execution time))
  • Minimum required performance Min (average overall throughput / predicted shortest processing time)
  • the minimum required performance in (4) is the minimum performance requirement required to complete the processing earlier than the shortest predicted shortest processing time.
  • the average CPU usage rate is the unit.
  • a node whose capacity value is 1.0 and the local CPU usage rate is 20% or less corresponds to the above value. If multiple jobs are submitted, the minimum processing time for (1) calculates the minimum value, the total processing amount for (2) determines the average value, and the progress rate for (3) reaches the maximum value. Ask.
  • the maximum progress rate calculated in step S83 is compared with the re-submission limit value of the job class table as shown in FIG. 12, and the maximum progress rate is the re-submission limit value. If it is not smaller (when the maximum progress rate is not the re-input limit value) (S84, No), the multiple execution process is terminated without performing multiple input.
  • step S85 if it is determined in step S85 that the multiplicity (job management table is empty) does not exceed the multiplicity of the job class table (S85, Yes), the minimum required performance ⁇ capacity value X (100 —A request (or search) for a free execution node that results in a local CPU usage (S86).
  • step S87 If there is an empty node that satisfies the condition in the determination in step S87, or if a node that satisfies the condition is found in step S90, the empty table in the job management table, the node table for which execution is requested, and the multiplex Notify the execution job class table and submit the job or request the job submission (S91).
  • FIG. 18 is a flowchart showing the flow of job cancellation processing from the node side in the distributed processing management system shown in FIG.
  • the node name and job name are added, and the cancel request is notified to the server side (S101).
  • the node side notifies the server side of such cancellation at regular time intervals (S102).
  • the server side when the server side receives a cancel request from the node side, the server performs a cancellation information acquisition process (S103), and the CPU average usage time of the node table (usage rate) ), Local CPU usage time (usage rate), progress rate, and status are cleared (S104). Further, the data corresponding to the node name and job name is deleted from the job management table (S105). However, if cancellation is requested at a node where multiple jobs are submitted, only the job that was being executed at the node for which cancellation was requested is deleted from the job management table, and at other nodes. Multiple jobs being executed are not deleted.
  • the node in the job cancel processing from the node side, the node can stop the distributed processing program and return to the user's exclusive use state for the convenience of the original user.
  • the distributed processing program executed at this time is cancelled.
  • the server side In response to the cancel request, the corresponding node information and job information are deleted from the node table and job management table.
  • the WAIT process for a fixed time on the node side is a waiting time for surely performing the server cancel process. However, if the server returns a cancel completion response to the cancel request, the WAIT process is not necessary for a certain period of time.
  • FIG. 19 is a flowchart showing the flow of termination and job cancellation processing from the server side in the distributed processing management system shown in FIG.
  • the server ends with the node name, execution end job name, and end status at the end of the job as an end message. (S111).
  • the node name, job name, and execution status are acquired from the node side (S112), and it is determined whether or not the job has terminated normally. (S113).
  • the server side determines that the job has been completed normally (S113, Yes)
  • a result information acquisition process is performed (S115).
  • the server clears the CPU average usage time (usage rate), local CPU usage time (usage rate), progress rate, and status of the node corresponding to the node table (S117). Further, the node information corresponding to the node name and job name is deleted from the job management table (S118).
  • step S113 if the server determines that the job has not ended normally (S113, No), the server directly uses the CPU average usage time (usage rate) of the node corresponding to the node table, and the local CPU. Clear usage time (use rate), progress rate, and status (S 117). Further, the node information corresponding to the node name and job name is deleted from the job management table (S118).
  • the end node on the node side determines in step S113 that the server has not completed the job normally (S113, if canceled with No), and the server has completed the job normally. (If a transfer request is made with S113, Yes), the server Force The corresponding response request is received (S119).
  • the node side determines whether or not the response request acquired from the server side is a cancel request (S120). If the response request is not a cancel request (S120, No), the server side The result information is transferred (SI 21), and the job end process is executed (S122). If the response request is a cancel request (S120, Yes), the job end process is immediately performed (S122).
  • the node that has not completed the job in the multiple execution on the node side sends a cancel request to another node with the same job name in step S116 (S116).
  • response processing from the server is performed (S123).
  • the node side determines whether or not the response request acquired from the server is a cancel request (S124). If the response request is not a cancel request (S124, No), the node side The result information is transferred (S125), and the job end process is executed (S126). If the response request is a cancel request (S124, Yes), the job end process is immediately performed (S126).
  • the node when the job is terminated, the node notifies the server side of the termination information.
  • the server checks whether the job is being executed multiple times and collects the data of the completed job from the node (nominated). On the other hand, when processing a multiple execution job, the server stops other nodes (job cancellation). Furthermore, when canceling a job for the convenience of the server, similarly, multiple execution jobs having the same job name are canceled at the same time, and the node executing the multiple job is also released simultaneously.
  • the node when canceling a node in which a job with a low priority is submitted so that the server can submit multiple jobs, the node does not accept cancellation processing from the server in response to server-oriented cancellation. Line, release own node.
  • a distributed processing management program for causing a computer to execute the operations of the flowcharts described as appropriate is stored in a recording medium readable by the computer, thereby distributing the program. It is possible to cause a computer constituting the processing management apparatus to execute the distributed processing management method.
  • the computer-readable recording medium is a portable storage medium such as a CD-ROM, a flexible disk, a DVD disk, a magneto-optical disk, an IC card, a database holding a computer program, or another computer.
  • the database and the transmission medium on the line are also included.
  • the processing capability of individual execution processing computers such as a grid computer environment is remarkably different, and even in a distributed processing environment that changes drastically in time,
  • the time from execution to completion (TAT) can be minimized, and the administrator can determine the policy of dual (multiple) execution by considering the characteristics of the distributed environment according to the amount of resources and the progress of processing.
  • TAT execution to completion

Abstract

 分散処理管理装置において、サーバ3は、一定期間ごとに各ノードのCPU使用率などのリソース状況を管理するために、ノードテーブル5、ジョブ管理テーブル6、およびジョブクラステーブル7を有する。ジョブの投入後にCPU等の稼働率が高くなり、投入ジョブの実行速度が落ちた場合は、各テーブルを参照して、現用のノード2aから他のノード2bへジョブの再投入を行う。これによって、グリッド計算機環境において、全体のTATを改善することができると共に計算機資源の有効な利用が可能となる。

Description

明 細 書
分散処理管理装置、分散処理管理方法、分散処理管理プログラム 技術分野
[0001] 本発明は、分散コンピューティングシステムにおいてジョブの投入制御およびジョブ の実行制御を行う分散処理管理装置、分散処理管理方法、および分散処理管理プ ログラムに関するものである。
背景技術
[0002] 従来より、複数のノードとそれらを管理するサーバを持った分散処理コンビユーティ ングシステムでは、分散処理用プログラムをネットワークで接続されたノードに投入し て各ノードで計算させた結果を回収している。分散処理用プログラムを投入する方法 としては、空きノードを順番に選択して依頼する方法が用いられている力 近年では 、家庭用/事務所用 PC (Personal Computer :パソコン)を利用するケースもあり、そ の余剰なリソース能力を利用する場合は、 PCで実行する家庭用'事務処理プロダラ ムに影響を与えないようにするために、分散処理用プログラムを最低優先度で実行さ せるようにしてレ、る。あるいは、リソースが他で利用されていないときのみ分散処理用 プログラムを実行するように制御されている。そのため、分散処理用プログラムの投入 時には、リソースの稼働率等のリソース利用率が低い PCを選択するなどして、分散処 理用プログラムの実行の効率化を図っている。
[0003] しかし、リソースの稼働率などの指標は一定期間ごとに求められるため、分散処理 用プログラムの投入時の稼働率指標が古い場合もあり、必ずしも効果的には分散処 理が運用されない。また、分散処理用プログラムの投入時の負荷が低くても投入され た後に負荷が上昇すると分散処理用プログラムの実行に対応することができない。特 に、家庭用 Z事務所用 PCの場合はリソース稼動率の変動が大きいため、投入され た分散処理用プログラムの実行が負荷を重くすることもしばしばであり、結果的に、処 理時間が長くなつてしまうケースもある。
[0004] そこで、このような不具合に対応するために、分散処理用プログラムの実行ノード側 で負荷が上昇すると別のノードに分散処理用プログラムを再投入するようにサーバに 通知するような仕組みを備えた分散処理コンピューティングシステムが知られている。 図 20は、従来の分散処理コンピューティングシステムにおけるサーバ側と実行ノード 側の処理の流れを示すフローチャートである。図 20に示すように、従来の分散処理コ ンピューティングシステムにおける分散処理用プログラムの再投入では、サーバ側は 、一定期間ごとに CPUリソース状況の収集(S211)とノードごとのリソース状況の管理 (S212)とを行ってレヽる。
[0005] また、サーバ側のジョブ管理とノード側におけるジョブ実行の処理の流れでは、ジョ ブ管理を行うサーバ側は、ジョブ実行依頼および再投入依頼を行うと(S221)、ノー ドのリソース状況の調查を行い(S222)、稼働率の低いノードを選択して(S223)、そ のノードに対してジョブを投入する(S224)。一方、ジョブを実行するノード側は、サ ーバ側から投入されたジョブを実行し(S225)、 CPUのリソースの閾値を超えていな いか否かを判断して(S226)、 CPUのリソースの閾値を超えていなければ(S226, N o)、そのままジョブを実行するが(S225)、もし CPUのリソースの閾値を超えていれ ば(S226, Yes)、他のノードへの切り替えをサーバに依頼して(S227)、先にジョブ を投入したノードに対してはジョブの依頼をキャンセルする(S228)。
[0006] ところが、通常はノードの負荷は動的に変化するため、ある時点で CPUのリソース の閾値を超えていてもノードを切り替えることが必ずしも効率的な結果となるわけでも なレ、。図 21は、従来の分散処理コンピューティングシステムにおけるノードの切り替 え実行状況の一例を示す概念図である。図 21において、時刻 tOでノード Aにジョブ が投入されたとき、時刻 tlでノード Aの負荷が上昇するとノード Bにジョブが再投入さ れる。ノード Aの負荷が上昇しなければ時刻 t2でノード Aによるジョブの実行が終了さ れる(S231)。また、負荷の上昇が瞬間的であってノード Bへの再投入がなければ時 刻 t3でノード Aによるジョブの実行が終了される(S232)。一方、時刻 tlでノード Aの 負荷が上昇してノード Bにジョブが再投入された場合は、ノード Bによる再投入ジョブ は時刻 t4で終了する。また、ノード Aによる負荷上昇が長期間に亘りノード Bへの再 投入がなければ、ノード Aによるジョブの終了は時刻 t5にまで延長される(S233)。 つまり、ノード Aからノード Bへのジョブの切り替えによってジョブの処理が大幅に効率 化されるのはステップ S233の場合のみである。 [0007] なお、本発明の関連ある従来技術としては、例えば、下記に示す特許文献 1などが 知られている。この技術は、ユーザ端末からの要求に応じたアプリケーションの実行 を複数のノードによって効率的に行うものである。
特許文献 1 :特開 2004— 287889号公報(段落番号 0044— 0075、および図 5 図 7参照)
発明の開示
発明が解決しょうとする課題
[0008] し力しながら、複数の情報処理をサーバで受け付け、複数のノードへ処理を投入す る分散計算機環境では、各処理が効率よく実行されるように、サーバが、処理を実行 するノードの能力や計算負荷状況に応じたスケジューリング管理を行っている。このと き、実行処理ノードの能力を 100%使用できる環境や、一定の処理能力が保証され る場合などにおいては、サーバの管理は比較的容易である。また、各実行ノードの処 理資源 (例えば、 CPU能力やメモリ容量)に応じた処理を受け持たせることで、システ ム全体の能力を無駄なく利用して、各情報処理の投入から完了までの時間(以下、タ ーンアラウンドタイム: TATとレ、う)を最小化することができる。
[0009] ところ力 ユーザが事務用 PCなどに利用しているノードの空き時間を利用したグリツ ド計算機環境の場合には、参加ノードの増減や計算能力の多様性はもとより、ユーザ の使用状態による処理能力の増減が激しぐ計算リソースが一定であるようなスケジュ 一リングでは TATを小さく保つことができない。このために、あるノードへ投入された ジョブの処理力 ノード側ユーザのアプリケーション使用開始に伴って遅延した場合 は、別のノードへジョブの処理を再度投入して実行する管理方法も行われている。こ のような管理方法の場合には、ジョブの再処理の際に、今までのジョブの処理の途中 結果を保存して別ノード上でジョブ実行中断点からジョブの処理を行う場合と、ジョブ の処理を最初から実行する場合との 2通りの処理方法がある。
[0010] し力し、これらの処理方法では、先にジョブの処理を依頼したノード側の方でユーザ の計算負荷が減少して、後に追加したノードよりも先に処理が終えられる可能性があ り、二重(または三重以上)にジョブの再投入を実行したことが TATの改善にかなら ずしも役立つとは言えなレ、。また、多重にジョブの処理をした分だけ、ジョブの処理を 最初から実行する場合ではそれまでの計算処理は無駄となる。また、システム全体と しての計算能力を減じてしまう欠点もある。
[0011] さらに、 Aノードのジョブ処理の中断点力ら Bノードでジョブの再実行を行う方法では 、ジョブの中断一再実行を繰り返す処理を常に行うため、ジョブを中断しなかった場合 でも計算負荷が大きくなるなどの不具合が生じる。ジョブの実行中断点からジョブの 処理を行う場合と、ジョブの処理を最初から実行する場合のレ、ずれの処理方法の場 合も、依頼処理数に十分な数のノードが登録されていない状況においては、むやみ に二重(多重)にジョブの処理を行うことは、結果的にシステム全体の処理量が増え、 サーバにそれまでに依頼されていた処理の完了時間がその分だけ遅延することにな る。その結果、分散コンピューティングシステム全体としての TATが悪化してしまう。し たがって、グリッド計算機環境のように、処理ノードの負荷変動が大きい場合の分散 処理においても、 TATを最小化しつつ、さらに、全体の計算資源を有効に活用する ことができるサーバでの処理管理方式が求められている。
[0012] 本発明は上述した問題点を解決するためになされたものであり、 TATを最小化して 全体の計算資源を有効に活用することができる分散処理管理装置、分散処理管理 方法、分散処理管理プログラムを提供することを目的とする。
課題を解決するための手段
[0013] 上述した課題を解決するため、本発明の分散処理管理装置は、複数のノードに接 続されること力 Sでき、各ノードにジョブを投入することができると共にそのジョブの実行 管理を行うことができる分散処理管理装置であって、第 1ジョブを投入した第 1ノード の第 1リソース関連情報を取得する第 1リソース関連情報取得部と、第 1ジョブを投入 していない第 2ノードの第 2リソース関連情報を取得する第 2リソース関連情報取得部 と、第 1リソース関連情報取得部により取得された第 1リソース関連情報と、第 2リソー ス関連情報取得部により取得された第 2リソース関連情報とに基づいて、第 1ノードに 投入した第 1ジョブを第 2ノードに投入するか否かについての判断を行うジョブ再投入 判断部とを備えている。
[0014] ここで、ジョブ再投入判断部は、第 1ジョブの投入を肯定する判断において、第 1リ ソース関連情報に基づいて、第 1ノードの第 1ジョブの実行に対する CPU使用率が 所定の閾値を下回る場合を判断することを特徴とする。
[0015] また、ジョブ再投入判断部は、第 1ジョブの投入を肯定する判断において、第 1リソ ース関連情報に基づいて、第 1ノードの第 1ジョブの進涉率が再投入限界値を越えて レ、ない場合を判断することを特徴とする。
[0016] また、ジョブ再投入判断部は、第 1ジョブの投入の判断において、第 2リソース関連 情報に基づいて、第 1ジョブの実行に要求される所定の性能を有するノードであって 、投入された第 2ジョブを実行していない空きノードである第 2ノードの有無を判断す ることを特徴とする。
[0017] また、ジョブ再投入判断部は、第 1ジョブの投入の判断において、第 2リソース関連 情報に基づいて、第 2ノードで実行されている第 2ジョブをキャンセルして第 1ジョブを 投入するための所定の条件を判断することを特徴とする。
[0018] また、所定の条件についての判断は、第 2リソース関連情報に基づいて、第 1ジョブ の実行に要求される所定の性能を有するノードであって、投入された第 2ジョブを実 行していない空きノードである第 2ノードがないと判断した場合に行われることを特徴 とする。
[0019] また、所定の条件として、第 2ジョブに与えられた優先度が第 1ジョブに与えられた 優先度より低い場合、第 2ジョブの第 2ノードにおける進涉率が所定のキャンセル限 界値よりも低い場合、第 2ノードが第 1ジョブの実行に要求される所定の性能を満た す場合のうち、少なくともいずれか一つを条件とすることを特徴とする。
[0020] また、本発明の分散処理管理方法は、複数のノードにおける各ノードにジョブを投 入するとともにそのジョブの実行管理を行う分散処理管理方法であって、第 1ジョブを 投入した第 1ノードの第 1リソース関連情報を取得する第 1リソース関連情報取得ステ ップと、第 1ジョブを投入していない第 2ノードの第 2リソース関連情報を取得する第 2 リソース関連情報取得ステップと、第 1リソース関連情報取得ステップにより取得され た第 1リソース関連情報と、第 2リソース関連情報取得ステップにより取得された第 2リ ソース関連情報とに基づいて、第 1ノードに投入した第 1ジョブを第 2ノードに投入す るか否かにっレ、ての判断を行うジョブ再投入判断ステップとを備えてレ、る。
[0021] ここで、前記ジョブ再投入判断ステップは、第 1ジョブの投入を肯定する判断におい て、第 1リソース関連情報に基づいて、第 1ノードの第 1ジョブの実行に対する CPU使 用率が所定の閾値を下回る場合を判断することを特徴とする。
[0022] また、前記ジョブ再投入判断ステップは、第 1ジョブの投入を肯定する判断におい て、第 1リソース関連情報に基づいて、第 1ノードの第 1ジョブの進渉率が再投入限界 値を越えてレ、なレ、場合を判断することを特徴とする。
[0023] また、前記ジョブ再投入判断ステップは、第 1ジョブの投入の判断において、第 2リソ ース関連情報に基づいて、第 1ジョブの実行に要求される所定の性能を有するノード であって、投入された第 2ジョブを実行していない空きノードである第 2ノードの有無を 判断することを特徴とする。
[0024] また、前記ジョブ再投入判断ステップは、第 1ジョブの投入の判断において、第 2リソ ース関連情報に基づレ、て、第 2ノードで実行されてレ、る第 2ジョブをキャンセルして第 1ジョブを投入するための所定の条件を判断することを特徴とする。
[0025] また、所定の条件として、第 2ジョブに与えられた優先度が第 1ジョブに与えられた 優先度より低い場合、第 2ジョブの第 2ノードにおける進涉率が所定のキャンセル限 界値よりも低い場合、第 2ノードが第 1ジョブの実行に要求される所定の性能を満た す場合のうち、少なくともいずれか一つに該当することを条件とすることを特徴とする
[0026] また、本発明は、複数のノードにおける各ノードにジョブを投入するとともにそのジョ ブの実行管理を行うことをコンピュータに実行させる分散処理管理プログラムであつ て、第 1ジョブを投入した第 1ノードの第 1リソース関連情報を取得する第 1リソース関 連情報取得ステップと、第 1ジョブを投入していない第 2ノードの第 2リソース関連情報 を取得する第 2リソース関連情報取得ステップと、第 1リソース関連情報取得ステップ により取得された第 1リソース関連情報と、第 2リソース関連情報取得ステップにより取 得された第 2リソース関連情報とに基づいて、第 1ノードに投入した第 1ジョブを第 2ノ ードに投入するか否かについての判断を行うジョブ再投入判断ステップとをコンビュ ータに実行させる。
図面の簡単な説明
[0027] [図 1]本発明の実施の形態における分散処理管理装置 (サーバ)がノードに対して行 うリソースの収集の流れを示すフローチャートである。
園 2]本発明の実施の形態における分散処理管理装置が行うジョブ投入の流れを示 すフローチャートである。
園 3]本発明の実施の形態におけるジョブの再投入判断の流れを示すシーケンスで ある。
[図 4]本発明の実施の形態におけるジョブ完了によるジョブキャンセルの処理の流れ を示すフローチャートとシーケンスである。
園 5]本発明の実施の形態における分散処理管理システムの全体構成を示す構成 図である。
園 6]本発明の実施の形態における分散処理管理装置 (サーバ)が備えるノードテー ブルの項目の一例を示す図である。
園 7]図 6に示す能力値および閾値のテーブルを示す図である。
園 8]本発明の実施の形態における分散処理管理装置に適用されるノードテーブル の一例を示す図である。
園 9]本発明の実施の形態における分散処理管理装置 (サーノ が備えるジョブ管理 テーブルの項目の一例を示す図である。
園 10]本発明の実施の形態における分散処理管理装置 (サーノ に適用されるジョ ブ管理テーブルの一例を示す図である。
園 11]本発明の実施の形態における分散処理管理装置 (サーバ)が備えるジョブクラ ステーブルの項目の一例を示す図である。
園 12]本発明の実施の形態における分散処理管理装置に適用されるジョブクラステ 一ブルの一例を示す図である。
園 13]本発明の実施の形態におけるジョブ投入の流れを示すフローチャートである。 園 14]本発明の実施の形態における分散処理管理装置 (サーノ におけるノード情 報の取得の流れ其の 1を示すフローチャートである。
園 15]本発明の実施の形態における分散処理管理装置 (サーノ におけるノード情 報の取得の流れ其の 2を示すフローチャートである。
園 16]本発明の実施の形態における分散処理管理装置 (サーバ)が行うジョブの再 投入判断の流れを示すフローチャートである。
[図 17]本発明の実施の形態における分散処理管理装置 (サーノ が行う多重実行処 理の流れを示すフローチャートである。
[図 18]本発明の実施の形態においてノード側からのジョブキャンセル処理の流れを 示すフローチャートである。
[図 19]本発明の実施の形態における分散処理管理装置 (サーバ)側からの終了およ びジョブキャンセル処理の流れを示すフローチャートである。
[図 20]従来の分散処理コンピューティングシステムにおけるサーバ側と実行ノード側 の処理の流れを示すフローチャートである。
[図 21]従来の分散処理コンピューティングシステムにおけるノードの切り替え実行状 況の一例を示す概念図である。
発明を実施するための最良の形態
[0028] 以下、本発明の実施の形態について図面を参照しつつ詳細に説明する。
[0029] 《発明の概要》
本発明の分散処理管理装置は、ジョブの実行ノードに投入ジョブの監視機能を設 ける。そして、監視機能による投入ジョブの監視においては、実行ノードのリソース使 用率 (つまり、投入ジョブが使用するリソースや処理実行ノード全体でのリソースの使 用率)を規定された時間ごとにサーバ側へ通知する。また、サーバは、通知された投 入ジョブのリソースが設定閾値を下回った場合は、別の空きノードに対して再度ジョ ブを投入し (このようなジョブの投入をジョブ再投入という)、先に終了したジョブ結果 を採用して、これまで実行中のジョブをキャンセルする機能を設ける。
[0030] また、上記のジョブ再投入に関しては、以下に示すパラメータからなる実行ポリシー をジョブクラスほたは、優先度)に対して設定する。すなわち、(1)ジョブ再投入回数( 投入多重度)の限界値、(2)ジョブ終了予測に基づく判定有無、 (3)後発処理が追い つくまでの限界値、の 3項目の実行ポリシーをジョブクラスほたは、優先度)に対して 設定する。さらに、本発明の分散処理管理装置は、アプリケーションから OSなどのソ フトウェアを利用するための API (Application Programming Interface)を提供し、ジョ ブ側からの進涉状況を設定できるようにすることにより、ジョブの終了予測ができるよう にする。
[0031] 図 1は、本発明の分散処理管理装置において、サーバがノードに対して行うリソー スの収集の流れを示すフローチャートである。図 1に示すように、各ノードは、ジョブの 実行中であれば、あらかじめ規定された時間を待って(S1)、ジョブが実行中である か否かを判断し(S2)、ジョブが実行中であれば(S2、 Yes)、ジョブを割り当てた CP Uの使用率平均値をサーバに通知し(S3)、ジョブが実行中でなければ(S2、 No)、 ジョブの割り当てが可能な CPU (ローカル CPU)の使用率平均値をサーバに通知す る(S4)。このようにして、サーバは各 CPUのリソース状況を収集する(S5)。
[0032] すなわち、本発明の分散処理管理装置においては、各ノードは、ジョブの実行中で あればあらかじめ規定された時間毎に処理ジョブに割り当てられた CPUの使用率を サーバに対して通知し、ジョブの未実行状態であればローカル CPUの使用率をサー バに対して通知する。これによつて、サーバは通知された CPUの使用率状況を収集 する。
[0033] 図 2は、本発明の分散処理管理装置において、サーバが行うジョブ投入の流れを 示すフローチャートである。図 2に示すように、処理実行中のノードがあらかじめ規定 された時間を待って(S11)、ジョブの割り当てが可能な CPUの使用率平均値をサー バに通知すると(S12)、サーバは CPUのリソース状況を収集して(S13)、ポリシーの 読み込みを行う(S14)。
[0034] このとき、サーバが読み込むポリシーは、ノード情報(つまり、ノード名、 CPUアイド ル平均値、性能、再投入閾値)、ジョブクラス情報 (つまり、クラス名、最大多重値、優 先順位)、およびジョブ管理情報 (つまり、ジョブ名、投入先計算機名、進涉度、ジョブ クラス)などである。
[0035] 次に、サーバは、収集した CPUリソース状況でジョブの再実行が可能か否かを判 断し(S15)、ジョブの再実行が不可能であれば(S15、 No)、ステップ S13に戻って 前述の処理を繰り返すが、収集した CPUリソース状況でジョブの再実行が可能であ れば(S15、 Yes)、ジョブを投入するマシン(PC)を決定し(S16)、そのマシン(PC) に対してジョブを再投入する(SI 7)。このような操作によって CPUリソース状況に応 じて別のノードへジョブを再投入することができる(S 18)。 [0036] つまり、サーバは、ノードにジョブを投入した後、実行ノードから CPU情報とジョブ実 行状況を収集すると共に、実行ノードごとの CPU割当閾値と、ジョブごとの再投入閾 値(限界値)と、ジョブ投入の最大多重値とを設定したポリシーを読み込む。
[0037] そして、一定時間ごとに収集する CPUのジョブ実行状況が閾値以下であって、か つジョブ再投入の閾値(限界値)以下であり、さらに最大多重値以下であるならば、次 のルールにしたがって他ノードにジョブを再投入する。
[0038] (1)空きノードがある場合は、ジョブの未実行ノードにジョブを投入する。
(2)空きノードがない場合は、サーバが管理するノード全てでジョブが実行中の場合 は、ジョブポリシーで規定されたジョブ再投入閾値(限界値)以下の既実行中のジョブ の中で、最も実行状況が低い既実行中のジョブをキャンセルし、該当するマシンに再 投入すべきジョブを投入する。また、キャンセルされたジョブはサーバによるジョブキ ユーの先頭に戻される。
[0039] もし、実行中のノードからの報告により、ジョブ進涉状況がジョブ再投入閾値(限界 値)を超えている場合は、閾値以下であり、かつ最大多重度以下であってもサーバは そのノードにジョブを再投入しない。図 3は、本発明の分散処理管理装置において、 ジョブの再投入判断の流れを示すシーケンスである。図 3において、サーバが実行計 算機 Aに対してジョブの実行を行うと(S21)、実行計算機 Aからサーバに対して一定 時間ごとにジョブの実行状況が通知される(S22)。このようにして、実行計算機 Aは ジョブの進涉度状況をサーバに報告し、サーバはジョブの進涉度状況とポリシーに定 義された値とを比較する(S23)。このとき、ジョブの進涉度状況が指定された値以上 の進涉度であるならば、サーバは別の実行計算機に対してジョブの投入は行わない
[0040] 図 4は、本発明の分散処理管理装置において、ジョブ完了によるジョブキャンセル の処理の流れを示すフローチャート(図 4 (A) )とシーケンス(図 4 (B) )である。図 4 (A )に示すジョブ完了によるキャンセルフローでは、サーバがジョブ結果を収集すると(S 31)、他の計算機のジョブをキャンセルする(S32)。つまり、図 4 (B)のシーケンスに 示すように、サーバが実行計算機 Aに対してジョブ実行を行うと(S33)、実行計算機 Aからサーバに対して定期的にジョブの進渉度状況が通知される(S34)。さらに、サ ーバが実行計算機 Bに対してジョブ実行を行うと(S35)、実行計算機 Bからサーバに 対して定期的にジョブの進涉度状況が通知される(S36)。そして、実行計算機 Bのジ ヨブが終了すると実行計算機 Aのジョブはキャンセルされる(S37)。このようにして実 行計算機 Aと実行計算機 Bに多重投入されたジョブのいずれかが終了した場合は、
Figure imgf000013_0001
[0041] 《実施の形態》
以下、本発明における分散処理管理装置の具体的な実施の形態について説明す る。図 5は、本発明の実施の形態における分散処理管理装置システムの全体構成を 示す構成図である。図 5に示すように、実施の形態の分散処理管理監視システムは、 複数のジョブ投入端末 la, lbと、複数のノード 2a, 2bと、分散処理管理装置をなす サーバ 3とがネットワーク 4を介して接続されてレ、る。
[0042] 複数のジョブ投入端末 la, lbは、それぞれ、ジョブ依頼'結果取得機能 11 a, l ib を備えている。複数のノード 2a, 2bは、それぞれ、ジョブ実行機能 12a, 12bとノード 情報通知機能 13a, 13bを備えている。サーバ 3は、ジョブ受付機能 3a、第 1ノード情 報取得機能 (第 1リソース関連情報取得部) 3bl、第 2ノード情報取得機能 (第 2リソー ス関連情報取得部) 3b2、ジョブ割り当て機能 3c、ジョブ実行管理機能 3d、ジョブ多 重実行管理機能 3e、およびジョブ再投入判断機能 (ジョブ再投入判断部) 3fを備え ている。また、サーバ 3にはノードテーブル 5とジョブ管理テーブル 6とジョブクラステ 一ブル 7が接続されている。
[0043] ジョブ投入端末 la, lbは、システム利用者がジョブを投入するための PCなどの入 出力端末であって多数個存在する。これらのジョブ投入端末 la, lbは、サーバ 3に 対してジョブの実行を依頼し、その出力結果を取得する機能を有する。
[0044] ノード 2a, 2bは、ジョブを実行するための計算機であって多数個存在し、それぞれ 、ジョブ実行機能 12a, 12bとノード情報通知機能 13a, 13bの 2つの機能を備えてい る。ジョブ実行機能 12a, 12bは、サーバ 3から入力ファイルと実行プログラムを受け 取って、それを対応するノード 2a, 2bで実行し、その出力結果をサーバ 3に返す機 能を備えている。また、ジョブ実行機能 12a, 12bには、ジョブをノード 2a, 2bまたは サーバ 3からの命令によってキャンセルする機能も含まれる。なお、ジョブのキャンセ ノレ機能の詳細な説明は後述する。また、ノード情報通知機能 13a, 13bは、サーバ 3 に対してノード 2a, 2bの各種情報(つまり、ノード名、マシンス仕様、 CPU使用時間、 ジョブ実行時間など)を通知する機能を備えている。なお、各種情報の通知機能の詳 細な説明は後述する。
[0045] サーバ 3は分散処理管理装置全体を管理するための計算機であり、 3つのテープ ルと 6つの機能を備えている。ジョブ受付機能 3aは、ジョブ投入端末 la, lbからジョ ブ実行依頼を受付けてジョブキューに格納する機能である。第 1ノード情報取得機能 (第 1リソース関連情報取得部) 3blは、ノード 2aから通知されたノード情報を取得し、 ノードテーブル 5を作成 ·更新する機能を備えている。第 2ノード情報取得機能 (第 2リ ソース関連情報取得部) 3b2は、ノード 2bから通知されたノード情報を取得し、ノード テーブル 5を作成 ·更新する機能を備えてレ、る。
[0046] ジョブ割り当て機能 3cは、ジョブキューからジョブを取り出し、そのジョブ条件 (例え ば、 OS種別やノード性能など)に合致し、かつジョブが実行されていないノード 2a, 2 bをノードテーブル 5から選択し、ジョブをノード 2a, 2bに割り当る機能を備えている。
[0047] ジョブ実行管理機能 3dは、割り当てられたジョブをノード 2a, 2bで実行するための 管理機能であり、ジョブ管理テーブル 6を作成および更新し、ジョブ実行処理 (つまり 、ノード 2a, 2bに対して入力ファイルと実行ファイルを送り、そのジョブ実行を命令し て、ジョブ完了後に出力結果を受け取る処理)を行う機能を備えている。なお、ジョブ キャンセル時の処理もジョブ実行管理機能 3dに含まれる。ジョブ多重実行管理機能 3eは、ジョブ管理テーブル 6を参照し、ジョブを再投入した方がジョブ実行時間を短 縮できるときにジョブの多重実行を行うための管理機能である。ジョブ再投入判断機 能 3fは、リソース情報に基づいて、例えばノード 2aに投入したジョブをノード 2bに投 入するか否かを判断する機能を備えている。なお、それぞれの機能の詳細について は後述する。
[0048] 次に、サーバ 3が備えるノードテーブル 5、ジョブ管理テーブル 6、およびジョブクラ ステーブル 7のテーブル仕様についてそれぞれ詳細に説明する。
[0049] 〈ノードテーブル仕様〉
図 6は、サーバ 3が備えるノードテーブルの項目の一例を示す図である。図 6に示す ノードテーブルの項目に基づいて図 5に示すノード 2a, 2bの管理が行われる。また、 図 7は図 6に示す能力値および閾値のテーブルを示す図である。
[0050] 図 6のノードテーブルの項目において、「ノード名」の項目には、いわゆるノードの名 称が記録される。 「CPU平均使用率」の項目には、ジョブに割り当てられた CPUの使 用率の平均値が記録される。 「ローカル CPU使用率」の項目には、ノードのローカル CPU使用率 (100— IDLE)が記録される。 「能力値」の項目には、 CPひ性能等のマシ ン仕様が相対的に数値化されて記録される。すなわち、「能力値」は図 7に示すような 性能に比例した値が設定され、「閾値」には「能力値」を反映した値が設定される。「 状況」の項目には、ジョブの実行待ち、およびジョブの実行中などのマシン状況が記 録される。図 8は、本発明の分散処理管理装置に適用されるノードテーブルの一例を 示す図である。この例では、ノード名が Nl , N2, N3の 3つのノードについてのノード テーブルが示されている。
[0051] 〈ジョブ管理テーブル仕様〉
図 9は、サーバ 3が備えるジョブ管理テーブルの項目の一例を示す図である。つまり 、ジョブ管理テーブルはノードに投入するジョブの管理を行う。したがって、ジョブ管 理テーブルにはジョブクラスに定義された多重度に合わせたテーブルが予め用意さ れていて、ジョブが多重実行される度にジョブ管理テーブルにジョブ情報が登録され る。言い換えれば、多重度分のジョブ管理テーブルが確保されている。
[0052] 図 9に示すジョブ管理テーブルの項目において、ジョブ名の項目にはジョブの名称 が記録され、実行ノード名の項目には実行ノードの名称が記録され、クラス名の項目 にはジョブクラス名が記録される。さらに、実行時間の項目には、対応するジョブの実 行時間が記録され、進渉率の項目には対応するジョブの進渉率が記録される。図 10 は、本発明の分散処理管理装置に適用されるジョブ管理テーブルの一例を示す図 である。この例では、ノード名力 および J2の 2つのノードについてのジョブ管理テー ブルが示されている。
[0053] 〈ジョブクラステーブル仕様〉
図 11は、サーバ 3が備えるジョブクラステーブルの項目の一例を示す図である。つ まり、ジョブクラステーブルには投入するジョブのポリシーが登録される。図 11に示す ジョブクラステーブルの項目において、クラス名の項目にはジョブのクラス名が記録さ れ、優先順位の項目にはジョブの優先度が記録され、多重度の項目にはジョブの最 大多重度が記録される。また、再投入限界値の項目には、ジョブの再投入における 実行時間の閾値が記録される。したがって、この閾値を超えた場合にはジョブの再投 入は行われないようにする。さらに、キャンセル限界値の項目にはジョブの切り替えの 際の閾値が記録される。したがって、この閾値を超えた場合は優先度によるジョブの 切り替えは行われないようにする。図 12は、本発明の分散処理管理装置に適用され るジョブクラステーブルの一例を示す図である。この例では、ジョブのクラス名が Aお よび Bの 2つのジョブクラス名についてのジョブクラステーブルが示されている。
[0054] 次に、ノードへのジョブ投入の流れについて説明する。図 13は、本発明の分散処 理管理装置におけるジョブ投入の流れを示すフローチャートである。図 13において、 まずジョブが再投入されたか否かが判断され (S41)、ジョブが再投入されていなけれ ば(S41、 No)、図 10に示すようなジョブ管理テーブルにデータを作成し(S42)、初 期化処理を行った後に(S43)、所望のノードに投入したジョブの実行を行う(S44)。 一方、ステップ S41でジョブが再投入されていれば(S41、 Yes) ,図 10に示すジョブ 管理テーブルにおける該当データの更新を行い(S45)、所望のノードに投入したジ ヨブの実行を行う(S44)。このようにして、ジョブの投入を完了する。
[0055] すなわち、ジョブの投入に当たっては、図 10に示すジョブ管理テーブルにジョブデ ータを登録する。また、ジョブの再投入を行う場合はジョブ管理テーブルに対して先 に作られているテーブルの更新を行う。
[0056] 次に、ノード情報の取得について説明する。
〈ノード情報の取得 1〉
図 14は、図 5に示すサーバにおけるノード情報の取得の流れ其の 1を示すフロー チャートである。図 14のフローチャートにおいては、ノード側によるノード情報の通知 1の処理と、サーバ側によるノード情報の取得 1の処理が示されている。まず、ノード 側が、ノード名およびマシンの仕様をノード開局通知としてサーバ側へ送信すると(S 51)、サーバ側は、ノード開局通知として、ノード名およびマシンの仕様の取得処理 を行う(S52)。さらに、サーバ側は、図 8に示すようなノードテーブル内に既に登録済 みのノード名があるか否かを判断する(S53)。
[0057] ここで、ノードテーブル内に登録済みのノード名がなければ(S53、 No)、ステップ S 52に戻って、サーバ側は、ノード名およびマシンの仕様の取得処理を行うが、ノード テーブル内に既に登録済みのノード名があれば(S53、 Yes)、マシンの仕様から能 力値を算出し (S54)、図 8に示すノードテーブルにノード名と能力値を登録する(S5 5)。さらに、サーバ側は、図 8に示すノードテーブルの CPU平均使用率、ローカル C PU使用率、および状況を初期化して閾値をクリアする(S56)。
[0058] つまり、ノードとなる計算機 (PC)の電源投入時、または、ノード側の分散処理制御 プログラムの開始時(つまり、ジョブ受付の開始時)において、図 14に示すようなノー ド情報の取得を行う。
[0059] 〈ノード情報の取得 2〉
図 15は、図 5に示す分散処理管理システムにおけるノード情報の取得の流れ其の 2を示すフローチャートである。図 15のフローチャートにおいては、ノード側によるノー ド情報の取得 2の処理と、サーバ側によるノード情報の取得 2の処理が示されている
[0060] 図 15において、ノード側は、ノード名、ローカル CPU使用時間、 CPU平均使用時 間、および現在の進涉率をノード情報通知としてサーバ側へ送信する(S61)。ノード 側は、このようなノード情報を一定の時間間隔ごとにサーバ側へ通知する(S62)。
[0061] 一方、サーバ側は、ノード側からノード情報の通知を受けると、ノード名に対応した CPU平均使用時間、ローカル CPU使用時間、および進涉率についてのノード情報 取得処理を行い(S63)、平均 CPU使用率およびローカル CPU使用率を算出して図 8に示すようなノードテーブルの更新を行う(S64)。さらに、サーバ側は、ジョブ実行 時間の累積値と予想終了時間から現在の進渉率を算出する(S65)。そして、ノード テーブルにおける進渉率の更新を行い(S66)、ステップ S63に戻って前述の処理を 繰り返す。
[0062] なお、 CPU平均使用率とは、 CPU平均使用時間の過去一定期間の累積値を過去 一定期間の総時間で割った値である。つまり、 CPU平均使用率とは、投入ジョブが あるノードの CPUを使用している平均使用率である。また、ローカル CPU使用率とは 、ローカル CPU使用時間の過去一定期間の累積値を過去一定期間の総時間で割 つた値である。つまり、ローカル CPU使用率とは、ローカル CPUがジョブに使用され ている平均使用率である。
[0063] すなわち、図 15に示すノード情報の取得其の 2の処理においては、ノード計算機で ノード側の分散処理制御プログラムが動作している間は、常に一定間隔で処理状況 がサーバへ伝達される。したがって、サーバ側はノード側からの情報に基づいてノー ドテーブルの CPU平均使用率やローカル CPU使用率を計算して進渉率を更新する
。なお、ノード側の進渉率はサーバ側からジョブを依頼されていない場合はゼロであ る。
[0064] 次に、図 5に示す分散処理管理装置(サーバ)が行うジョブの再投入判断について 説明する。図 16は、ジョブの再投入判断の流れを示すフローチャートである。図 16に おいて、サーバがジョブの再投入判断を行うとき、まず、図 8に示すようなノードターブ ノレから現在投入しているノードの次のノードにおけるレコード読み込む(S71)。そし て、読み込んでいるレコードが最終レコードであるか否かを判断し(S72)、最終レコ ードである場合は(S72、 Yes)、あらかじめ設定された規定時間(例えば、 1分間)処 理を停止し(S73)、ステップ S71に戻って、ノードテーブルから現在投入しているノ ードの次のノードにおけるレコード読み込み、前述のステップ S71以降の処理を繰り 返す。
[0065] また、ステップ S72で、読み込んだレコードが最終レコードでなければ(S72、 No)、 現在のジョブ状況は実行中であるか否かを判断し(S74)、ジョブを実行中であれば( S74、 Yes)、 CPU平均使用率は所定の閾値より小さいか否かを判断し(S75)、 CP U平均使用率が所定の閾値より小さければ(S75、 Yes)、ジョブの多重投入処理を 開始し(S76)、ステップ S71に戻って前述の処理を繰り返す。なお、ステップ S74で ジョブ状況がジョブの実行中でない場合(S74、 No)、およびステップ S75で CPU平 均使用率が所定の閾値より大きい場合(S75、 No)についても、ステップ S71に戻つ て前述の処理を繰り返す。
[0066] つまり、図 16に示すサーバによるジョブの再投入の判断では、サーバは図 10に示 すジョブ管理テーブルの先頭からレコードを読み込み、読み込んだレコードがジョブ 実行中のレコードであるならば、 CPU平均使用率が所定の閾値より小さいか否かを 調べ、 CPU平均使用率く閾値であるならば多重処理を開始する。また、 CPU平均 使用率く閾値が成立しない場合は次のレコードを調べる。このようにして最終レコー ドまで処理が完了したら、規定時間(例えば、 1分間)処理を中断して先頭のレコード から再び処理を開始する。
[0067] 次に、サーバが行う多重実行処理の流れについて説明する。図 17は、分散処理管 理装置(サーバ)が行う多重実行処理の流れを示すフローチャートである。図 17に示 す多重実行処理の流れでは、多重実行処理の開始時点において対象となるノード テープノレは既知となってレヽるものとする。
[0068] 図 17において、まず、サーバは、ノード名をキーにして図 10に示すようなジョブ管 理テーブルを検索する(S81)。次に、検索結果のジョブ管理テーブルのクラス名をキ 一にして、ジョブクラスを検索するための図 12に示すようなジョブクラステーブルから 、ジョブの優先順位、多重度、再投入限界値を求める(S82)。
[0069] 次に、ジョブの多重度分だけ、図 10に示すジョブ管理テーブルの各ジョブ情報から 以下の 4項目について計算を行う。なお、必要に応じて図 8のノードテーブルを検索 する。すなわち、ステップ S83において、サーバはジョブ管理テーブルに対して次の 4項目の計算を行う。
(1)予測最短処理時間 = Min (実行時間 X (100 -進涉率) /進涉率)
(2)平均全体処理量 = Ave (ノード処理能力 X CPU平均使用率 X (予測最短処理 時間 +実行時間))
(3)最大進涉率 = Max (進涉率)
(4)最小要求性能 = Min (平均全体処理量/予測最短処理時間)
[0070] なお、(4)項の最小要求性能とは、最短と予想された予測最短処理時間よりも早く 処理を完了するために必要となる最小の性能要求のことであって、能力値 X CPU平 均使用率を単位とする。
[0071] 次に、具体的な数値に基づいて上記の 4項について計算を行ってみる。例えば、 能力値 =0. 8、 CPU平均使用率 = 60%、処理時間 =4時間、進渉率 = 40%の場 合は、 ( 1 )予測最短処理時間 = 4 [時間] X (100-40)/40 = 6 [時間]
(2)平均全体処理量 =0· 8 X 60[%] X (6 + 4) = 480
(3)最大進涉率 =40[%]
(4)最小要求性能 = 480/6 = 80
[0072] つまり、能力値 = 1. 0、ローカル CPU使用率 = 20%以下(つまり、空きが 80%以 上)のノードが上記の値に該当する。なお、複数ジョブが投入されていれば、(1)の予 測最短処理時間は最小値を求め、 (2)の全体処理量は平均値を求め、(3)の進渉 率は最大値を求める。
[0073] 再び図 17のフローチャートに戻って、ステップ S83で計算した最大進渉率と図 12 に示すようなジョブクラステーブルの再投入限界値とを比較し、最大進渉率が再投入 限界値より小さくない場合は (最大進渉率く再投入限界値でない場合)は (S84、 No )、多重投入を行わずに多重実行処理を終了とする。
[0074] また、最大進涉率が再投入限界値より小さい場合においても(S84、 Yes)、多重度 の空き (すなわち、ジョブ管理テーブルの空き)を判定し、ジョブクラステーブルの多重 度を超えてしまう場合には(S85、 No)、多重投入を行わずに多重実行処理を終了 する。
[0075] 一方、ステップ S85で、多重度 (ジョブ管理テーブルの空き)を判定した結果、ジョブ クラステーブルの多重度を超えない場合には(S85、 Yes)、最小要求性能 <能力値 X (100—ローカル CPU使用率)となるような空き実行ノードを要求 (もしくは検索)する (S86)。
[0076] 次に、検索結果で該当する空きノードがあるか否かを判定し (S87)、条件に合う空 きノードが無い場合は(S87、 No)、 自ジョブ管理テーブル以外のジョブ管理テープ ルに対して、以下の 3つの条件全てを満足するジョブを検索する。なお、必要に応じ て、ノードテーブルやジョブクラステーブルも検索する(S88)。
[0077] すなわち、ジョブ管理テーブルの検索処理においては、
(1)現在実行中のジョブより優先度の低いジョブ
(2)ジョブ進渉率がキャンセル限界値より低いジョブ
(3)実行ノードの能力値 X CPU平均使用率が最小要求性能を上回るジョブ の 3つの条件全てを満足するジョブを検索する。
[0078] 次に、上記 3つの条件全てを満足する該当ジョブがあるか否かを判定し(S89)、該 当ジョブがなければ(S89、 No)、多重投入を行わずに多重実行処理を終了する。一 方、上記 3つの条件全てを満足する該当ジョブがあれば(S89、 Yes)、該当ジョブを キャンセルする(S90)。
[0079] また、ステップ S87の判定で条件に合う空きノードがある場合、または、ステップ S9 0で条件に合うノードが見つかった場合は、ジョブ管理テーブルの空き部分と実行依 頼するノードテーブルおよび多重実行のジョブクラステーブルを通知して、ジョブの投 入を行うか、またはジョブの投入を依頼する(S91)。
[0080] 次に、分散処理管理装置(サーバ)が行うジョブキャンセルの処理の流れにっレ、て 説明する。
[0081] 〈ノード側からのジョブキャンセル処理〉
図 18は、図 5に示す分散処理管理システムにおいてノード側からのジョブキャンセ ノレ処理の流れを示すフローチャートである。ノード側のキャンセル要求の処理にぉレ、 ては、ノード名およびジョブ名を付加してサーバ側へキャンセル要求の通知を行う(S 101)。ノード側は、サーバ側に対してこのようキャンセルの通知を一定の時間間隔ご とに行う(S102)。
[0082] 一方、サーバ側のキャンセル受付処理においては、サーバ側はノード側からのキヤ ンセル要求を受付けると、キャンセル情報の取得処理を行い(S103)、ノードテープ ルの CPU平均使用時間(使用率)、ローカル CPU使用時間(使用率)、進涉率、およ び状況をクリアする(S104)。さらに、ジョブ管理テーブルからノード名、ジョブ名に対 応するデータを削除する(S105)。但し、多重ジョブが投入されているノードでキャン セルが要求された場合は、ジョブ管理テーブルから削除するのは、キャンセルが要求 されたノードで実行されていたジョブのみであって、他のノードで実行されている多重 ジョブは削除されない。
[0083] つまり、ノード側からのジョブキャンセル処理においては、ノードは本来のユーザの 都合で分散処理プログラムを停止してユーザの占有使用状態に戻すことができる。こ のとき実行していた分散処理プログラムはキャンセルされる。また、サーバ側ではキヤ ンセル要求を受けてノードテーブル、ジョブ管理テーブルから対応するノード情報と ジョブ情報を消去する。なお、ノード側の一定時間の WAIT処理はサーバのキャンセ ル処理を確実に行うための待ち時間である。し力し、サーバ側がキャンセル要求に対 してキャンセル完了の応答を返す場合は、一定時間 WAIT処理は不用である。
[0084] 〈サーバ側からの終了およびジョブキャンセル処理〉
図 19は、図 5に示す分散処理管理システムにおいてサーバ側からの終了およびジ ヨブキャンセル処理の流れを示すフローチャートである。図 19において、ノード側の ジョブ終了ノードは、サーバ側に対してジョブ終了通知および結果転送を行うとき、ま ず、ジョブ終了でノード名、実行終了ジョブ名、および終了状況を終了メッセージとし てサーバ側へ送出する(S 111)。
[0085] すると、サーバ側の終了 'キャンセル処理では、ノード側からノード名、ジョブ名、お よび実行状態の取得処理を行い(S112)、ジョブは正常に終了したか否力、を判断す る(S113)。ここで、サーバ側がジョブは正常に終了したと判断すれば(S113、 Yes) 、さらに、多重処理のジョブがあるか否かを判断する(SI 14)。ここで、多重処理のジ ヨブがなければ(S 114、 No)、結果情報の取得処理を行い(S 115)、多重処理のジ ヨブがあれば(S 114、 Yes) ,同一ジョブ名の他のノードへキャンセル要求を送出した 後に(S 116)、結果情報の取得処理を行う(S 115)。
[0086] そして、サーバは、ノードテーブルに対応するノードの CPU平均使用時間(使用率 )、ローカル CPU使用時間(使用率)、進涉率、および状況をクリアする(S117)。さら に、ジョブ管理テーブルからノード名、ジョブ名の対応するノード情報を削除する(S1 18)。なお、ステップ S113で、サーバ側がジョブは正常に終了していないと判断すれ ば(S113、 No)、サーバは、直接、ノードテーブルに対応するノードの CPU平均使 用時間(使用率)、ローカル CPU使用時間(使用率)、進渉率、および状況をクリアし (S 117)。さらに、ジョブ管理テーブルからノード名およびジョブ名に対応するノード 情報を削除する(S118)。
[0087] 一方、ノード側の終了ノードは、ステップ S113で、サーバがジョブは正常に終了し ていないと判断した場合(S 113、 Noでキャンセルの場合)、およびサーバがジョブは 正常に終了したと判断した場合(S113、 Yesで転送要求を行った場合)は、サーバ 力 該当する応答要求を受け取る(S119)。
[0088] そして、ノード側は、サーバ側から取得した応答要求がキャンセル要求であるか否 力を判断し(S120)、応答要求がキャンセル要求ではない場合は(S120、 No)、サ ーバ側に対して結果情報の転送処理を行い(SI 21)、ジョブの終了処理を行う(S12 2)。また、応答要求がキャンセル要求である場合は(S 120、 Yes)、直ちに、ジョブの 終了処理を行う(S122)。
[0089] また、ノード側における多重実行でジョブ未終了ノードは、サーバからのキャンセル 受付処理において、ステップ S 116で同一ジョブ名の他のノードへキャンセル要求を 送出したときに(S116)、サーバからキャンセル要求を受け、サーバからの応答処理 を行う(S123)。そして、ノード側は、サーバから取得した応答要求がキャンセル要求 であるか否かを判断し(S 124)、応答要求がキャンセル要求ではなレ、場合は(S 124 、 No)、サーバ側に対して結果情報の転送処理を行い(S125)、ジョブの終了処理 を行う(S 126)。また、また、応答要求がキャンセル要求である場合は(S 124、 Yes) 、直ちに、ジョブの終了処理を行う(S 126)。
[0090] すなわち、サーバ側からの終了およびキャンセル処理においては、ジョブが終了し た場合は、ノードはサーバ側へ終了の情報を通知する。また、サーバは、そのジョブ が多重実行されていないかを確認して、終了したジョブのデータをノードから収集 (ノヽ 一べスト)する。一方、多重実行のジョブを処理している場合は、サーバは、他のノー ドを停止(ジョブキャンセル)させる。さらに、サーバ側の都合でジョブをキャンセルす る場合も、同様にして、同じジョブ名を持つ多重実行ジョブは同時にキャンセルされ、 その多重ジョブを実行していたノードも同時に開放される。
[0091] また、サーバが多重ジョブを投入するために優先度の低いジョブが投入されている ノードをキャンセルする場合も、サーバ力ものキャンセルに対して、ノードはサーバか らのキャンセル受付の処理を行レ、、自ノードを開放する。
[0092] 以上に説明した本発明の実施の形態において、適宜説明された各フローチャート の動作をコンピュータに実行させる分散処理管理プログラムとして、コンピュータによ り読取り可能な記録媒体に記憶させることによって、分散処理管理装置を構成するコ ンピュータに分散処理管理方法を実行させることが可能となる。なお、本発明におい て、上記コンピュータにより読取り可能な記録媒体は、 CD—ROMやフレキシブルデ イスク、 DVDディスク、光磁気ディスク、 ICカード等の可搬型記憶媒体や、コンビユー タプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータ ベースや、更に回線上の伝送媒体をも含むものである。
産業上の利用可能性
以上説明したように、本発明によれば、グリッド計算機環境のような個々の実行処理 計算機の処理能力が著しく異なり、また、時間的にも激しく変化する分散処理環境に おいても、各処理の実行から完了までの時間(TAT)を最小化でき、かつ、資源量や 処理の進行度によって、管理者が分散環境の特性を考慮して二重 (多重)実行の方 針を決定できる。そのため、全体の TATを改善すると共に計算機資源の有効な利用 が可能となる。

Claims

請求の範囲
[1] 複数のノードに接続されることができ、各ノードにジョブを投入することができると共 に該ジョブの実行管理を行うことができる分散処理管理装置であって、
第 1ジョブを投入した第 1ノードの第 1リソース関連情報を取得する第 1リソース関連 情報取得部と、
前記第 1ジョブを投入していない第 2ノードの第 2リソース関連情報を取得する第 2リ ソース関連情報取得部と、
前記第 1リソース関連情報取得部により取得された第 1リソース関連情報と、前記第 2リソース関連情報取得部により取得された第 2リソース関連情報とに基づいて、前記 第 1ノードに投入した前記第 1ジョブを前記第 2ノードに投入するか否かについての 判断を行うジョブ再投入判断部と
を備えてなる分散処理管理装置。
[2] 請求項 1に記載の分散処理管理装置にぉレ、て、
前記ジョブ再投入判断部は、前記第 1ジョブの投入を肯定する判断において、前記 第 1リソース関連情報に基づいて、前記第 1ノードの前記第 1ジョブの実行に対する C PU使用率が所定の閾値を下回る場合を判断することを特徴とする分散処理管理装 置。
[3] 請求項 1に記載の分散処理管理装置にぉレ、て、
前記ジョブ再投入判断部は、前記第 1ジョブの投入を肯定する判断において、前記 第 1リソース関連情報に基づいて、前記第 1ノードの前記第 1ジョブの進渉率が再投 入限界値を越えてレ、なレ、場合を判断することを特徴とする分散処理管理装置。
[4] 請求項 1に記載の分散処理管理装置にぉレ、て、
前記ジョブ再投入判断部は、前記第 1ジョブの投入の判断において、前記第 2リソ ース関連情報に基づいて、前記第 1ジョブの実行に要求される所定の性能を有する ノードであって、投入された第 2ジョブを実行していない空きノードである第 2ノードの 有無を判断することを特徴とする分散処理管理装置。
[5] 請求項 1に記載の分散処理管理装置にぉレ、て、
前記ジョブ再投入判断部は、前記第 1ジョブの投入の判断において、前記第 2リソ ース関連情報に基づレ、て、該第 2ノードで実行されてレ、る第 2ジョブをキャンセルして 第 1ジョブを投入するための所定の条件を判断することを特徴とする分散処理管理装 置。
[6] 請求項 5に記載の分散処理管理装置において、
前記所定の条件についての判断は、前記第 2リソース関連情報に基づいて、前記 第 1ジョブの実行に要求される所定の性能を有するノードであって、投入された第 2ジ ヨブを実行してレ、なレ、空きノードである第 2ノードがないと判断した場合に行われるこ とを特徴とする分散処理管理装置。
[7] 請求項 5に記載の分散処理管理装置において、
前記所定の条件として、前記第 2ジョブに与えられた優先度が前記第 1ジョブに与 えられた優先度より低い場合、前記第 2ジョブの前記第 2ノードにおける進渉率が所 定のキャンセル限界値よりも低い場合、前記第 2ノードが前記第 1ジョブの実行に要 求される所定の性能を満たす場合のうち、少なくともいずれか一つを条件とすることを 特徴とする分散処理管理装置。
[8] 複数のノードにおける各ノードにジョブを投入するとともに該ジョブの実行管理を行 う分散処理管理方法であって、
第 1ジョブを投入した第 1ノードの第 1リソース関連情報を取得する第 1リソース関連 情報取得ステップと、
前記第 1ジョブを投入していない第 2ノードの第 2リソース関連情報を取得する第 2リ ソース関連情報取得ステップと、
前記第 1リソース関連情報取得ステップにより取得された前記第 1リソース関連情報 と、前記第 2リソース関連情報取得ステップにより取得された前記第 2リソース関連情 報とに基づいて、前記第 1ノードに投入した前記第 1ジョブを前記第 2ノードに投入す るか否かについての判断を行うジョブ再投入判断ステップと
を備えてなる分散処理管理方法。
[9] 請求項 8に記載の分散処理管理方法において、
前記ジョブ再投入判断ステップは、前記第 1ジョブの投入を肯定する判断において 、前記第 1リソース関連情報に基づいて、前記第 1ノードの前記第 1ジョブの実行に対 する CPU使用率が所定の閾値を下回る場合を判断することを特徴とする分散処理 管理方法。
[10] 請求項 8に記載の分散処理管理方法において、
前記ジョブ再投入判断ステップは、前記第 1ジョブの投入を肯定する判断において 、前記第 1リソース関連情報に基づいて、前記第 1ノードの前記第 1ジョブの進渉率が 再投入限界値を越えてレ、なレ、場合を判断することを特徴とする分散処理管理方法。
[11] 請求項 8に記載の分散処理管理方法において、
前記ジョブ再投入判断ステップは、前記第 1ジョブの投入の判断において、前記第 2リソース関連情報に基づいて、前記第 1ジョブの実行に要求される所定の性能を有 するノードであって、投入された第 2ジョブを実行していない空きノードである第 2ノー ドの有無を判断することを特徴とする分散処理管理方法。
[12] 請求項 8に記載の分散処理管理方法において、
前記ジョブ再投入判断ステップは、前記第 1ジョブの投入の判断において、前記第 2リソース関連情報に基づレ、て、該第 2ノードで実行されてレ、る第 2ジョブをキャンセ ルして第 1ジョブを投入するための所定の条件を判断することを特徴とする分散処理 管理方法。
[13] 請求項 12に記載の分散処理管理方法において、
前記所定の条件として、前記第 2ジョブに与えられた優先度が前記第 1ジョブに与 えられた優先度より低い場合、前記第 2ジョブの前記第 2ノードにおける進涉率が所 定のキャンセル限界値よりも低い場合、前記第 2ノードが前記第 1ジョブの実行に要 求される所定の性能を満たす場合のうち、少なくともいずれか一つに該当することを 条件とすることを特徴とする分散処理管理方法。
[14] 複数のノードにおける各ノードにジョブを投入するとともに該ジョブの実行管理を行 うことをコンピュータに実行させる分散処理管理プログラムであって、
第 1ジョブを投入した第 1ノードの第 1リソース関連情報を取得する第 1リソース関連 情報取得ステップと、
前記第 1ジョブを投入していない第 2ノードの第 2リソース関連情報を取得する第 2リ ソース関連情報取得ステップと、 前記第 1リソース関連情報取得ステップにより取得された前記第 1リソース関連情報 と、前記第 2リソース関連情報取得ステップにより取得された前記第 2リソース関連情 報とに基づいて、前記第 1ノードに投入した前記第 1ジョブを前記第 2ノードに投入す るか否かについての判断を行うジョブ再投入判断ステップと
をコンピュータに実行させる分散処理管理プログラム。
[15] 請求項 14に記載の分散処理管理プログラムにおレ、て、
前記ジョブ再投入判断ステップは、前記第 1ジョブの投入を肯定する判断において 、前記第 1リソース関連情報に基づいて、前記第 1ノードの前記第 1ジョブの実行に対 する CPU使用率が所定の閾値を下回る場合を判断することを特徴とする分散処理 管理プログラム。
[16] 請求項 14に記載の分散処理管理プログラムにおレ、て、
前記ジョブ再投入判断ステップは、前記第 1ジョブの投入を肯定する判断において 、前記第 1リソース関連情報に基づいて、前記第 1ノードの前記第 1ジョブの進涉率が 再投入限界値を越えてレ、なレ、場合を判断することを特徴とする分散処理管理プログ ラム。
[17] 請求項 14に記載の分散処理管理プログラムにおレ、て、
前記ジョブ再投入判断ステップは、前記第 1ジョブの投入の判断において、前記第 2リソース関連情報に基づいて、前記第 1ジョブの実行に要求される所定の性能を有 するノードであって、投入された第 2ジョブを実行していない空きノードである第 2ノー ドの有無を判断することを特徴とする分散処理管理プログラム。
[18] 請求項 14に記載の分散処理管理プログラムにおレ、て、
前記ジョブ再投入判断ステップは、前記第 1ジョブの投入の判断において、前記第 2リソース関連情報に基づレ、て、該第 2ノードで実行されてレ、る第 2ジョブをキャンセ ルして第 1ジョブを投入するための所定の条件を判断することを特徴とする分散処理 管理プログラム。
[19] 請求項 18に記載の分散処理管理プログラムにおいて、
前記所定の条件についての判断は、前記第 2リソース関連情報に基づいて、前記 第 1ジョブの実行に要求される所定の性能を有するノードであって、投入された第 2ジ ヨブを実行してレ、なレ、空きノードである第 2ノードがないと判断した場合に行われるこ とを特徴とする分散処理管理プログラム。
請求項 18に記載の分散処理管理プログラムにおいて、
前記所定の条件として、前記第 2ジョブに与えられた優先度が前記第 1ジョブに与 えられた優先度より低い場合、前記第 2ジョブの前記第 2ノードにおける進渉率が所 定のキャンセル限界値よりも低い場合、前記第 2ノードが前記第 1ジョブの実行に要 求される所定の性能を満たす場合のうち、少なくともいずれか一つに該当することを 条件とすることを特徴とする分散処理管理プログラム。
PCT/JP2005/005129 2005-03-22 2005-03-22 分散処理管理装置、分散処理管理方法、分散処理管理プログラム WO2006100752A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/JP2005/005129 WO2006100752A1 (ja) 2005-03-22 2005-03-22 分散処理管理装置、分散処理管理方法、分散処理管理プログラム
JP2007509106A JPWO2006100752A1 (ja) 2005-03-22 2005-03-22 分散処理管理装置、分散処理管理方法、分散処理管理プログラム
EP05727079A EP1862904A4 (en) 2005-03-22 2005-03-22 DISTRIBUTED PROCESS MANAGEMENT DEVICE, DISTRIBUTED PROCESS MANAGEMENT METHOD, AND DISTRIBUTED PROCESS MANAGEMENT PROGRAM
US11/858,370 US20080016508A1 (en) 2005-03-22 2007-09-20 Distributed processing management apparatus, distributed processing management method and distributed processing management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2005/005129 WO2006100752A1 (ja) 2005-03-22 2005-03-22 分散処理管理装置、分散処理管理方法、分散処理管理プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/858,370 Continuation US20080016508A1 (en) 2005-03-22 2007-09-20 Distributed processing management apparatus, distributed processing management method and distributed processing management program

Publications (1)

Publication Number Publication Date
WO2006100752A1 true WO2006100752A1 (ja) 2006-09-28

Family

ID=37023449

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/005129 WO2006100752A1 (ja) 2005-03-22 2005-03-22 分散処理管理装置、分散処理管理方法、分散処理管理プログラム

Country Status (4)

Country Link
US (1) US20080016508A1 (ja)
EP (1) EP1862904A4 (ja)
JP (1) JPWO2006100752A1 (ja)
WO (1) WO2006100752A1 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008152618A (ja) * 2006-12-19 2008-07-03 Fujitsu Ltd ジョブ割当プログラム、方法及び装置
JP2008234632A (ja) * 2007-03-16 2008-10-02 Sap Ag クライアント・サーバ又はホスティング環境における計算ジョブの多目的配分
JP2009223689A (ja) * 2008-03-17 2009-10-01 Internatl Business Mach Corp <Ibm> タスク数制御装置、タスク数制御方法、及びコンピュータプログラム
JP2011253337A (ja) * 2010-06-02 2011-12-15 Canon Inc クラウドコンピューティングシステム、文書処理方法、及びコンピュータプログラム
JP2012064249A (ja) * 2012-01-04 2012-03-29 Fujitsu Ltd ジョブ割当プログラム、方法及び装置
JP2014109800A (ja) * 2012-11-30 2014-06-12 Fujitsu Ltd 分散処理方法、情報処理装置、及びプログラム
JP2015011716A (ja) * 2013-06-27 2015-01-19 タタ・コンサルタンシー・サーヴィシズ・リミテッド グリッドコンピューティングシステムの遊休リソースによるタスク実行
JP2015022729A (ja) * 2013-07-23 2015-02-02 富士通株式会社 計測方法、計測プログラム、携帯情報端末、及びその制御方法
JP2016189101A (ja) * 2015-03-30 2016-11-04 鉄道情報システム株式会社 バッチ処理システム、バッチ処理方法、バッチ処理プログラムおよびバッチ処理プログラムが記憶されたコンピュータで読み取り可能な記憶媒体
US10599472B2 (en) 2017-03-15 2020-03-24 Fujitsu Limited Information processing apparatus, stage-out processing method and recording medium recording job management program

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4308241B2 (ja) 2006-11-10 2009-08-05 インターナショナル・ビジネス・マシーンズ・コーポレーション ジョブ実行方法、ジョブ実行システム及びジョブ実行プログラム
US8346995B2 (en) * 2008-09-30 2013-01-01 Microsoft Corporation Balancing usage of hardware devices among clients
US8479214B2 (en) * 2008-09-30 2013-07-02 Microsoft Corporation Hardware throughput saturation detection
US8245229B2 (en) * 2008-09-30 2012-08-14 Microsoft Corporation Temporal batching of I/O jobs
US8307368B2 (en) * 2009-05-26 2012-11-06 Microsoft Corporation Locality-based scheduling in continuation-based runtimes
US10013277B2 (en) * 2009-05-29 2018-07-03 Red Hat, Inc. Rolling back state changes in distributed transactions
JP2011123817A (ja) * 2009-12-14 2011-06-23 Fujitsu Ltd ジョブ振分装置、ジョブ振分プログラム及びジョブ振分方法
EP2450792B1 (en) * 2010-10-22 2020-01-15 Orange Method for allowing distributed running of an application and related pre-processing unit
EP2450794B1 (en) 2010-10-22 2018-08-29 Orange Method for allowing distributed running of an application and related device and inference engine
US8868855B2 (en) * 2011-02-28 2014-10-21 Hewlett-Packard Development Company, L.P. Request management system and method for dynamically managing prioritized requests
US8984125B2 (en) * 2012-08-16 2015-03-17 Fujitsu Limited Computer program, method, and information processing apparatus for analyzing performance of computer system
US10684889B2 (en) * 2013-01-31 2020-06-16 Red Hat, Inc. Systems, methods, and computer program products for scheduling processing jobs to run in a computer system
KR102326945B1 (ko) 2014-03-14 2021-11-16 삼성전자 주식회사 태스크 마이그레이션 방법 및 장치
CN105988872B (zh) * 2015-02-03 2020-02-18 阿里巴巴集团控股有限公司 一种cpu资源分配的方法、装置及电子设备
US10540202B1 (en) * 2017-09-28 2020-01-21 EMC IP Holding Company LLC Transient sharing of available SAN compute capability
US11550775B2 (en) * 2019-09-25 2023-01-10 Red Hat, Inc. Time-to-run column for database management systems

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175485A (ja) * 1997-12-16 1999-07-02 Toshiba Corp 分散システムおよび並列演算制御方法
JP2001344199A (ja) * 2000-06-02 2001-12-14 Nec Corp 分散型処理システム及び方法並びに記録媒体
JP2002269060A (ja) * 2001-03-14 2002-09-20 Japan Research Institute Ltd 分散処理方法、分散処理コンピュータシステムおよびコンピュータプログラム
JP2002269394A (ja) * 2001-03-14 2002-09-20 Sony Corp 分散処理仲介システムおよび方法
JP2004062603A (ja) * 2002-07-30 2004-02-26 Dainippon Printing Co Ltd 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414845A (en) * 1992-06-26 1995-05-09 International Business Machines Corporation Network-based computer system with improved network scheduling system
US6041306A (en) * 1996-12-05 2000-03-21 Hewlett-Packard Company System and method for performing flexible workflow process execution in a distributed workflow management system
US6938256B2 (en) * 2000-01-18 2005-08-30 Galactic Computing Corporation System for balance distribution of requests across multiple servers using dynamic metrics
US7590984B2 (en) * 2003-05-29 2009-09-15 International Business Machines Corporation System and method for balancing a computing load among computing resources in a distributed computing problem

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175485A (ja) * 1997-12-16 1999-07-02 Toshiba Corp 分散システムおよび並列演算制御方法
JP2001344199A (ja) * 2000-06-02 2001-12-14 Nec Corp 分散型処理システム及び方法並びに記録媒体
JP2002269060A (ja) * 2001-03-14 2002-09-20 Japan Research Institute Ltd 分散処理方法、分散処理コンピュータシステムおよびコンピュータプログラム
JP2002269394A (ja) * 2001-03-14 2002-09-20 Sony Corp 分散処理仲介システムおよび方法
JP2004062603A (ja) * 2002-07-30 2004-02-26 Dainippon Printing Co Ltd 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ABRAMSON S. ET AL.: "High Performance Parametric Modeling with Nimrod/G: Killer Application for the Global Grid?", PROCEEDINGS OF THE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS 2000), 2000, pages 520 - 528, XP002990142 *
See also references of EP1862904A4 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8510742B2 (en) 2006-12-19 2013-08-13 Fujitsu Limited Job allocation program for allocating jobs to each computer without intensively managing load state of each computer
JP2008152618A (ja) * 2006-12-19 2008-07-03 Fujitsu Ltd ジョブ割当プログラム、方法及び装置
JP2008234632A (ja) * 2007-03-16 2008-10-02 Sap Ag クライアント・サーバ又はホスティング環境における計算ジョブの多目的配分
US8205205B2 (en) 2007-03-16 2012-06-19 Sap Ag Multi-objective allocation of computational jobs in client-server or hosting environments
JP2009223689A (ja) * 2008-03-17 2009-10-01 Internatl Business Mach Corp <Ibm> タスク数制御装置、タスク数制御方法、及びコンピュータプログラム
US8555290B2 (en) 2008-03-17 2013-10-08 International Business Machines Corporation Apparatus and method for dynamic control of the number of simultaneously executing tasks based on throughput
JP2011253337A (ja) * 2010-06-02 2011-12-15 Canon Inc クラウドコンピューティングシステム、文書処理方法、及びコンピュータプログラム
JP2012064249A (ja) * 2012-01-04 2012-03-29 Fujitsu Ltd ジョブ割当プログラム、方法及び装置
JP2014109800A (ja) * 2012-11-30 2014-06-12 Fujitsu Ltd 分散処理方法、情報処理装置、及びプログラム
JP2015011716A (ja) * 2013-06-27 2015-01-19 タタ・コンサルタンシー・サーヴィシズ・リミテッド グリッドコンピューティングシステムの遊休リソースによるタスク実行
JP2015022729A (ja) * 2013-07-23 2015-02-02 富士通株式会社 計測方法、計測プログラム、携帯情報端末、及びその制御方法
JP2016189101A (ja) * 2015-03-30 2016-11-04 鉄道情報システム株式会社 バッチ処理システム、バッチ処理方法、バッチ処理プログラムおよびバッチ処理プログラムが記憶されたコンピュータで読み取り可能な記憶媒体
US10599472B2 (en) 2017-03-15 2020-03-24 Fujitsu Limited Information processing apparatus, stage-out processing method and recording medium recording job management program

Also Published As

Publication number Publication date
EP1862904A4 (en) 2009-06-03
JPWO2006100752A1 (ja) 2008-08-28
EP1862904A1 (en) 2007-12-05
US20080016508A1 (en) 2008-01-17

Similar Documents

Publication Publication Date Title
WO2006100752A1 (ja) 分散処理管理装置、分散処理管理方法、分散処理管理プログラム
CN101014036B (zh) 用于节点簇的分散应用程序资源分配的方法与系统
Balasangameshwara et al. A hybrid policy for fault tolerant load balancing in grid computing environments
JP4374378B2 (ja) 運用実績評価装置、運用実績評価方法、およびプログラム
JP4428483B2 (ja) 情報処理装置、制御方法、プログラム及び記録媒体
US7810099B2 (en) Optimizing workflow execution against a heterogeneous grid computing topology
KR101781063B1 (ko) 동적 자원 관리를 위한 2단계 자원 관리 방법 및 장치
US8140791B1 (en) Techniques for backing up distributed data
Elmroth et al. A grid resource broker supporting advance reservations and benchmark-based resource selection
US20080229320A1 (en) Method, an apparatus and a system for controlling of parallel execution of services
JP4992408B2 (ja) ジョブ割当プログラム、方法及び装置
JP2012094030A (ja) 計算機システム及び処理制御方法
WO2007023726A1 (ja) 情報処理システム
JP2005056391A (ja) コンピューティング環境の作業負荷を均衡させる方法およびシステム
JP2007041720A (ja) ジョブステップ実行プログラムおよびジョブステップ実行方法
Prakash et al. An optimal job scheduling in grid using cuckoo algorithm
US11438271B2 (en) Method, electronic device and computer program product of load balancing
Rodero et al. eNANOS grid resource broker
JPWO2005116832A1 (ja) 分散処理環境におけるジョブの実行を制御するためのコンピュータシステム、方法及びプログラム
Qureshi et al. Grid resource allocation for real-time data-intensive tasks
JP2007328413A (ja) 負荷分散方法
JP2006107197A (ja) メモリ制御方法およびプログラムならびに端末装置
JPH1185707A (ja) 並列計算機におけるジョブ投入計算機の選択方法及び装置
CN115220908A (zh) 资源调度方法、装置、电子设备及存储介质
JP5045576B2 (ja) マルチプロセッサシステム及びプログラム実行方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2007509106

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2005727079

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11858370

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

WWW Wipo information: withdrawn in national office

Country of ref document: RU

WWP Wipo information: published in national office

Ref document number: 2005727079

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 11858370

Country of ref document: US