Browse Prior Art Database

Work-Load Scheduling

IP.com Disclosure Number: IPCOM000116091D
Original Publication Date: 1995-Aug-01
Included in the Prior Art Database: 2005-Mar-30
Document File: 6 page(s) / 150K

Publishing Venue

IBM

Related People

Ashford, DM: AUTHOR

Abstract

Provided is a Work-Load Manager and a work load scheduling or balancing method which are suitable for distributing the load of a variable number of work items across a variable number of server tasks with minimum processing overhead. The method can be optimized for certain operating environments by preferentially loading servers in an order which minimizes server task switching.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 44% of the total text.

Work-Load Scheduling

      Provided is a Work-Load Manager and a work load scheduling or
balancing method which are suitable for distributing the load of a
variable number of work items across a variable number of server
tasks with minimum processing overhead.   The method can be optimized
for certain operating environments by preferentially loading servers
in an order which minimizes server task switching.

      A stream of similar but unrelated Work Items must be
distributed between a set of Server Tasks with the minimum of
processing overhead.  The number of Server Tasks available may vary
from 1 to many thousands, as may the maximum number of concurrent
Work Items, the number of each being set by a system administrator
prior to start-up.  A general solution is required that will evenly
distribute the Work Items between the Server Tasks.

      Known systems either employ single 'round-robin' sequential
scheduling (which makes no provision against task switching overhead
nor the possibility of processing delays where a particularly large
Work Item is being processed and further Work Items are queued behind
it), or have more complex schemes (with higher processing overhead)
which take account of the resource requirements of the Work Items and
the ability of the Servers to process them.

      Described below is a scheme which distributes Work Items across
a number of servers in an optimal manner with minimum processing
overhead.

Initialization - The following is performed during system
initialization by the Work-Load Manager:
  20 count of the number of currently active Work Items it is
   servicing and a forward pointer to another Server Task's Status
   Block.  Initially all the Status Blocks are formed into a single
   chain.
  o  A batch_size is calculated by dividing the maximum concurrent
      Work Item limit by the number of available Server Tasks.  The
      batch_size calculation is limited between lower and upper
limits
      that are determined by the type of Server Tasks in use and the
      general nature of the Work Items being processed.
  o  An array of pointers (the Tasking Table) is constructed and the
      first element (row 0) is set to point to the head of the Server
      Task Status Block chain.
  o  Two row pointers (Lo_Row and a Hi-Row) are created to keep track
      of the lowest and highest rows in the Tasking Table which
contain
      pointers to Status Block chains.  Initially these pointers are
      both set to 0 (the first element in the array, which points to
      the only chain of Server Tasks).

Scheduling Work - The arrival of a Work Item triggers the following
process:
  o  The Low_Row pointer is used to index into the Tasking Table to
      find the pointer to a Server Task's Status Block.  The Work
Item
      is passed to that Server Task for processing and the count of
      active Work Items i...