WO2004088518A1 - Cpu使用時間カウント方法及びこのcpu使用時間を用いるジョブ制御装置 - Google Patents

Cpu使用時間カウント方法及びこのcpu使用時間を用いるジョブ制御装置 Download PDF

Info

Publication number
WO2004088518A1
WO2004088518A1 PCT/JP2003/004087 JP0304087W WO2004088518A1 WO 2004088518 A1 WO2004088518 A1 WO 2004088518A1 JP 0304087 W JP0304087 W JP 0304087W WO 2004088518 A1 WO2004088518 A1 WO 2004088518A1
Authority
WO
WIPO (PCT)
Prior art keywords
time
cpu
job
usage time
cpu usage
Prior art date
Application number
PCT/JP2003/004087
Other languages
English (en)
French (fr)
Inventor
Susumu Takatsu
Katsumi Yazawa
Naoki Sueyasu
Masayuki Kogure
Satoki Shibayama
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/JP2003/004087 priority Critical patent/WO2004088518A1/ja
Priority to JP2004570162A priority patent/JP3998686B2/ja
Priority to EP03715655A priority patent/EP1555613A4/en
Publication of WO2004088518A1 publication Critical patent/WO2004088518A1/ja
Priority to US11/084,142 priority patent/US8484643B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • G06F11/3423Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time where the assessed time is active or idle time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Definitions

  • the present invention relates to a method for counting a CPU usage time and a job control device using the CPU usage time.
  • the present invention relates to a CPU usage time counting method and a job control device using the CPU usage time, and in particular, the actual usage time of each CPU when large-scale application processing is distributed to a large number of processors (CPUs). And a job control device using the CPU usage time.
  • Parallel processing is an attempt to divide the processing into a number of computers and processors to speed up the entire processing.
  • this type consists of multiple processors 1 with the same function (shown as CPU in the figure) 1 and this CPU 1 connected via an integrated network 2 It consists of three memory spaces (common memory, hereinafter simply called memory). All CPUs 1 can access the same data.
  • CPU 1 normally has Shmemori 4 is provided.
  • each CPU 1 connects to distributed local memories 3A to 3N (A to N are arbitrary natural numbers) via an integrated network 2. It was done.
  • the local memories 3A to 3N can be logically referred to as a shared memory. In this example, the illustration of the cache memory in the CPU 1 is omitted.
  • FIG. 1C This type is, as shown in FIG. 1C, a form in which a plurality of system elements 4 including a CPU 1 and a memory 3 are connected by a connection network 2. Access to data in the memory 3 of the different system elements 4 is realized by communication via the integrated network 2. Also in this example, the illustration of the cache memory in the CPU 1 is omitted.
  • the high-end computer (distributed parallel computer system) 10 in the science and technology field consists of a large number of CPUs (tens to thousands of CPUs) and a huge memory (logical / physical).
  • Fig. 2 shows an example of a job execution environment in such a high-end computer.
  • a plurality of parallel computer systems 5 are connected in parallel by an integrated network 5, and each parallel computer system 5 has a CPU 1 and a memory 3.
  • a disk device 7 such as a hard disk device, a magnetic disk device, and an optical disk device is connected to the integrated network 5. Actual data and programs are stored in the disk device 7.
  • the server 8 determines the parallel computer system 6 to execute the job.
  • This job 6 has one parallel combination It may be executed in the user system 5, or may be executed across a plurality of parallel combination user systems 5.
  • the high-end computer 10 has an environment in which jobs of various sizes are mixed and executed. ' ⁇
  • the end time is predicted from the current processing amount of a certain job, and this job is given priority over other jobs. In this way, the expected end time of this job is brought closer to the desired end time.
  • a method has been adopted in which the end time is estimated in consideration of fluctuations in the load on the computer system such as the amount of data input / output in addition to the CPU usage time.
  • the end time is estimated in consideration of fluctuations in the load on the computer system such as the amount of data input / output in addition to the CPU usage time.
  • the CPU usage time represents the performance of a single job ideally executed, when estimating the CPU performance in an environment where multiple jobs are executed, the CPU usage time of the actual job (charging time) ) And the time that the CPU is used for a job that is not added to the billing time, and the total CPU usage time of each job is calculated for prediction. No. 1).
  • this estimation method is based on the total CPU usage time obtained by adding the CPU usage time used by the system daemon for the service performed for job execution to the job CPU usage time. Predict performance It was a system that
  • the CPU usage time of the job itself depends on the environment. Because it was constant (ideal) even below, there was a gap in the prediction when predicting the end time of a job or when predicting the CPU performance in an environment where multiple jobs are executed. The cause of the occurrence of the predicted deviation will be described below. In principle, if the same program is executed multiple times, or if multiple jobs are executed at the same time, the time from the start to the end of the processing will be "Elapsed time fluctuates every time.” The time is constant each time.
  • the CPU's memory access for jobs to be processed in the future The performance will be different. Furthermore, when multiple jobs or parallel jobs are executed by sharing memory, depending on the memory access load status of each job, Since the memory access wait time varies due to the memory contention of a certain job, the CPU usage time fluctuates every rotation.
  • an object of the present invention is to solve the above-described problem by compensating for the difference in the CPU usage time due to the different memory access performance each time the job is executed, thereby reducing the actual CPU usage time. Calculates as the correction CPU time, and the same correction is performed every time if processing is the same program
  • the CPU usage time can be calculated, and the end time of a certain job can be accurately predicted.
  • the CPU performance in an environment where multiple jobs are executed can be predicted. It is an object of the present invention to provide a CPU usage time saving method capable of providing a stable service with respect to charging, and a job control device using the CPU usage time.
  • a CPU usage time counting method is a method of counting the actual usage time of each CPU in a computer system that performs distributed processing of jobs by using a plurality of computers. Counts the CPU usage time used for a job, counts the calculation wait time for each CPU's memory access each time each job is executed, and calculates the calculation wait time for each CPU's memory access from the CPU usage time for each job. Correction C calculated by subtracting time The feature is that the PU use time is set as the actual CPu use time.
  • This CPU usage time is the time obtained by the function provided in the basic software of the computer system that counts the time used by the job.
  • the CPU calculation wait time is calculated based on the memory access performance value. This is the time obtained by subtracting the memory access time of the relevant job, which is the fastest in the hardware design of the computer system, from the memory access time of the relevant job calculated using the hardware monitor to be counted.
  • the calculated corrected CPU usage time may be compared with the CPU usage time limit value, and when the corrected CPU usage time is equal to or greater than the CPU usage time limit value, the corresponding job may be terminated.
  • the display output of the corrected CPU usage time and the record output may be output according to a request from the job.
  • the job control apparatus using the CPU usage time of the present invention counts the actual usage time of each CPU in a computer system that performs distributed processing of jobs using a plurality of computers.
  • a job control device that controls a job according to the actual usage time, and a counting means for counting a calculation waiting time due to a memory access wait of each CPU every time the job is executed, and a CPU for each job.
  • a corrected CPU usage time calculation unit that calculates the corrected CPU usage time by subtracting the calculation waiting time due to the memory access wait of each CPU from the usage time, and a job that controls the job using the corrected CPU usage time It is characterized by comprising control means.
  • the actual CPU usage time is calculated.
  • the same CPU usage time can be calculated every time by calculation, and the end time of a certain job can be accurately predicted, and the CPU performance in an environment where multiple jobs are executed is predicted. It is possible to provide a stable service for charging for CPU usage time.
  • FIG. 1A is a block diagram showing the configuration of a conventional centralized memory type parallel processing computer.
  • FIG. 1B is a block diagram showing the configuration of a conventional parallel processing computer of a distributed shared memory type.
  • FIG. 1C is a block diagram showing the configuration of a conventional distributed memory type parallel processing computer.
  • FIG. 2 is a diagram illustrating a job execution environment in a distributed parallel computer system to which the CPU usage time management method of the present invention is applied.
  • FIG. 3A is a block diagram showing an example of the configuration of a distributed parallel computer system to which the CPU usage time counting method of the present invention is applied.
  • FIG. 3B is a block diagram illustrating functions of the job management mechanism of FIG. 3A.
  • FIG. 4 is a flowchart for explaining the first embodiment of the CPU usage time counting operation of the job management mechanism shown in FIG. 3A.
  • FIG. 5 is a flowchart for explaining a second embodiment of the CPU usage time counting operation of the job management mechanism shown in FIG.
  • Fig. 6 shows the CPU usage time counting operation of the job management mechanism shown in Fig. 3.
  • 15 is a flowchart illustrating a third example of the work.
  • FIG. 7 is a diagram showing a comparison between the corrected CPU usage time according to the method of the present invention and the CPU usage time according to the conventional method.
  • FIG. 8 is a flowchart for explaining a fourth embodiment of the CPU use time counting operation of the job management mechanism when one job is performed by two CPUs.
  • FIG. 9 shows C P when one job is performed by two C P U
  • FIG. 3A is a block diagram showing an example of the configuration of a distributed parallel computer system 10 to which the CPU usage time saving method of the present invention is applied.
  • a distributed parallel computer system 10 a plurality of parallel computer systems 5 are connected via the integrated network 2.
  • the integrated network 5 data and programs can generally be retained even when the power is turned off.
  • a disk device 7 such as a hard disk device is connected.
  • FIG. 3A shows only the internal configuration of one of the parallel computer systems 5.
  • a plurality of CPUs 1 each having the cache memory 4 are provided in parallel.
  • the plurality of CPUs 1 are connected to a memory (shared memory) 3 connected to an integrated network 2, and each CPU 1 loads data stored in the memory 3 into a respective cache memory 4 and performs an operation.
  • the operation of each CPU 1 is monitored by CPu operation monitoring means (hardware module) 11.
  • the parallel computer system 5 is provided with a jop management mechanism 20 including a CPU usage time counting means 21, a correction CPU usage time counting means 22, and a CPU time management structure. (Memory) There are 23.
  • the CPU time management structure 23 includes an area 24 for storing the CPU usage time, an area 25 for storing the corrected CPU usage time, and a CPU usage time limit value (in the figure, the CPU usage time limit value). There is an area 26 for storing the time limit value.
  • the limit value of the CPU usage time is set by each user. Further, the CPU time management structure 23 can be provided by using a part of the memory 3.
  • the CPU usage time counting means 21 counts the usage time of each CPU (including the operation waiting time due to memory access) by accessing the CPU operation monitoring means 11, and counts this count value. It is stored in the CPU usage time storage area 24 of the time management structure 23.
  • the corrected CPU usage time counting means 22 counts the operation waiting time due to the memory access of each CPU by accessing the CPU operation monitoring means 11 and is counted by the CPU usage time counting means 21. The above-mentioned calculation waiting time of each CPU is subtracted from the usage time of each CPU, and the corrected CPU usage time that each CPU 1 actually operates for the calculation is calculated.
  • the correction CPU usage time counting means 22 stores the calculated correction CPU usage time in the correction CPU usage time storage area 25 of the CPU time management structure 23.
  • the corrected CPU time display / record output creation means 12 is connected to the job management mechanism 20.
  • the corrected CPU time display / recording output creation means 1 2 is used to display the corrected CPU usage time data stored in the corrected CPU usage time storage area 25 of the CPU time management structure 23. It is output to a display device or a recording device that does not.
  • FIG. 3B is a block diagram for explaining the function of the job management mechanism 20 of FIG. 3A.
  • the job management mechanism 20 has a function to receive a job, start and execute the job, and a function to calculate the actual CPU usage time using the input CPU usage time data by the CPU time correction program.
  • a function of notifying a jop of current data such as CPU usage time, corrected CPU usage time, and CPU time limit value when a job request is made, using a job interface program for a consumption correction value; and
  • the data of the CPU usage time, the corrected CPU usage time, and the CPU time limit value can be managed by software using the CPU time management function.
  • a deviation occurring in the CPU usage time is corrected according to the waiting time of the CPU, and in the case of the same program, the corrected CPU usage time becomes the same CPU usage time every time. Is calculated.
  • Compensated CPU usage time CPU usage time CPU execution time that differs for each execution
  • the corrected CPU usage time can be calculated by the following equation.
  • Corrected CPU usage time (3)-((1)-(2))
  • the corrected CPU usage time obtained by this calculation is the calculation waiting time for memory access even if the CPU's memory access time fluctuates. This is the fixed CPU usage time for a job that has been corrected, and the same corrected CPU usage time can be calculated each time even if the same program is executed multiple times in various situations.
  • step 401 it is determined whether or not the process operating on the CPU has been switched.
  • a process is the smallest execution unit of a job. If there is a switch, the process proceeds to step 403, but if there is no switch, the process proceeds to step 402 and it is determined whether or not a predetermined time has elapsed since the process started. If the fixed time has elapsed, the process proceeds to step 403, but if the fixed time has not elapsed, the process returns to step 410. If it is determined in step 402 'that the predetermined time has elapsed, it means that the job has exceeded the limit before the process is switched.
  • step 403 it is determined whether or not the currently operating process is a job process. Processes include system services in addition to job processes. If the running process is not a job process, the process returns to step 401, but if the running process is a job process, the process targeted by the job management mechanism 20 described in FIG. 3A is executed. Therefore, the process proceeds to step 404.
  • step 400 the time ⁇ during which the process has been operating is calculated.
  • the time this process has been running is the time from when this process starts running on the CPU until it switches to another process running on this CPU. Therefore, this time includes the operation waiting time of the CPU.
  • the control proceeds to step 405, where the CPU time management structure 23 of the corresponding job stores the CPU usage time in the storage area (in FIG. 4, simply described as CPU usage time) 24.
  • the calculated time is added.
  • the operation up to this point is the process of calculating the CPU usage time in a conventional computer system.
  • the calculated time a is added to the CPU usage time storage area 24 of the CPU time management structure 23 of the job in this way, in the following step 406, it will be described with reference to FIG. 3B.
  • the memory access performance ⁇ of the corresponding process that is, the memory access time ⁇ including the calculation waiting time of the CPU of the corresponding job, and the fastest memory access time in the computer system are calculated by the CPU time correction program.
  • the fastest memory access time (3) is the memory access time when the CPU has no operation waiting time.
  • the CPU time management structure 23 shown in FIG. 3A stores the same time as that of the conventional CPU in the CPU usage time storage area 24, and the corrected CPU usage The true CPU usage time captured in the time storage area 25 is stored as the corrected CPU usage time.
  • FIG. 5 is a flowchart showing a second embodiment of the CPU usage time counting operation for calculating the corrected CPU usage time by the job management mechanism 20 shown in FIG. 3A. This is a modification of the time counting operation.
  • the only difference between the CPU usage time counting operation shown in FIG. 5 and the CPU usage time counting operation described with reference to FIG. 4 is the processing after step 407. Therefore, the description of the processing from step 401 to step 407 is omitted, and the flowchart described in FIG. Only the parts different from the yat will be described.
  • the time M stored in the corrected CPU usage time storage area 24 of the CPU time management structure 23 3.
  • Storage area for CPU usage time limit value (shown as CPU time limit value in the figure) 26 Determines whether or not the value has exceeded the limit value stored in 6. This limit is set by the user.
  • step 501 If the judgment in step 501 is (M ⁇ CPU time limit value), the flow advances to step 503 to forcibly end the job and end this routine. On the other hand, if the determination in step 501 is (M ⁇ CPU time limit value), the flow advances to step 502 to determine whether or not the job has been completed. Then, if the job has not ended, the process returns to step 401, and if the job has ended, this routine ends.
  • the job is forcibly terminated when the added value M of the corrected CPU usage time A exceeds the limit value of the CPU usage time.
  • the operation of forcibly terminating the job is the operation of the job control device using the corrected CPU usage time.
  • FIG. 6 is a flowchart showing a third embodiment of the CPU usage time counting operation for calculating the corrected CPU usage time by the job management mechanism 20 shown in FIG. 3A.
  • Time cow This is a modified example of the event operation.
  • the only difference between the CPU usage time counting operation shown in FIG. 6 and the CPU usage time counting operation described in FIG. 5 is the processing after step 407. Therefore, the processing from step 401 to step 407 is collectively referred to as step 600, and the description thereof will not be repeated. Only the parts different from the flowchart described with reference to FIG. 5 will be described.
  • the operation is performed when the job requests the notification of the progress of the corrected CPU usage time during the counting operation of the corrected CPU usage time, or the notification request of the corrected CPU usage time in the previous job. It is shown.
  • a request for notification of the progress of the corrected CPU usage time from the job or a notification request of the corrected CPU usage time in the previous job is set as a library request.
  • step 601 after step 407 it is determined whether or not this library request has been made.
  • a library request is a request from a user or job to notify the computer system of the progress of a calculation.
  • the calculation process for one job does not end with one calculation process of the computer system, and in such a case, the calculation is performed in several parts. In such a case, it is convenient for the user, because the time required for the calculation to be completed is known in advance or an intermediate result is known according to the library request.
  • step 604 the process from step 604 to step 605, which corresponds to the process from step 501 to step 503 in the second embodiment, is performed.
  • step 607 the corrected CPU usage time (shown as corrected CPU time in the figure) is output, and this routine ends.
  • This corrected CPU usage time may be output last in the first and second embodiments. It is.
  • step 601 if it is determined in step 601 that there is a library request, the flow advances to step 602.
  • step 602 the job to which the library execution process belongs is searched, and in the following step 603, the CPU time limit value and the CPU usage time of the corresponding job of the CPU time management structure 23 are read. To notify the job, and go to step 604.
  • the processing after step 604 is as described above.
  • FIG. 7 is a diagram showing a comparison between the corrected CPU usage time according to the CPU usage time counting method of the present invention and the CPU usage time according to the conventional method.
  • the CPU usage time Y has a one-to-one correspondence with the elapse of time X as shown by the dashed line, and the CPU usage time limit value indicated by the broken line is expressed at time XI. Had reached.
  • the CPU usage time counting method of the present invention the CPU calculation waiting time (memory access waiting time) indicated by times t1, t2, t3, t4, and t5 is equal to the corrected CPU usage time. Is not counted. Therefore, according to the method of the present invention, the CPU usage time limit value indicated by the broken line is reached at time X2 which is later than time X1 or lower than time X1. Many calculations can be performed.
  • FIG. 8 is a fourth embodiment of the present invention for explaining the CPU usage time counting operation of the job management mechanism of CPU 1 when one job is executed by two CPUs, CPU 1 and CPU 2.
  • 5 is a flowchart illustrating an example.
  • step 8001 it is determined whether or not the process operating on the CPU 1 has been switched. If there is a switch, go to step 803.If there is no switch, go to step 802. Then, it is determined whether or not a certain period of time has elapsed since the transition to this process. If the fixed time has elapsed, the process proceeds to step 803, but if the fixed time has not elapsed, the process returns to step 801. If it is determined in step 802 that the predetermined time has elapsed, it means that the job has exceeded the limit value before the process is switched.
  • step 803 it is determined whether or not the currently operating process is a process of job Z. Then, if the running process is not the job Z process, the process returns to step 801. However, if the running process is the job Z process, the process proceeds to step 804. In step 804, the time during which the process has been running is calculated. When the time 1 is calculated, the process proceeds to step 805, and the calculated time ⁇ 1 is added to the storage area of the CPU 1 time management structure of the corresponding job Z when the CPU 1 is used.
  • the memory access performance ⁇ / 1 of the corresponding process that is, the memory access time ⁇ 1 including the operation waiting time (memory access waiting time) of CPU 1 of the relevant job Z, and the relevant computer system Fastest memory access time] 3 1
  • the fastest memory access time i31 is the memory access time when CPU 1 has no operation waiting time (memory access waiting time).
  • step 808 the data of the correction CPU2 usage time M2 of the CPU2 that executed the corresponding job Z is read. Then, in the next step 809, the corrected CPU 1 use time M 1 of CPU 1 and the corrected CPU 2 use time M 2 of CPU 2 are added, and the total corrected CPU use time M of CPU 1 and CPU 2 is added. Is calculated.
  • the corrected CPU usage time M of the sum of CPU1 and CPU2 is stored, for example, in a storage area of the corrected CPU usage time of CPU1.
  • step 810 whether the time M stored in the storage area of the corrected CPU usage time of the CPU time management structure has become equal to or greater than the CPU usage time limit of the CPU time management structure in the same manner. Determine whether or not. If the judgment in step 810 is (M ⁇ CPU time limit value), the flow advances to step 812, forcibly terminating job Z and terminating this routine. On the other hand, if the determination in step 810 is (M ⁇ CPU time limit value), the flow advances to step 810 to determine whether or not job Z has been completed. If the job Z has not ended, the process returns to step 801, and if the job has ended, this routine ends.
  • the processing described in Fig. 8 is processing when job Z is processed by being distributed to two CPUs 1 and 2, but when one job is processed by being distributed to three or more CPUs.
  • the procedure is the same.
  • FIG. 9 shows that one job and one memory are shared with CFU 1 6 is a time chart illustrating an embodiment of the operation of the CPU 1 and the CPU 2 and the cache memories 1 and 2 provided in the CPU 1 and the CPU 2 when performed by two CPUs of the CPU 2;
  • Fig. 9 shows the time on the vertical axis, and explains the corrected CPU usage time HTL of CPU 1 and CPU 2 of the present invention when both the conventional CPU usage time of CPU 1 and CPU 2 is TL. is there.
  • the CPU 1 When the data D 1 is read into the cache memory 1, the CPU 1 performs an operation using the data D 1, and the cache memory 2 reads the data D 2 required for the operation of the CPU 2 from the memory. Therefore, at this time, CPU 2 is still in an operation waiting state.
  • the read time of data D2 of cache memory 2 is TD2
  • the operation time using data D1 of CPU1 is T11.
  • cache memory 1 When CPU 1 completes the operation using data D 1 stored in cache memory 1, cache memory 1 attempts to read data D 3 necessary for the next operation of CPU 1 from memory. If the reading of the data D2 from the memory of the cache memory 2 has not been completed, the cache memory 1 waits for access to the memory. At this time, CPU1 is in a calculation waiting state. The access wait time to the memory of the cache memory 1 is TM11.
  • the CPU 2 When the reading of the data D2 from the memory of the cache memory 2 is completed, the CPU 2 reads the data D2 stored in the cache memory 2. Perform the operation you used. Then, the cache memory 1 reads the data D3 necessary for the next operation of the CPU 1 from the memory. CPU 1 is waiting for computation.
  • the calculation time using data D 2 of CPU 2 is T 21, and the reading time of data D 3 in cache memory 1 is TD 3.
  • cache memory 2 attempts to read data D 4 required for the next operation of CPU 2 from memory. If the reading of the data D3 from the memory of the cache memory 1 has not been completed, the cache memory 2 waits for access to the memory. At this time, CPU 1 and CPU 2 are both in an operation waiting state.
  • the cache memory 2 memory access wait time is defined as TM22.
  • the CPU 1 performs an operation using the data D3 stored in the cache memory 1. Then, the cache memory 2 reads the data D4 necessary for the next operation of CPU2 from the memory.
  • CPU2 is in an operation waiting state.
  • the operation time using the data D3 of CPU1 is defined as T12
  • the reading time of the data D4 of the cache memory 2 is defined as TD4.
  • cache memory 1 When CPU 1 completes the operation using data D 3 stored in cache memory 1, cache memory 1 attempts to read data D 5 required for the next operation of CPU 1 from memory. If the reading of the data D4 from the memory of the cache memory 2 has not been completed, the cache memory 1 waits for access to the memory. At this time, CPU1 is in a calculation waiting state. The access waiting time for the cache memory 1 is TM 12.
  • Reading of data D 4 from the memory of cache memory 2 is completed. Then, the CPU 2 performs an operation using the data D 4 stored in the cache memory 2. Then, the cache memory 1 reads data D5 necessary for the next operation of the CPU 1 from the memory. CPU 1 is waiting for computation.
  • the calculation time using data D 4 of CPU 2 is T 22, and the reading time of data D 5 of cache memory 1 is TD 5.
  • the CPU 1 When reading of the data D5 from the memory of the cache memory 1 is completed, the CPU 1 performs an operation using the data D5 stored in the cache memory 1. Then, when the operation using the data D4 stored in the cache memory 2 of the CPU 2 ends, the cache memory 2 reads the data D6 necessary for the next operation of the CPU 2 from the memory.
  • CPU2 is in the operation-waiting state.
  • the operation time using data D5 of CPU1 is T13
  • the read time of data D6 of cache memory 2 is TD6.
  • the method of the present invention uses the read time TD1 of the data D1 of the cache memory 1 and the data D1 of the CPU 1.
  • Calculation time T 1, read time of data D 2 in cache memory 2 TD 2, calculation time using data D 2 of CPU 2 T 21, read time of data D 3 in cache memory 1 TD 3, read time of CPU 1
  • calculation time T 22 using data D 4 of CPU 2 reading data D 5 of cache memory 1
  • the sum of the integration time TD5 and the calculation time T13 using the data D5 of the CPU l is counted as the corrected CPU usage time of the CPU1 and CPU2.
  • the interval HTL is a time obtained by subtracting the waiting time for accessing the cache memory from the conventional CPU usage time T of the CPU 1 and the CPU 2 and can be expressed by the following equation.
  • HTL (TL-TM11-TM12) + (TL-TM21- ⁇ ⁇ 22)
  • the access time to the memory of the cache memory is not counted as the CPU usage time. Therefore, in the case of the same program, the corrected CPU usage time becomes the same every time. The usage time can be calculated.
  • the actual CPU usage time is calculated, and if the same program is processed, the same CPU usage time is calculated every time. It can be obtained by calculation, it can accurately predict the end time of a certain job, can predict the CPU performance in an environment where multiple jobs are executed, and can also charge for the CPU usage time It will be possible to provide stable services. For this reason, it is possible to always charge the user who has requested a job using the computer for the correct CPU usage time.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

複数のコンピュータを使用してジョブの分散処理を行うコンピュータシステムにおける、各CPUの実際の使用時間をカウントする際に、まず各ジョブに使用されたCPU使用時間をカウントし、次に各ジョブを実行する毎に、各CPUのメモリアクセスにおける演算待ち時間をカウントし、各ジョブ毎にCPU使用時間から各CPUの演算待ち時間を差し引いて算出した補正CPU使用時間を、実際のCPU使用時間として設定する方法である。ジョブ制御装置はこの方法を実現する手段を有し、この手段により得られたCPU使用時間と補正CPU使用時間を使用してジョブを制御すると共に、ユーザーに課金を行う。

Description

明 細 書
C P U使用時間カウント方法及びこの C P U使用時間を用いるジョ ブ制御装置 技術分野
本発明は C P U使用時間カウント方法及びこの C P U使用時間を 用いるジョブ制御装置に関し、 特に、 大規模アプリケーショ ン処理 を多数のプロセッサ (C P U) に分散して行わせる場合の、 各 C P Uの実際の使用時間をカウントする方法及びこの C P U使用時間を 用いるジョブ制御装置に関する。 背景技術
一般に、 コンピュータやプロセッサを使用し、 数値流体力学等に 使用される大規模アプリケーショ ンにおいては、 コンピュータゃプ 口セッサに数百 G F L O P Sを超える性能が必要となり、 このよう な高性能を実現する場合には並列処理が行われる。 並列処理とは、 多数のコンピュータやプロセッサに処理を分割して、 処理全体の高 速化を図ろう とするものである。
一方、 大規模アブリ ケーショ ンに対応したメモリ構成も必要であ り、 このメモリ構成は以下のような並列システムに分類される。 ( a ) 集中メモリ型
この型は、 図 1 Aに示されるように、 同等の機能を持つ複数のプ 口セッサ (図には C P Uと記載) 1 と、 この C P U 1 に統合ネッ ト ワーク 2を介して接続された 1つのメモリ空間 (共有メモリ のこ と で、 以後単にメモリ と言う) 3から構成される。 全ての C P U 1 は 同じデータをアクセスすることができる。 C P U 1 には通常キヤッ シュメ モ リ 4が設けられている。
( b ) 分散共有メ モリ型
この型は、 図 1 Bに示されるよ うに、 各 C P U 1 が統合ネッ トヮ ーク 2を介して、 分散配置されたローカルメモリ 3 A〜 3 N (A〜 Nは任意の自然数) に接続されたものである。 ローカルメモリ 3 A 〜 3 Nは、 論理的には共有メモリ と して参照できる。 この例では C P U 1内のキャッシュメモリ の図示は省略してある。
( c ) 分散メ モ リ型
この型は、 図 1 Cに示されるよ うに、 C P U 1 とメ モ リ 3から成 る複数のシステム要素 4が結合ネッ トワーク 2で結合された形態で ある。 異なるシステム要素 4のメ モ リ 3にあるデータへのアクセス は、 統合ネッ トワーク 2を介した通信によって実現される。 この例 でも C P U 1内のキヤ ッシュメモリ の図示は省略してある。
上述のよ うに、 科学技術分野のハイエン ドコ ンピュータ (分散並 列コ ンピュータシステム) 1 0は、 多数 C P U (数十〜数千個の C P U) および巨大メ モ リ (論理的/物理的) から構成されている。 図 2はこのよ うなハイエン ドコ ンピュータにおけるジョブ実行環境 の一例を示すものである。 ハイェン ドコンピュータでは、 複数の並 列コンピュータシステム 5が統合ネッ トワーク 5で並列に接続され ており、 各並列コ ンピュータシステム 5には、 C P U 1 とメ モ リ 3 がある。 また、 統合ネッ ト ワーク 5にはハー ドディスク装置や磁気 ディスク装置、 光ディスク装置等のディスク装置 7が接続される。 実際のデータやプログラム等はこのディ スク装置 7に格納されてい る。
ハイエン ドコ ンピュータ 1 0のサーバー 8にユーザーからジョブ が与えられると、 サーバー 8はそのジョブを実行させる並列コ ンビ ユ ータシステム 6を決定する。 このジョ ブ 6は、 1つの並列コ ンビ ユ ータシステム 5の中で行われることもあるが、 複数の並列コンビ ユ ータシステム 5に跨がって実行されることもある。 このよ うに、 ハイエンドコンピュータ 1 0は、 大小様々なジョブが混在して実行 される環境になっている。 ' ·
このよ うなジョブ実行環境では、 大規模システムの資源 (C P U 、 メモリ) を効率的に有効活用 (高いシステム稼働率) でき、 かつ エン ドユーザ (ジョブ) への安定したサービス (ジョブ実行時間保 証、 ブレの少ない実行時間、 木目細かいジョブ制御機能) を実現す る運用技術が求められている。
コンピュータシステムにおいて複数のジョブが動作する従来の環 境では、 あるジョブを設定した時間に処理するために、 あるジョブ の現時点の処理量から終了時間を予測し、 このジョブを他のジョブ に優先して制御することで、 このジョブの終了予想時刻を終了希望 時刻に近づけることが行われている。 そして、 あるジョブの終了時 間を予測する場合は、 C P Uの使用時間に加えて、 データの入出力 量等のコンピュータシステムの負荷の変動を考慮にいれて終了時間 を予測する方式が取られてきた。 (例えば、 特開平 5 - 2 6 5 7 7 5号公報を参照) 。
また、 C P Uの使用時間は単体で理想的に実行された場合の性能 を表すため、 複数ジョブが実行される環境での C P Uの性能を予測 する場合は、 実際のジョブの C P U使用時間 (課金時間) と、 課金 時間に加算されないジョブに C P Uが使われる時間とを加算するこ とで各ジョブの総 C P U使用時間を求めて予測を行っていた (例え ば、 特開平 5 - 2 8 9 8 9 1号公報を参照) 。 この予測方法は、 例 えば、 システムデーモンがジョブ実行のために行うサービスに使う C P Uの使用時間をジョブの C P U使用時間に加えた総 C P U使用 時間から、 複数ジョブが実行される環境での C P Uの性能を予測す る方式であった。
しかしながら、 特開平 5— 2 6 5 7 7 5号公報ゃ特開平 5— 2 8 9 8 9 1号公報に記載の技術では、 いずれの場合も、 ジョブ自身の C P U使用時間は、 どのような環境下でも一定 (理想的) と してい たために、 あるジョブの終了時間を予測する場合や、 複数ジョブが 実行される環境での C P Uの性能を予測する場合に、 予測にズレが 生じていた。 この予測ズレの発生の原因について以下に説明する。 原理的には、 同一のプログラムを複数回実行した場合、 または、 複数ジョブを同時に実行した場合は、 処理の実行開始から終了まで の時間は、 「経過時間は毎回変動する。 」 「C P Uの使用時間は毎 回一定である。 」 と見なされる。 ところが、 C P U使用時間が毎回 一定になることは、 理想的なコンピュータにおいてのみ成立するも のであり、 実際のコンピュータにおいては、 メモリ アクセス性能が 毎回一定ではないため、 C P U使用時間は毎回変動することになる 例えば、 C P Uにキャ ッシュメモリ を持つ場合、 次に読み出すデ ータがこのキャッシュメモリ にある (キャッシュにヒ ッ トする) か 、 読み出すデータがキャッシュメモリ に無く、 共有メモリ等から新 たに読み出す (キャッシュにミスヒ ッ トする) かによ り、 データの 読み出し時間に差が生じてメモリ アクセス性能が異なってしまう。 また、 複数のシステムボー ドを持つコンピュータシステムの場合、
C P Uとそのアクセスするメモリが同一のシステムボードに配置さ れる場合と、 C P Uとそのアクセスするメモリが異なるシステムボ ー ドに配置される場合とでは、 これから処理しょう とするジョブに おける C P Uのメモリアクセス性能が異なってしまう ことになる。 更に、 複数のジョブ、 または並列のジョブがメモリ を共有して実行 されている場合、 ジョブ毎のメモリ アクセス負荷状況に依存して、 あるジョブのメモリ競合によるメモリアクセス待ち時間が変動する ので、 C P U使用時間は毎回動的に変動することになる。
このように、 従来の技術では、 そのジョブ自身の C P U使用時間 が理想的でない限り、 C P U使用時間は毎回変動することになり、 あるジョブの終了時間を予測する場合や、 複数ジョブが実行される 環境での C P Uの性能を予測する場合において、 予測にズレが生じ てしまう という課題や、 C P U使用時間に対する課金が正確に行わ れないという課題があった。 発明の開示
従って、 本発明の目的は、 この課題を解決するために、 前述のジ ョブの実行毎に異なるメモリ アクセス性能による C P U使用時間の 違いを補正することによ り、 実質的な C P U使用時間を補正 C P U 時間と して演算し、 同一プログラムの処理であれば、 毎回同じ補正
C P U使用時間を演算によって求めることができ、 あるジョブの終 了時間を正確に予測できると共に、 複数ジョブが実行される環境で の C P Uの性能を予測するこ とができ、 更には C P U使用時間に対 する課金に対しても安定したサ.一ビスを提供するこ とができる C P U使用時間力ゥント方法及びこ.の C P U使用時間を用いるジョブ制 御装置を提供するこ とである。
上記目的を達成する本発明の C P U使用時間力ゥント方法は、 複 数のコンピュータを使用してジョブの分散処理を行う コンピュータ システムにおける、 各 C P Uの実際の使用時間をカウントする方法 であって、 各ジョブに使用された C P U使用時間をカウント し、 各 ジョプを実行する毎に、 各 C P Uのメモリ アクセスにおける演算待 ち時間をカウントし、 各ジョブ毎に C P U使用時間から各 C P Uの メモリ アクセスにおける演算待ち時間を差し引いて算出した補正 C P U使用時間を、 実際の C P u使用時間と して設定することを特徴 とするものである。
この C P U使用時間は、 コンピュータシステムの基本ソフ トウェ ァに備えられている、 該当ジョブが使用した時間をカウントする機 能で取得された時間であり、 C P Uの演算待ち時間は、 メモリァク セス性能値をカウントするハー ドウェアモニタを使用して算出した 該当ジョブのメモリ アクセス時間から、 当該コンピュータシステム のハ ードゥエァ設計上最も高速な該当ジョブのメモリ アクセス時間 を引いた時間である。
また、 算出した補正 C P U使用時間を C P U使用時間制限値と比 較し、 補正 C P U使用時間が C P U使用時間制限値以上になった時 には、 該当ジョブを終了するよ うにしても良い。
更に、 該当ジョブからの要求によ り、 補正 C P U使用時間の表示 出力、 及び記録出力を出力しても良い。
一方、 前記目的を達成する本発明の C P U使用時間を用いるジョ ブ制御装置は、 複数のコンピュータを使用してジョブの分散処理を 行う コンピュータシステムにおける、 各 C P Uの実際の使用時間を カウント し、 この実際の使用時間によってジョブを制御するジョブ 制御装置であって、 ジョブを実行する毎に、 各 C P Uのメモリ ァク セス待ちによる演算待ち時間をカウントするカウント手段と、 各ジ ヨブ毎に、 各 C P U使用時間から各 C P Uのメモリ アクセス待ちに よる演算待ち時間を差し引く ことによ り、 補正 C P U使用時間を算 出する補正 C P U使用時間算出手段と、 補正 C P U使用時間を使用 してジョブを制御するジョブ制御手段とを備えることを特徴と して レヽる。
本発明の C P U使用時間カウント方法及びこの C P U使用時間を 用いるジョブ制御装置によれば、 実質的な C P U使用時間を演算し 、 同一プログラムの処理であれば、 毎回同じ C P U使用時間を演算 によって求めることができ、 あるジョブの終了時間を正確に予測で きると共に、 複数ジョブが実行される環境での C P Uの性能を予測 することができ、 更には C P U使用時間に対する課金に対しても安 定したサービスを提供することができる。 図面の簡単な説明
本発明の上記目的、 特徴、 利点等を以下に添付図面に示す実施例 に従って詳細に説明する。 添付図面の内容は以下の通りである。 図 1 Aは従来の集中メモリ型の並列処理型コンピュータの構成を 示すブロ ック構成図である。
図 1 Bは従来の分散共有メモリ型の並列処理型コンピュータの構 成を示すブロ ック構成図である。
図 1 Cは従来の分散メモリ型の並列処理型コンピュータの構成を 示すブロ ック構成図である。
図 2は本発明の C P U使用時間力ゥント方法が適用される分散並 列コンピュータシステムにおけるジョブの実行環境を説明する図で ある。
図 3 Aは本発明の C P U使用時間カウント方法が適用される分散 並列コンピュータシステムの構成の一例を示すブ口 ック図である。
図 3 Bは図 3 Aのジョブ管理機構の機能を説明するブロック図で ある。
図 4は図 3 Aに示したジョブ管理機構の C P U使用時間カウント 動作の第 1の実施例を説明するフローチャー トである。
図 5は図 3に示したジョブ管理機構の C P U使用時間カウント動 作の第 2の実施例を説明するフローチャートである。
図 6は図 3に示したジョブ管理機構の C P U使用時間カウント動 作の第 3の実施例を説明するフローチャートである。
図 7は本発明の方法による補正 C P U使用時間と、 従来方法によ る C P U使用時間との比較を示す線図である。
図 8は、 1つのジョブを 2つの C P Uによって行った時の、 ジョ ブ管理機構の C P U使用時間カウント動作の第 4の実施例を説明す るフローチャートである。
図 9は、 1つのジョブを 2つの C P Uによって行った時の、 C P
Uとキャッシュメモリ の動作を説明するタイムチャートである。 発明を実施するための最良の態様
以下、 添付図面に基づいて発明を実施するための最良の態様を説 明するが、 図 1 Aから図 2で説明した部材と同じ構成の部材につい ては、 同じ符号を付して説明する。
図 3 Aは、 本発明の C P U使用時間力ゥント方法が適用される分 散並列コンピュータシステム 1 0の構成の一例を示すブロック図で ある。 分散並列コンピュータシステム 1 0では、 複数の並列コンビ ユ ータシステム 5が、 統合ネッ トワーク 2を介して接続されている この統合ネッ トワーク 5には、 一般に、 電源をオフしてもデータ やプログラムを保持できるハー ドディスク装置等のディスク装置 7 が接続されている。
各並列コンピュータシステム 5の構成は同じであるので、 図 3 A にはそのうちの 1つの並列コンピュータシステム 5の内部構成のみ が示してある。 並列コンピュータシステム 5には、 キャッシュメモ リ 4を備えた複数の C P U 1が並列に設けられている。 これら複数 の C P U 1 は、 統合ネッ トワーク 2に接続するメモリ (共有メモリ ) 3に接続されており、 各 C P U 1はメモリ 3に記憶されたデータ をそれぞれのキャッシュメモリ 4に取り込んで演算を行う。 各 C P U 1 は、 その動作が C P u動作監視手段 (ハードウェアモ ユタ) 1 1 によって監視されている。 また、 並列コンピュータシス テム 5の中にはジョプ管理機構 2 0が設けられており、 この中には C P U使用時間カウント手段 2 1、 補正 C P U使用時間カウント手 段 2 2、 および C P U時間管理構造体 (メモリ) 2 3がある。 この C P U時間管理構造体 2 3には、 C P U使用時間を記憶するための 領域 2 4、 補正 C P U使用時間を記憶するための領域 2 5、 及び、 C P Uの使用時間の制限値 (図には C P U時間制限値と記載) を記 憶するための領域 2 6がある。 C P Uの使用時間の制限値は、 各ュ 一ザ一が設定するものである。 また、 この C P U時間管理構造体 2 3はメモリ 3の一部を使用して設けることもできる。
C P U使用時間力ゥント手段 2 1は、 C P U動作監視手段 1 1 に アクセスすることによ り各 C P Uの使用時間 (メモリ アクセスによ る演算待ち時間を含む) をカウン ト し、 このカウント値を C P U時 間管理構造体 2 3の C P U使用時間記憶領域 2 4に記憶する。 補正 C P U使用時間力ゥント手段 2 2は、 C P U動作監視手段 1 1にァ クセスすることによ り各 C P Uのメモリ アクセスによる演算待ち時 間をカウント し、 C P U使用時間力ゥント手段 2 1でカウントされ た各 C P Uの使用時間から前述の各 C P Uの演算待ち時間を減算し 、 実際に各 C P U 1が演算のために稼働した補正 C P U使用時間を 算出する。 補正 C P U使用時間カウント手段 2 2は、 算出した補正 C P U使用時間を C P U時間管理構造体 2 3の補正 C P U使用時間 記憶領域 2 5に記憶する。
また、 ジョブ管理機構 2 0には、 補正 C P U時間表示/記録出力 作成手段 1 2が接続されている。 補正 C P U時間表示/記録出力作 成手段 1 2は、 C P U時間管理構造体 2 3の補正 C P U使用時間記 憶領域 2 5に記憶されている補正 C P U使用時間のデータを、 図示 しない表示装置や記録装置に出力するものである。
図 3 Bは図 3 Aのジョ'ブ管理機構 2 0 の機能を説明するプロ ック 図である。 ジョブ管理機構 2 0には、 ジョブを受け付けてジョブを 起動して実行する機能、 C P U時間補正プログラムによ り、 入力さ れた C P U使用時間データを用いて実際の C P U使用時間を算出す る機能、 消費補正値のジヨブイ ンターフェースプログラムを用いて 、 ジョブからの要求があった時に、 C P U使用時間、 補正 C P U使 用時間、 C P U時間制限値等の現在のデータをジョプに通知する機 能、 及び補正値を用いたジョブ制御プログラムによ り、 補正 C P U 使用時間の表示 Z記録データを出力する機能等がある。 また、 C P U使用時間、 補正 C P U使用時間、 及び C P U時間制限値のデータ は、 C P U時間管理機能によ り、 ソフ トウェアによって管理するこ とができる。
ここで、 本発明の C P U使用時間力ゥント方法の原理について説 明する。 一般に、 複数のコ ンピュータシステムを使用して分散処理 を行うコ ンピュータシステムにおいては、 メ モ リ競合等のコ ンビュ 一タ リ ソースの競合やジョブの配置によ り、 ジョブ実行毎に各 C P uに異なる演算待ち時間 (メ モ リ アクセス時間) が発生する。 従つ て、 これまでの分散処理を行う コ ンピュータシステムでは、 C P U のこの演算待ち時間の長短によって、 同一プログラムを実行しても 毎回同じ C P U使用時間とならなかった。
そこで、 本発明の C P U使用時間カウント方法では、 この C P U の待ち時間に応じて C P U使用時間に生じる偏差を補正し、 同一プ ログラムの場合には、 毎回同じ C P U使用時間となる補正 C P U使 用時間を算出する。
この補正 C P U使用時間は、 以下の演算によって求めることがで きる。 補正 C P U使用時間 = C P U使用時間一実行毎に異なる C P uの演 算待ち時間
実行毎に異なる C P Uの演算待ち時間によるメモリ アクセス時間 の変動を補正する具体的な方法としては、 一般的にコンピュータシ ステムのハー ドウエア及びオペレーティ ングシステム (O S ) に実 装されている、 以下の機能を組み合わせることで実現することがで きる。
( 1 ) メモリ アクセス性能値を力ゥントするハー ドウエアモニタを 用いた、 該当ジョブの C P Uの演算待ち時間を含むメモリ アクセス 時間を'力ゥントする機能
( 2 ) 当該コンピュータのハー ドウエア設計上で最高速の、 C P U の演算待ち時間を含まない該当ジョブのメモリアクセス時間を力ゥ ントする機能
( 3 ) O Sに備わっている該当ジョブが使用した C P U使用時間を カウントする機能で取得された、 一般的に課金値と して取得される
C P U使用時間
そして、 これら ( 1 ) 〜 ( 3 ) の機能を組み合わせれば、 以下の 式で補正 C P U使用時間を算出することができる。
補正 C P U使用時間 = ( 3 ) - ( ( 1 ) - ( 2 ) ) そして、 この計算によって求められた補正 C P U使用時間は、 C P Uのメモリ アクセス時間が変動した場合でも、 メモリ アクセスに おける演算待ち時間を補正したあるジョブに対する一定の C P U使 用時間であり、 同一のプログラムを色々な状況下で複数回実行した 場合でも、 毎回同一の補正 C P U使用時間を算出するこ とができる ここで、 図 3 Aに示したジョブ管理機構 2 0による、 この補正 C P U使用時間を算出する C P U使用時間力ゥント動作の第 1の実施 例を、 図 4に示すフ ローチャートを用いて説明する。 この C P U使 用時間カウント動作は、 ジョブの実行時に起動される。
ステップ 4 0 1では C P U上で動作するプロセスの切り換わりが あつたか否かを判定する。 プロセスはジョブの最小実行単位である 。 切り換わりがあった場合はステップ 4 0 3に進むが、 切り換わり がなかった場合はステップ 4 0 2に進んでこのプロセスに移行して から一定時間が経過したか否かを判定する。 一定時間が経過した場 合はステップ 4 0 3に進むが、 一定時間が経過していない場合はス テツプ 4 0 1に戻る。 ステップ 4 0 2'において一定時間が経過した と判定される場合は、 プロセスが切り換わる前にそのジョブが制限 値を越えた場合である。
このようにしてステップ 4 0 3に進むと、 ステップ 4 0 3では現 在動作中のプロセスが、 ジ ョブのプロセスか否かを判定する。 プロ セスには、 ジョブのプロセス以外にもシステムサービス等がある。 そして、 動作中のプロセスがジョブのプロセスでない場合はステツ プ 4 0 1 に戻るが、 動作中のプロセスがジョブのプロセスの場合は 、 図 3 Aで説明したジョブ管理機構 2 0 の対象とするプロセスであ るのでステップ 4 0 4に進む。
ステップ 4 0 4 ではプロセスが動作していた時間 α を算出する。 このプロセスが動作していた時間ひは、 このプロセスが C P U上で 動作を開始してから、 この C P U上で動作する別のプロセスに切り 換わるまでの時間のことである。 従ってこの時間ひは C P Uの演算 待ち時間を含む。 時間ひ が算出されると制御はステップ 4 0 5に進 み、 該当ジョブの C P U時間管理構造体 2 3の、 C P U使用時間の 記憶領域 (図 4には単に C P U使用時間と記載) 2 4にこの算出し た時間ひを加算する。 ここまでの動作が、 従来のコ ンピュータシス テムにおいて、 C P Uの使用時間を算出するプロセスである。 このよ うにして該当ジョブの C P U時間管理構造体 2 3の、 C P U使用時間の記憶領域 2 4に、 この算出した時間 aを加算した後は 、 続くステップ 4 0 6において、 図 3 Bで説明した C P U時間補正 プログラムによ り、 該当プロセスのメモリ アクセス性能 γ、 即ち、 該当ジョブの C P Uの演算待ち時間を含むメモリ アクセス時間 γ と 、 当該コンピュータシステムにおける最高速のメモリ アクセス時間 とを算出する。 この最高速のメモリ アクセス時間)3は、 C P Uに 演算待ち時間がない時のメモリ アクセス時間のことである。
続くステップ 4 0 7では、 補正 C P U使用時間 Aを式、 Α = α _ ( γ— ]3 ) で算出し、 C P U時間管理構造体 2 3の、 補正 C P U使 用時間の記憶領域 2 4に記憶されている時間 M (図 4には補正 C P U使用時間 Mと記载) に、 この算出した時間 Aを加算する (M = M + A ) 。 そして、 次のステップ 4 0 8においてジョブが終了したか 否かを判定し、 ジョブが終了していない場合にはステップ 4 0 1に 戻り、 ジョブが終了した場合にはこのルーチンを終了する。
以上のような処理により、 図 3 Aに示した C P U時間管理構造体 2 3には、 その C P U使用時間記憶領域 2 4には従来の C P Uの使 用時間と同じ時間が記憶され、 補正 C P U使用時間記憶領域 2 5に 捕正された真の C P U使用時間が補正 C P U使用時間として記憶さ れる。 '
図 5は、 図 3 Aに示したジョブ管理機構 2 0による、 この補正 C P U使用時間を算出する C P U使用時間カウント動作の第 2の実施 例示すフローチャー トであり、 図 4で説明した C P U使用時間カウ ント動作の変形例である。 図 5に示す C P U使用時間カウント動作 が図 4で説明した C P U使用時間カウント動作と異なる点は、 ステ ップ 4 0 7の後の処理のみである。 よって、 ステップ 4 0 1からス テツプ 4 0 7までの処理の説明は省略し、 図 4で説明したフローチ ヤートと異なる部分のみを説明する。
前述のように、 第 1の実施例ではステップ 4 0 7において、 補正 C P U使用時間 Aを式、 Α = ο; — ( 7 - j3 ) で算出し、 C P U時間 管理構造体 2 3の補正 C P U使用時間の記憶領域 2 4に記憶されて いる時間 M (図 4には補正 C P U使用時間 Mと記载) に、 この算出 した時間 Aを加算した (M = M + A ) 。 第 2の実施例では、 この次 のステップ 5 0 1 において、 C P U時間管理構造体 2 3の補正 C P U使用時間の記憶領域 2 4に記憶されている時間 Mが、 同じく、 C P U時間管理構造体 2 3の C P U使用時間の制限値の記憶領域 (図 には C P U時間制限値と記载) 2 6に記憶された制限値以上になつ たか否かを判定する。 この制限値はユーザーによって設定されるも のである。
そして、 ステップ 5 0 1 の判定が (M≥ C P U時間制限値) であ る場合にはステップ 5 0 3に進み、 ジョブを強制的に終了してこの ルーチンを終了する。 一方、 ステップ 5 0 1 の判定が (Mく C P U 時間制限値) である場合にはステップ 5 0 2に進み、 ジョブが終了 したか否かを判定する。 そして、 ジョブが終了していない場合には ステップ 4 0 1に戻り、 ジヨブが終了した場合にはこのルーチンを 終了する。
このよ うに、 第 2の実施例は、 補正 C P U使用時間 Aの加算値 M が C P U使用時間の制限値以上になった場合には、 ジョブを強制的 に終了させよう とするものである。 このジョブを強制的に終了させ る動作が、 補正 C P U使用時間を用いたジョブ制御装置の動作であ る。
図 6は、 図 3 Aに示したジョブ管理機構 2 0による、 この補正 C P U使用時間を算出する C P U使用時間カウント動作の第 3の実施 例示すフローチャー トであり、 図 5で説明した C P U使用時間カウ ント動作の変形例である。 図 6に示す C P U使用時間力ゥント動作 が図 5で説明した C P U使用時間カウント動作と異なる点は、 ステ ップ 4 0 7の後の処理のみである。 よって、 ステップ 4 0 1からス テツプ 4 0 7までの処理はステップ 6 0 0 としてまとめてその説明 は省略し、 図 5で説明したフローチャートと異なる部分のみを説明 する。
第 3の実施例は、 補正 C P U使用時間のカウント動作中に、 ジョ ブから補正 C P U使用時間の途中経過の通知要求、 或いは、 以前の ジョブにおける補正 C P U使用時間の通知要求があった場合の動作 を示すものである。 第 3の実施例では、 この補正 C P U使用時間の カウント動作中に、 ジョブから補正 C P U使用時間の途中経過の通 知要求、 或いは、 以前のジョブにおける補正 C P U使用時間の通知 要求をライブラリ要求と して記載し、 ステップ 4 0 7の後のステツ プ 6 0 1 で、 このライブラリ要求があつたか否かを判定している。
ライブラリ要求は、 ユーザーやジョブからのコンピュータシステ ムにおける計算の途中経過の通知要求のことである。 通常 1つのジ ヨブに対する計算処理は、 コンピュータシステムの 1 回の計算処理 で終了するものではないことが多く、 このような場合には、 何回か に分けて計算が行われる。 このような場合、 ライブラ リ要求によ り 、 計算が終了する時間が予め分かったり、 中間結果が分かるので、 ユーザーにとって便利である。
ライブラリ要求がない場合はステップ 6 0 4に進み、 第 2の実施 例におけるステップ 5 0 1からステップ 5 0 3の処理に対応する処 理である、 ステップ 6 0 4からステップ 6 0 5の処理を実行し、 ス テツプ 6 0 7で、 補正 C P U使用時間 (図には補正 C P U時間と記 載) を出力してこのルーチンを終了する。 この補正 C P U使用時間 は、 前述の第 1 と第 2の実施例においても最後に出力しても良いも のである。
一方、 ステップ 6 0 1でライブラリ要求があると判定した場合に はステップ 6 0 2に進む。 ステップ 6 0 2では、 ライブラリ実行プ 口セスが所属するジョブを検索し、 続くステップ 6 0 3において、 C P U時間管理構造体 2 3の対応するジヨブの C P U時間制限値と 捕正 C P U使用時間を読み出してジョブに通知し、 ステップ 6 0 4 に進む。 ステップ 6 0 4以降の処理は前述の通りである。
図 7は本発明の C P U使用時間力ゥント方法による補正 C P U使 用時間と、 従来方法による C P U使用時間との比較を示す線図であ る。 従来方法では、 時間 Xの経過に対して、 C P U使用時間 Yがー 点鎖線で示すように 1対 1 に対応しており、 破線で示す C P U使用 時間の制限値に対しては、 時刻 X Iで達していた。 これに対して本 発明の C P U使用時間カウント方法では、 時間 t 1、 t 2 , t 3 , t 4 , 及び t 5で示す C P Uの演算待ち時間 (メモリ アクセス待ち 時間) は、 補正 C P U使用時間と してはカウントされない。 よって 、 本発明の方法によれば、 破線で示す C P U使用時間の制限値に対 しては、 時刻 X 1 よ りかも時刻の遅い時刻 X 2で達することになり 、 制限値に対してよ り多く の計算を実行することができる。
以上説明した実施例は、 1つのジョブに対して、 1つの C P Uを 用いて計算が行われた時の補正 C P U使用時間の算出方法であった 。 図 8は、 1つのジョブを C P U 1 と C P U 2の 2つの C P Uによ つて行った時の、 C P U 1 のジョブ管理機構の C P U使用時間カウ ン ト動作を説明する、 本発明の第 4の実施例を説明するフローチヤ 一トである。
ステップ 8 0 1 では C P U 1上で動作するプロセスの切り換わり があったか否かを判定する。 切り換わりがあった場合はステップ 8 0 3に進むが、 切り換わりがなかった場合はステップ 8 0 2に進ん でこのプロセスに移行してから一定時間が経過したか否かを判定す る。 一定時間が経過した場合はステップ 8 0 3に進むが、 一定時間 が経過していない場合はステップ 8 0 1に戻る。 ステップ 8 0 2に おいて一定時間が経過したと判定される場合は、 プロセスが切り換 わる前にそのジョブが制限値を越えた場合である。
このよ う にしてステップ 8 0 3に進むと、 ステップ 8 0 3では現 在動作中のプロセスがジョブ Zのプロセスか否かを判定する。 そし て、 動作中のプロセスがジョブ Zのプロセスでない場合はステップ 8 0 1に戻るが、 動作中のプロセスがジョブ Zのプロセスの場合は ステップ 8 0 4に進む。 ステップ 8 0 4ではプロセスが動作してい た時間ひ 1 を算出する。 時間ひ 1 が算出されるとステップ 8 0 5に 進み、 該当ジョブ Zの C P U 1時間管理構造体の、 C P U 1使用時 間の記憶領域に、 この算出した時間 α 1 を加算する。
このよ う にして該当ジョブ Ζの C P U 1時間管理構造体の、 C P U 1使用時間の記憶領域にこの算出した時間ひ 1 を加算した後は、 続くステップ 8 0 6において、 図 3 Bで説明した C P U時間補正プ ログラムによ り、 該当プロセスのメモリ アクセス性能 τ/ 1、 即ち、 該当ジヨブ Zの C P U 1の演算待ち時間 (メモリ アクセス待ち時間 ) を含むメモリ アクセス時間 γ 1 と、 当該コンピュータシステムに おける最高速のメモリ アクセス時間 ]3 1 とを算出する。 この最高速 のメモリ アクセス時間 i3 1 は、 C P U 1 に演算待ち時間 (メモリ ア クセス待ち時間) がない時のメモリ アクセス時間のことである。 続くステップ 8 0 7では、 補正 C P U 1使用時間 A 1 を式、 A 1 = a 1 - ( γ 1 - j8 1 ) で算出し、 C P U 1時間管理構造体の、 補 正 C P U 1使用時間の記憶領域に記憶されている時間 M 1に、 この 算出した時間 A 1 を加算する (M 1 =M 1 +A 1 ) 。
このよ うなステップ 8 0 1からステップ 8 0 7までの処理は、 も う 1つの C P U 2のジョブ管理機構においても実行されている。 す なわち、 対応する C P U 2の C P U 2時間管理構造体では、 このジ ヨブ Zに対して、 補正 C P U 2使用時間 A 2が式、 k 2 = a 2 _ ( 7 2 - /3 2 ) で算出され、 対応する C P U 2時間管理構造体の、 補 正 C P U 2使用時間の記憶領域に記憶されている時間 M 2に、 この 算出した時間 A 2が加算されている (M 2 =M 2 + A 2 ) 。
そこで、 ステップ 8 0 8では、 該当ジョブ Zを実行した C P U 2 の補正 C P U 2使用時間 M 2のデータを読み込む。 そして、 次のス テツプ 8 0 9において、 C P U 1の補正 C P U 1使用時間 M 1 と C P U 2の補正 C P U 2使用時間 M 2 とを加算し、 C P U 1 と C P U 2の合計の補正 C P U使用時間 Mを算出する。 この C P U 1 と C P U 2の合計の補正 C P U使用時間 Mは、 例えば、 C P U 1 の補正 C P U使用時間の記憶領域に記憶される。
そして、 次のステップ 8 1 0において、 C P U時間管理構造体の 補正 C P U使用時間の記憶領域に記憶されている時間 Mが、 同じく 、 C P U時間管理構造体の C P U使用時間の制限値以上になつたか 否かを判定する。 ステップ 8 1 0 の判定が (M≥ C P U時間制限値 ) である場合にはステップ 8 1 2に進み、 ジヨブ Zを強制的に終了 してこのルーチンを終了する。 一方、 ステップ 8 1 0の判定が (M < C P U時間制限値) である場合にはステップ 8 1 1 に進み、 ジョ ブ Zが終了したか否かを判定する。 そして、 ジョブ Zが終了してい ない場合にはステップ 8 0 1 に戻り、 ジョブが終了した場合にはこ のルーチンを終了する。
以上図 8で説明した処理は、 ジョブ Zが 2つの C P U 1 と C P U 2に分散されて処理される場合の処理であるが、 1つのジョブが 3 つ以上の C P Uに分散されて処理される場合の手順も同様である。
図 9は、 1つのジョブを、 1つのメモリ を共有して、 C F U 1 と C P U 2の 2つの C P Uによって行った時の、 C P U 1、 C P U 2 とこれらに設けられたキャッシュメモリ 1 とキャッシュメモリ 2の 動作の一実施例を説明するタイムチャー トである。
図 9は縦軸が時間を示しており、 C P U 1 と C P U 2の従来の C P U使用時間が共に T Lである時の、 本発明の C P U 1 と C P U 2 の補正 C P U使用時間 H T Lについて説明するものである。
この図 9から分かるよ うに、 キャッシュメモリ 1がメモリ (共有 メモリ) から C P U 1の演算に必要なデータ D 1 を読み込んでいる 時間 T D 1には、 C P U 1は演算待ち状態であり、 キャッシュメモ リ 2はメモリへのアクセス待ちである。 従って、 C P U 2も演算待 ちである。 キャッシュメモリ 2のメモリへのアクセス待ち時間を T M 2 1 とする。
キャッシュメモリ 1 にデータ D 1 が読み込まれると、 C P U 1 は データ D 1 を.使用した演算を行い、 キャッシュメモリ 2はメモリか ら C P U 2の演算に必要なデータ D 2を読み込む。 したがって、 こ の時は C P U 2は依然と して演算待ち状態である。 キャッシュメモ リ 2のデータ D 2の読み込み時間を T D 2、 C P U 1のデータ D 1 を使用した演算時間を T 1 1 とする。
C P U 1がキャッシュメモリ 1 に記憶されたデータ D 1 を使用し た演算を終了すると、 キャッシュメモリ 1 は C P U 1の次の演算に 必要なデータ D 3をメモリから読み込もう とするが、 この時、 キヤ ッシュメモリ 2のメモリからのデータ D 2の読み込みが終了してい ない場合は、 キャッシュメモリ 1 はメモリへのアクセス待ちとなる 。 この時、 C P U 1 は演算待ち状態である。 キャッシュメモリ 1の メモリ へのアクセス待ち時間を TM 1 1 とする。
キャ ッシュメモリ 2のメモリ からのデータ D 2の読み込みが終了 すると、 C P U 2はキャッシュメモリ 2に記憶されたデータ D 2を 使用した演算を行う。 そして、 キャッシュメモリ 1 は C P U 1の次 の演算に必要なデータ D 3をメモリ から読み込む。 C P U 1 は演算 待ち状態である。 C P U 2のデータ D 2を使用した演算時間を T 2 1、 キャッシュメモリ 1のデータ D 3の読み込み時間を T D 3 とす る。
C P U 2がキャッシュメモリ 2に記憶されたデータ D 2を使用し た演算を終了すると、 キャ ッシュメモリ 2は C P U 2の次の演算に 必要なデータ D 4をメモリから読み込もう とするが、 この時、 キヤ ッシュメモリ 1のメモリからのデータ D 3の読み込みが終了してい ない場合は、 キャッシュメモリ 2はメモリへのアクセス待ちとなる 。 この時、 C P U 1 と C P U 2は共に演算待ち状態である。 キヤッ シュメモリ 2のメモリへのアクセス待ち時間を TM 2 2 とする。 キャ ッシュメモリ 1のメモリ からのデータ D 3の読み込みが終了 すると、 C P U 1 はキャッシュメモリ 1 に記憶されたデータ D 3を 使用した演算を行う。 そして、 キャッシュメモリ 2は C P U 2の次 の演算に必要なデータ D 4をメモリから読み込む。 C P U 2は演算 待ち状態である。 C P U 1のデータ D 3を使用した演算時間を T 1 2、 キャッシュメモリ 2のデータ D 4の読み込み時間を T D 4 とす る。
C P U 1 がキャッシュメモリ 1 に記憶されたデータ D 3を使用し た演算を終了すると、 キャッシュメモリ 1 は C P U 1の次の演算に 必要なデータ D 5をメモリから読み込もう とするが、 この時、 キヤ ッシュメモリ 2のメモリ からのデータ D 4の読み込みが終了してい ない場合は、 キャッシュメモリ 1はメモリへのアクセス待ちとなる 。 この時、 C P U 1 は演算待ち状態である。 キャッシュメモリ 1の メモリへのアクセス待ち時間を TM 1 2 とする。
キャッシュメモリ 2のメモリからのデータ D 4の読み込みが終了 すると、 C P U 2はキャッシュメモリ 2に記憶されたデータ D 4を 使用した演算を行う。 そして、 キャッシュメモリ 1は C P U 1の次 の演算に必要なデータ D 5をメモリから読み込む。 C P U 1 は演算 待ち状態である。 C P U 2のデータ D 4を使用した演算時間を T 2 2、 キャッシュメモリ 1のデータ D 5の読み込み時間を T D 5 とす る。
キャッシュメモリ 1のメモリ からのデータ D 5の読み込みが終了 すると、 C P U 1はキャッシュメモリ 1 に記憶されたデータ D 5を 使用した演算を行う。 そして、 キャッシュメモリ 2は、 C P U 2の キャッシュメモリ 2に記憶されたデータ D 4を使用した演算が終了 すると、 C P U 2の次の演算に必要なデータ D 6をメモリから読み 込む。 C P U 2は演算-待ち状態である。 C P U 1のデータ D 5を使 用した演算時間を T 1 3、 キャッシュメモリ 2のデータ D 6の読み 込み時間を T D 6 とする。
以上のような C P U 1、 キャッシュメモリ 1、 C P U 2、 及びキ ャッシュメモリ 2の動作において、 本発明の方法では、 キャッシュ メモリ 1のデータ D 1の読み込み時間 T D 1、 C P U 1 のデータ D 1 を使用した演算時間 T 1 1、 キャッシュメモリ 2のデータ D 2の 読み込み時間 T D 2、 C P U 2のデータ D 2を使用した演算時間 T 2 1、 キャ ッシュメモリ 1のデータ D 3の読み込み時間 T D 3、 C P U 1のデータ D 3を使用した演算時間 T 1 2、 キャッシュメモリ 2のデータ D 4の読み込み時間 T D 4、 C P U 2のデータ D 4を使 用した演算時間 T 2 2、 キャッシュメモリ 1のデータ D 5の読み込 み時間 T D 5、 及び C P U lのデータ D 5を使用した演算時間 T 1 3の合計が、 C P U 1 と C P U 2の補正 C P U使用時間としてカウ ン トされる。
言い換えると、 本発明の C P U 1 と C P U 2の補正 C P U使用時 間 HT Lは、 C P U 1 と C P U 2の従来の C P U使用時間 T から 、 キャッシュメモリ のメモリへのアクセス待ち時間を引いた時間で あり、 以下の式で表わすことができる。
H T L = (T L - TM 1 1 - TM 1 2 ) + (T L - TM2 1 - Τ Μ 2 2 )
このように、 本発明の C P U使用時間カウント方法では、 キヤッ シュメモリ のメモリへのアクセス時間を C P Uの使用時間として力 ゥント しないので、 同一プログラムの場合には、 毎回同じ C P U使 用時間となる補正 C P U使用時間を算出することができる。 産業上の利用可能性
本発明に示される、 C P U使用時間カウント方法及びこの C P U 使用時間を用いるジョブ制御装置によれば、 実質的な C P U使用時 間を演算し、 同一プログラムの処理であれば、 毎回同じ C P U使用 時間を演算によって求めることができ、 あるジョブの終了時間を正 確に予測できると共に、 複数ジョブが実行される環境での C P Uの 性能を予測することができ、 更には C P U使用時間に対する課金に 対しても安定したサービスを提供することができるようになる。 こ のため、 コンピュータを使用したジョブを依頼したユーザーに対し て、 常に正しい C P U使用時間に対する課金を行う ことが可能とな る。

