Browse Prior Art Database

Programmable Variable Random Retry Delay Based on Identifiers

IP.com Disclosure Number: IPCOM000118466D
Original Publication Date: 1997-Feb-01
Included in the Prior Art Database: 2005-Apr-01
Document File: 2 page(s) / 63K

Publishing Venue

IBM

Related People

Lippert, GM: AUTHOR

Abstract

Disclosed is a method for generating random delays for retried events to prevent cyclic deadlocks. This methodology allows the upper bound of the delay to be tuned for the number of devices in the system. Also taken into consideration is the number of times an event has been retried.

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

Programmable Variable Random Retry Delay Based on Identifiers

      Disclosed is a method for generating random delays for retried
events to prevent cyclic deadlocks.  This methodology allows the
upper bound of the delay to be tuned for the number of devices in the
system.  Also taken into consideration is the number of times an
event has been retried.

      The starting point for any random retry delay calculator is the
random number generator.  This method uses a maximal length
Pseudo-Random Pattern Generator (PRPG) as the basis for calculating
the random delay.  The size of the PRPG is determined by the maximum
number of devices in the system and the number of different types of
retries that  can occur.  The width is calculated by taking the log
base 2 of the number of devices multiplied by the number of retry
types multiplied by  2.  For example, a system with 12 devices and 2
retry types would require  a 16 bit PRPG (log base2 (12) x 2 x 2 = 4
x 2 x 2 = 16).

      Each device in the system uses its device ID to select a random
number for each retry type.  This number is the same width as the
device ID.  Using the example above, a device in the system would
generate two  4-bit values for every retry detected.  By using the
device ID to select  different bits from the PRPG, each device should
generate a different sequence of retry delays.  These values are
called the Base Retry Delay.

      The Base Retry Delay is then combined with the...