Browse Prior Art Database

Input/Output Channel/Device Load Balancing Algorithm

IP.com Disclosure Number: IPCOM000076783D
Original Publication Date: 1972-Apr-01
Included in the Prior Art Database: 2005-Feb-24
Document File: 3 page(s) / 46K

Publishing Venue

IBM

Related People

Jaikes, LA: AUTHOR [+3]

Abstract

Fig. 1 describes an algorithm that provides a means of intelligently allocating an I/O device to a future series of I/O requests. The algorithm selects the best device from a list of candidates based on statistics compiled during a measurement interval. The statistics indicate each potential device's relative ability to service future requests. The algorithm is not sensitive to, but takes into account, variable-load factors such as channel/device availability (including channel switched devices and utilization of the resources outside the algorithm's knowledge), seek/search time, data-transfer rate and access frequency.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 54% of the total text.

Page 1 of 3

Input/Output Channel/Device Load Balancing Algorithm

Fig. 1 describes an algorithm that provides a means of intelligently allocating an I/O device to a future series of I/O requests. The algorithm selects the best device from a list of candidates based on statistics compiled during a measurement interval. The statistics indicate each potential device's relative ability to service future requests. The algorithm is not sensitive to, but takes into account, variable-load factors such as channel/device availability (including channel switched devices and utilization of the resources outside the algorithm's knowledge), seek/search time, data-transfer rate and access frequency.

Initialization requirements include the creation of two special control blocks:
1) Volume Control Blocks (VCB) are formatted, one for each

device to be considered as an allocation candidate. Each

VCB contains fields to accumulate I/O request counts, the

total elapsed times for requests, and a work field to

compute the average elapsed time for a device. The I/O

count is initialized to a value of one; the other two

fields are set to zero.
2) An Input/Output Block Extension (IOBEX) is initialized

when each data set is opened. The IOBEX contains a field

to record the time that the I/O request is initiated.

The operating system's I/O initiator has the responsibility of computing the elapsed time from I/O request initialization to completion, and recording the accumulated elapsed times and I/O count for each device in the volume control block. Fig. 1 describes the required computations.

The time accumulated from the interval timer is placed in the IOBEX when the I/...