Claims

5青冃 求 の 範 囲
1 . 複数のコンピュータを使用してジョブの分散処理を行う コン ピュータシステムにおける、 各 C P Uの実際の使用時間をカウント する方法であって、
各ジョブに使用された C P U使用時間をカウント し、
前記各ジョブを実行する毎に、 各 C P Uのメモ リ アクセスにおけ る演算待ち時間を力ゥントし、
各ジョブ毎に C P U使用時間から前記各 C P Uの演算待ち時間を 差し引いて算出した補正 C P U使用時間を、 実際の C P U使用時間 と して設定することを特徴とする C P U使用時間カウント方法。
2 . 請求項 1 に記載の C P U使用時間カウント方法であって、 前 記 C P U使用時間が、 前記コ ンピュータシステムの基本ソフ トウェ ァに備えられている、 該当ジョブが使用した時間をカウントする機 能で取得された時間であり、 前記 C P Uの演算待ち時間が、 メ モリ 了クセス性能値を力ゥントするハー ドウエアモニタを使用して算出 した該当ジョブのメ モ リ アクセス時間から、 当該コ ンピュータシス テムのハー ドウエア設計上最も高速な該当ジョブのメ モ リ アクセス 時間を引いた時間であるもの。
3 . 請求項 1又は 2に記載の C P U使用時間力ゥント方法であつ て、 算出した前記補正 C P U使用時間を C P U使用時間制限値と比 較し、 前記補正 C P U使用時間が前記 C P U使用時間制限値以上に なった時には、 前記該当ジョブを終了するもの。
4 . 請求項 1から 3の何れか 1項に記載の C P U使用時間力ゥン ト方法であって、 前記該当ジョブからの要求によ り、 前記補正 C P U使用時間の表示出力、 及び記録出力を出力するもの。
5 . 複数のコ ンピュータを使用してジョブの分散処理を行う コ ン ピュータシステムにおける、 各 C P Uの実際の使用時間をカウント し、 この実際の使用時間によってジョブを制御するジョブ制御装置 であって、
前記ジョブを実行する毎に、 各 C P Uの演算待ち時間をカウント するカウント手段と、
各ジョブ毎に、 各 C P U使用時間から前記各 C P Uの演算待ち時 間を差し引く ことによ り、 補正 C P U使用時間を算出する補正 C P u使用時間算出手段と、
前記補正 C P U使用時間を使用して前記ジョブを制御するジョブ 制御手段と、
を備えることを特徴とするジョブ制御装置。
6 . 請求項 5に記載のジョブ制御装置であって、 前記ジョブ制御 装置のメモリ内に前記 C P U使用時間を記憶すると共に、 前記補正 C P U使用時間を記憶する C P U時間管理構造体が設けられている もの。
7 . 請求項 6に記載のジョブ制御装置であって、 前記 C P U時間 管理構造体に、 更に C P U時間制限値を記憶する領域が設けられて いるもの。
8 . 請求項 7に記載のジョブ制御装置であって、 前記ジョブ制御 手段は、 ジョブ実行中に算出された前記補正 C P U使用時間を、 前 記 C P U時間管理構造体に記憶された C P U時間制限値と比較し、 前記設定された実 C P U使用時間の値が、 前記 C P U時間制限値以 上になった時には、 当該ジョブを停止させるもの。
9 . 請求項 5から 8の何れかに記載のジョブ制御装置であって、 前記ジョブ制御手段は、 ジョブからの要求によ り、 そのジョブの実 行中に算出した前記補正 C P U使用時間をリ アルタイムに前記ジョ ブに通知するもの。
1 0 . 請求項 5から 9の何れかに記载のジョブ制御装置であって 、 前記ジョブ制御手段に、 前記ジョブの実行中に算出した前記補正 C P U使用時間を外部に出力するデータ出力端子が接続されている もの。
1 1 . 請求項 1 0に記載のジョブ制御装置であって、 前記ジョブ 制御装置は、 前記データ出力端子に接続する表示装置を備えている ことを特徴とする。
1 2 . 請求項 5から 1 1の何れかに記载のジョブ制御装置であつ て、 前記ジョブ制御手段に、 前記ジョブの実行中に算出した前記補 正 C P U使用時間を記録するデータ記録手段が接続されているもの
PCT/JP2003/004087 2003-03-31 2003-03-31 Cpu使用時間カウント方法及びこのcpu使用時間を用いるジョブ制御装置 WO2004088518A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/JP2003/004087 WO2004088518A1 (ja) 2003-03-31 2003-03-31 Cpu使用時間カウント方法及びこのcpu使用時間を用いるジョブ制御装置
JP2004570162A JP3998686B2 (ja) 2003-03-31 2003-03-31 Cpu使用時間カウント方法及びこのcpu使用時間を用いるジョブ制御装置
EP03715655A EP1555613A4 (en) 2003-03-31 2003-03-31 CENTRAL UNIT USE TIME DETECTION METHOD AND TASK CONTROL DEVICE USING THE TIME OF USE
US11/084,142 US8484643B2 (en) 2003-03-31 2005-03-21 CPU usage time counting method and job control system using this CPU usage time

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/004087 WO2004088518A1 (ja) 2003-03-31 2003-03-31 Cpu使用時間カウント方法及びこのcpu使用時間を用いるジョブ制御装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/084,142 Continuation US8484643B2 (en) 2003-03-31 2005-03-21 CPU usage time counting method and job control system using this CPU usage time

