Browse Prior Art Database

Controlling the Prioritization of Individual Work Units in a Queued Work Dispatching Environment

IP.com Disclosure Number: IPCOM000118285D
Original Publication Date: 1996-Dec-01
Included in the Prior Art Database: 2005-Apr-01
Document File: 2 page(s) / 39K

Publishing Venue

IBM

Related People

Alpert, AI: AUTHOR [+2]

Abstract

Disclosed is a method for manipulating the priorities of work for dispatching. Individual requests for dispatching are represented by elements on a sorted single-threaded queue. The described techniques are used to efficiently manipulate the priorities of the elements on the queue.

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

Controlling the Prioritization of Individual Work Units in a Queued
Work Dispatching Environment

      Disclosed is a method for manipulating the priorities of work
for dispatching.  Individual requests for dispatching are represented
by elements on a sorted single-threaded queue.  The described
techniques are used to efficiently manipulate the priorities of the
elements on the queue.

      Each work unit which can be dispatched is given its own element
containing a numeric priority field.  Ready work units are kept on a
single-threaded queue sorted by the priority field.

      By breaking the numeric priority field into smaller fields,
grouping of work units into priority groups is possible.
                 Numeric Priority Field
           M-flags      Main     S-Flags     Sub

      In this example, priorities are subset by Main and Sub.  All
work units have a main priority and then within a group of work units
with the same main priority, individual work units can have a sub
priority.

      The M-flags and S-flags fields can be used to temporarily raise
(or lower) a work units priority.  This can easily be accomplished by
reserving individual bits within these fields with precise meanings
corresponding to special conditions which require a temporary
priority change.  The work units priority can then be quickly changed
by dequeuing the element, turning one of the bits on or off and
requeuing the element...