Browse Prior Art Database

METHOD OF DYNAMICALLY ADJUSTING NUMBER OF ASYNCHRONOUS NOTIFICATION HANDLERS BASED ON LOAD

IP.com Disclosure Number: IPCOM000013607D
Original Publication Date: 1999-Dec-01
Included in the Prior Art Database: 2003-Jun-18
Document File: 2 page(s) / 27K

Publishing Venue

IBM

Related People

Dennis Carney: AUTHOR [+2]

Abstract

Disclosed is a method to dynamically adjust, based on workload, the number of threads that are handling asynchronous notifications. This is done through the use of a controller thread (the "notification handler supervisor" thread) that starts new threads as needed, when the already-existing ("permanent") notification-handler threads cannot handle the load. The newly-started threads ("temporary" notification handlers) only run until the workload goes down enough that they are no longer needed, in which case, they kill themselves. In this way, a number of threads that are appropriate to the current workload are running at any one time.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 57% of the total text.

Page 1 of 2

  METHOD OF DYNAMICALLY ADJUSTING NUMBER OF ASYNCHRONOUS NOTIFICATION HANDLERS BASED ON LOAD

Disclosed is a method to dynamically adjust, based on workload, the number of
threads that are handling asynchronous notifications. This is done through
the use of a controller thread (the "notification handler supervisor" thread)
that starts new threads as needed, when the already-existing ("permanent")
notification-handler threads cannot handle the load. The newly-started
threads ("temporary" notification handlers) only run until the workload goes
down enough that they are no longer needed, in which case, they kill
themselves. In this way, a number of threads that are appropriate to the
current workload are running at any one time.

To start the process, only the notification handler
supervisor is started. This thread starts a number
of permanent notification handlers. Each
notification handler looks at the current backlog
of unhandled notifications whenever it obtains a
notification, and if the backlog is above a certain
threshold (most likely based on current number of
handlers), the handler signals the supervisor that
more threads are needed. The supervisor then
starts a number of temporary handler threads based
on the current number of handlers and the current
backlog of unhandled notifications.

Each handler thread simply loops waiting for
notifications to handle. Permanent handlers wait
forever. Temporary handlers, however, wait only a
certain time, and if no notification comes in, they
inc...