Publications (1)

Publication Number Publication Date
WO2004088518A1 true WO2004088518A1 (ja) 2004-10-14

Family

ID=33105344

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/004087 WO2004088518A1 (ja) 2003-03-31 2003-03-31 Cpu使用時間カウント方法及びこのcpu使用時間を用いるジョブ制御装置

Country Status (3)

Country Link
EP (1) EP1555613A4 (ja)
JP (1) JP3998686B2 (ja)
WO (1) WO2004088518A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8140885B2 (en) 2007-02-14 2012-03-20 International Business Machines Corporation Accounting for microprocessor resource consumption
US8683474B2 (en) 2005-03-31 2014-03-25 Fujitsu Limited Accounting apparatus and method for SMT processor

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101988723B1 (ko) * 2017-08-02 2019-06-12 현대오트론 주식회사 Mcu 동작 감시 시스템 및 제어방법

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58191045A (ja) * 1982-04-30 1983-11-08 Fujitsu Ltd 実行時間管理装置
JPS634350A (ja) * 1986-06-24 1988-01-09 Nec Corp 遅延タスク監視方式
JPH01191952A (ja) * 1988-01-27 1989-08-02 Nec Corp Cpu使用時間表示方式
JPH03127237A (ja) * 1989-10-13 1991-05-30 Fujitsu Ltd 情報処理装置の性能測定方式
JPH04326434A (ja) * 1991-04-26 1992-11-16 Hitachi Ltd ジョブ実行予測精度向上制御方法
JPH05108418A (ja) * 1991-10-21 1993-04-30 Toshiba Corp プログラム異常検出方式
JPH05289891A (ja) * 1992-04-06 1993-11-05 Nec Corp 性能予測装置におけるcpu使用時間算定方式
JPH0695931A (ja) * 1992-09-14 1994-04-08 Toshiba Corp システム実行性能評価支援装置
JPH08272627A (ja) * 1995-03-30 1996-10-18 Ricoh Co Ltd リアルタイムタスク制御装置
US5845310A (en) 1993-12-15 1998-12-01 Hewlett-Packard Co. System and methods for performing cache latency diagnostics in scalable parallel processing architectures including calculating CPU idle time and counting number of cache misses

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2186349C (en) * 1994-05-12 2008-09-23 James C. Bunnell Cpu activity monitoring through cache watching
US7093234B2 (en) * 2001-08-24 2006-08-15 International Business Machines Corporation Dynamic CPU usage profiling and function call tracing
GB2366891B (en) * 2001-12-06 2002-11-20 Appsense Ltd Improvements in and relating to computer apparatus terminal server apparatus & performance management methods therefor

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58191045A (ja) * 1982-04-30 1983-11-08 Fujitsu Ltd 実行時間管理装置
JPS634350A (ja) * 1986-06-24 1988-01-09 Nec Corp 遅延タスク監視方式
JPH01191952A (ja) * 1988-01-27 1989-08-02 Nec Corp Cpu使用時間表示方式
JPH03127237A (ja) * 1989-10-13 1991-05-30 Fujitsu Ltd 情報処理装置の性能測定方式
JPH04326434A (ja) * 1991-04-26 1992-11-16 Hitachi Ltd ジョブ実行予測精度向上制御方法
JPH05108418A (ja) * 1991-10-21 1993-04-30 Toshiba Corp プログラム異常検出方式
JPH05289891A (ja) * 1992-04-06 1993-11-05 Nec Corp 性能予測装置におけるcpu使用時間算定方式
JPH0695931A (ja) * 1992-09-14 1994-04-08 Toshiba Corp システム実行性能評価支援装置
US5845310A (en) 1993-12-15 1998-12-01 Hewlett-Packard Co. System and methods for performing cache latency diagnostics in scalable parallel processing architectures including calculating CPU idle time and counting number of cache misses
JPH08272627A (ja) * 1995-03-30 1996-10-18 Ricoh Co Ltd リアルタイムタスク制御装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1555613A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8683474B2 (en) 2005-03-31 2014-03-25 Fujitsu Limited Accounting apparatus and method for SMT processor
US8140885B2 (en) 2007-02-14 2012-03-20 International Business Machines Corporation Accounting for microprocessor resource consumption

