← Back to Patent Explorer
US3702006A Expired / Lapsed US ⏱️ 0.0 years remaining

Method for balancing the utilization of input/output devices

Assignee: International Business Machines Corp
•
Filing: 1971-06-09
•
Granted: 1972-10-31
•
Expires: 1991-06-09
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract During the operation of a data processing system capable of multi-tasking, a count is made of the number of times each I/O device is accessed by each task. The counting is done over the time interval between successive allocation routines. During each allocation, an analysis is made using the count and time interval to estimate the utilization of each device due to the current tasks. An estimate is also made of the anticipated utilization due to the task undergoing allocation. The estimated current and anticipated utilization are then considered and an attempt is made to allocate data sets to the least utilized I/O devices so as to achieve balanced I/O activity.

Inventors

  • 👤 Josiah B Page

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 06:59
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/30; G06F11/34; G06F11/3466; G06F11/3485; G06F11/3404; G06F11/3409; G06F11/3433; G06F13/00; G06F13/10; G06F13/12; G06F13/122; G06F2201/00; G06F2201/835; G06F2201/86; G06F2201/88

Claims Analysis

Total Claims: 26
Claim 1
Independent Claim 102 words
The method of balancing I/O activity in a data processing system having an operating system for controlling the operation of said system whereby a plurality of tasks are concurrently executed, said operating system including a task allocation procedure for allocating data sets to I/O devices in accordance with the requirements of the respective tasks, comprising the steps of: a. machine estimating I/O utilization due to tasks currently executing; b. machine estimating I/O utilization due to a task undergoing allocation; c. and allocating a data set to the I/O device having the least utilization based on the utilization estimates from said prior steps.
Claim 2
Independent Claim 102 words
The method of balancing I/O activity in a data processing system having an operating system for controlling the operation of said system whereby a plurality of tasks are concurrently executed, said operating system including a task allocation procedure for allocating data sets to I/O devices in accordance with the requirements of the respective tasks, comprising the steps of: a. machine estimating I/O utilization due to tasks currently executing; b. machine estimating I/O utilization due to a task undergoing allocation; c. and allocating a data set to the I/O device having the least utilization based on the utilization estimates from said prior steps.
Claim 3
Dependent Claim 41 words
The method of claim 1 wherein step (a) comprises the step of: counting the number of I/O events that occur in a predetermined time interval, relative to the respective I/O devices in said system being utilized by said currently executing tasks.
Claim 4
Dependent Claim 26 words
The method of claim 2 wherein: said time interval ends with the time at which said task allocating procedure occurs for the task currently undergoing allocation.
Claim 5
Dependent Claim 32 words
The method of claim 3 wherein: said time interval begins when the most recently allocated task underwent allocation, whereby said time interval is that which elapses between successive allocations of different tasks.
Claim 6
Dependent Claim 45 words
The method of claim 2 wherein said operating system includes an input/output supervisor for controlling the accessing of data sets on I/O devices, and wherein said I/O events being counted are the number of times said input/output supervisor is invoked for accessing said data sets.
Claim 7
Dependent Claim 70 words
The method of claim 1 comprising the steps of: d. constructing in said system a task activity table that includes an entry for each I/O device to which each data set associated with a task is allocated, each said entry including a count field; e. incrementing said count field during the course of executing the task associated therewith, each time a data set allocated to said associated device, is accessed.
Claim 8
Dependent Claim 35 words
The method of claim 6 wherein: step (d) is performed during each task allocation so as to create a chain of said tables, and step (d) includes adding said table constructed thereby to said chain.
Claim 9
Dependent Claim 165 words
In a data processing system having a plurality of auxiliary storage I/O devices for storing data sets used in the concurrent execution of a plurality of problem program tasks, said data sets being allocated to said devices during allocation of each task and being accessed by opening thereof during execution of the associated problem program task, the method of balancing I/O activity comprising the steps of: a. counting the number of I/O events on each deviCe connected with open data sets thereon; b. defining during the allocation of data sets of each task the distribution on said devices of data sets which will start to load said devices but which as of allocation have not yet started to load said devices; c. calculating the anticipated loads on said devices based on said events associated with said open data sets and on said data set distribution; d. and allocating data sets to said devices based on the lowest anticipated loads as calculated by said last step.
Claim 10
Dependent Claim 165 words
In a data processing system having a plurality of auxiliary storage I/O devices for storing data sets used in the concurrent execution of a plurality of problem program tasks, said data sets being allocated to said devices during allocation of each task and being accessed by opening thereof during execution of the associated problem program task, the method of balancing I/O activity comprising the steps of: a. counting the number of I/O events on each deviCe connected with open data sets thereon; b. defining during the allocation of data sets of each task the distribution on said devices of data sets which will start to load said devices but which as of allocation have not yet started to load said devices; c. calculating the anticipated loads on said devices based on said events associated with said open data sets and on said data set distribution; d. and allocating data sets to said devices based on the lowest anticipated loads as calculated by said last step.
Claim 11
Dependent Claim 42 words
The method of claim 8 wherein said system includes an operating system having an input/output supervisor invokable by problem program tasks to access data sets, and said I/O events being counted are the number of times said input/output supervisor is so invoked.
Claim 12
Dependent Claim 89 words
The method of claim 8 comprising the steps of: e. creating after all data sets of each task have been allocated, a task activity table including an entry for each device to which the associated data sets are allocated, each entry including a count field for accumulating the count of I/O events due to said associated task on said associated device; f. chaining said table to similar tables previously created; g. and incrementing said associated count field upon the occurrence of the I/O event due to the associated task.
Claim 13
Dependent Claim 115 words
The method of claim 10 comprising the steps of: h. maintaining within said system a device table including one entry for each device in the system, each entry including a field for accumulating data based on said I/O events associated therewith; step (e) including creating in each entry an indication of whether the associated data set is open or closed; i. setting, in response to opening a data set by a problem program task, said indication to open; and step (c) involves sequencing through said chain of activity tables and for open data sets indicated therein, accumulating in the appropriate field of said device table, data derived from said counting of I/O events associated therewith.
Claim 14
Dependent Claim 47 words
The method of claim 8 wherein step (b) includes: the distribution of data sets which were allocated by a prior task allocation but which are unopen at the time of the current allocation, and further includes data sets that have already been allocated by the current allocation.
Claim 15
Dependent Claim 29 words
The method of claim 8 wherein step (a) involves counting said I/O events which occur during a predefined time interval which interval ends at the time of current allocation.
Claim 16
Dependent Claim 36 words
The method of claim 13 wherein step (a) further involves counting said I/O events for data sets which have been open for a period less than said time interval but greater than a minimum predetermined period.
Claim 17
Dependent Claim 40 words
The method of claim 14 wherein: data sets which are open for less than said minimum period are treated as in step (c) on the basis of their distribution rather than on the basis of any count of I/O events.
Claim 18
Dependent Claim 43 words
The method of claim 8 wherein: said counting in step (a) occurs during a predetermined time interval; and step (c) includes calculating an I/O event rate for each device by dividing the number of I/O events by the length of said time interval.
Claim 19
Dependent Claim 44 words
The method of claim 16 wherein step (c) comprises: adding two factors one of which is a device component representing usage of such device and the other of which is a channel component representing usage of the channel to which the device is connected.
Claim 20
Dependent Claim 41 words
The method of claim 17 wherein each of said components includes a first factor indicative of current load and derived from said I/O event rate, and a second factor indicative of pending load and based on said distribution of data sets.
Claim 21
Dependent Claim 29 words
The method of claim 18 wherein: said first factor is obtained by multiplying said I/O event rate for each device by a device-dependent conversion factor representing average access time.
Claim 22
Dependent Claim 33 words
The method of claim 17 wherein: said device component comprises, in The case of an I/O disk drive having a moveable head, a sub-component accounting for standalone seeks during positioning of said head
Claim 23
Dependent Claim 26 words
The method of claim 20 wherein: said sub-component is dependent on an estimate of whether the anticipated seeks will be dominantly interdata-set seeks or intra-data-set seeks.
Claim 24
Dependent Claim 226 words
In a data processing system having an operating system operative to initiate individual job steps and to allocate data sets requested by control statements defining said job steps, said operating system being further operative to control the concurrent execution of multiple tasks during execution of said job steps, the method carried out in said system of balancing operation of the data processing system''s I/O subsystem to optimize the utilization of I/O devices and channels comprising the steps of: a. identifying during the process of allocating a data set to an I/O device, those I/O devices to which such data sets can be allocated; b. determining during allocation of a job step current utilization distribution in said I/O subsystem due to currently executing tasks by counting relative to each I/O device the number of times it has been used over a predefined period of time immediately preceeding such allocation; c. determining during allocation of a job step the anticipated utilization distribution in said I/O subsystem which is expected to result from execution of such job step; d. combining the results of steps (b) and (c) to define the total utilization distribution; e. specifying which of said I/O devices identified in step (a) has the least individual total utilization; f. and allocating a data set of the job step being initiated, to the device specified by step (e).
Claim 25
Dependent Claim 226 words
In a data processing system having an operating system operative to initiate individual job steps and to allocate data sets requested by control statements defining said job steps, said operating system being further operative to control the concurrent execution of multiple tasks during execution of said job steps, the method carried out in said system of balancing operation of the data processing system''s I/O subsystem to optimize the utilization of I/O devices and channels comprising the steps of: a. identifying during the process of allocating a data set to an I/O device, those I/O devices to which such data sets can be allocated; b. determining during allocation of a job step current utilization distribution in said I/O subsystem due to currently executing tasks by counting relative to each I/O device the number of times it has been used over a predefined period of time immediately preceeding such allocation; c. determining during allocation of a job step the anticipated utilization distribution in said I/O subsystem which is expected to result from execution of such job step; d. combining the results of steps (b) and (c) to define the total utilization distribution; e. specifying which of said I/O devices identified in step (a) has the least individual total utilization; f. and allocating a data set of the job step being initiated, to the device specified by step (e).
Claim 26
Dependent Claim 34 words
The method of claim 22 comprising the further step of: adjusting the anticipated utilization distribution each time a data set is allocated to a device to account for the utilization expected to result therefrom.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1975-10-31 1976-05-01 1976-10-31 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1979-10-31 1980-05-01 1980-10-31 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1983-10-31 1984-05-01 1984-10-31 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag