Browse Prior Art Database

Efficient Low Resolution Timers

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

Publishing Venue

IBM

Related People

Mealey, BG: AUTHOR [+2]

Abstract

Disclosed is a method to schedule timeouts to occur with a relatively high resolution. The invention gives up some resolution to reduce system overhead in processing the timeouts. This will result in a performance improvement for a class of timers commonly used in operating systems.

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

Efficient Low Resolution Timers

      Disclosed is a method to schedule timeouts to occur with a
relatively high resolution.  The invention gives up some resolution
to reduce system overhead in processing the timeouts.  This will
result in a performance improvement for a class of timers commonly
used in operating systems.

      Timers are used by operating systems to schedule future
events.  Modern systems allow a high resolution to be used for the
scheduled timeout.  This allows events to be scheduled to occur at an
exact time in the future.  The disadvantage is that high resolution
timers are implemented by causing an interrupt to occur when the
timer expires.

      While some timers require high resolution, there is a class of
timers that can give up some resolution to achieve a performance
advantage.  This can be implemented efficiently, by providing an
interface to mark the timers as requiring a reduced resolution.  The
operating system honors these timeouts when they expire but does not
schedule an specific interrupt for them.  Instead, the timeouts are
checked when other timers expire.  Since most operating systems
maintain a high resolution periodic timer, a minimum resolution can
be guaranteed equal to the period of that timer.

      When this is implemented under AIX*, a flag is settable in the
timer-request-block.  This flag marks the timer as a lowered
resolution timer.  Timer-request-blocks are kept on a sorted list,
based on their...