Also Published As

Publication number Publication date
JPWO2004088518A1 (ja) 2006-07-06
EP1555613A4 (en) 2009-04-15
JP3998686B2 (ja) 2007-10-31
EP1555613A1 (en) 2005-07-20

Similar Documents

Publication Publication Date Title
US8484643B2 (en) CPU usage time counting method and job control system using this CPU usage time
KR100934533B1 (ko) 연산 처리 시스템, 컴퓨터 시스템 상에서의 태스크 제어 방법, 및 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
US20050283673A1 (en) Information processing apparatus, information processing method, and program
US9830189B2 (en) Multi-threaded queuing system for pattern matching
US20100043009A1 (en) Resource Allocation in Multi-Core Environment
JP2013232207A (ja) コンピュータマイクロジョブを中断せずに実行するようスケジュールするための方法、システムおよび装置
JP2006107513A (ja) 処理環境におけるパワー・マネジメント
CN111597048B (zh) 基于服务质量的微服务调度方法、系统及电子设备
US7617389B2 (en) Event notifying method, event notifying device and processor system permitting inconsistent state of a counter managing number of non-notified events
US20160357623A1 (en) Abnormality detection method and information processing apparatus
JPH10301794A (ja) 情報処理システムおよびキャッシュ・メモリのロード方法
CN111625339A (zh) 集群资源调度方法、装置、介质和计算设备
JP4253796B2 (ja) コンピュータ及び制御方法
WO2004088518A1 (ja) Cpu使用時間カウント方法及びこのcpu使用時間を用いるジョブ制御装置
US11194382B2 (en) Speculative exit from power down mode of a dynamic random access memory rank
US11347566B2 (en) Adaptive runtime prioritization for component plugins
WO2014006450A1 (en) Method and apparatus for managing a thermal budget of at least a part of a processing system
CN102426535A (zh) 动态进程虚拟化
Zhang et al. Proactive Data Placement for Surveillance Video Processing in Heterogeneous Cluster
US20080307190A1 (en) System and Method for Improved Virtual Real Memory
JP3839259B2 (ja) マルチスレッド制御方法、マルチスレッド制御装置、記録媒体、及びプログラム
JP2009282664A (ja) ストレージデータ管理システム及びストレージデータ管理プログラム
CN110968418A (zh) 基于信号-槽的大规模有约束并发任务的调度方法与装置
JP2018124856A (ja) 電子制御装置
US11599352B2 (en) Method of creating an intelligent upgrade flow for a heterogeneous data center

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
REEP Request for entry into the european phase

Ref document number: 2003715655

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11084142

Country of ref document: US

Ref document number: 2003715655

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2004570162

Country of ref document: JP

WWP Wipo information: published in national office

Ref document number: 2003715655

Country of ref document: EP