Browse Prior Art Database

Algorithm for Arbitration Priority Adjustment

IP.com Disclosure Number: IPCOM000062733D
Original Publication Date: 1986-Nov-01
Included in the Prior Art Database: 2005-Mar-09
Document File: 1 page(s) / 12K

Publishing Venue

IBM

Related People

Wilson, JD: AUTHOR

Abstract

An algorithm is used with an arbiter that can dynamically adjust its priority scheme to compensate for changing conditions at a common facility. Facilities to be used with this algorithm include a bus arbiter with Selectable Rotating Highest Priority which references a new location in the PRIORITY ARRAY after every request/grant and elevates the subunit whose address is found in this new location to highest priority, a Priority Array that includes at least one entry for each subunit (identified by its address), the more entries, i.e., addresses for a particular subunit causes that subunit to be elevated to highest priority a larger percentage of the time, and an Activity Register that gives a measure of starvation.

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

Page 1 of 1

Algorithm for Arbitration Priority Adjustment

An algorithm is used with an arbiter that can dynamically adjust its priority scheme to compensate for changing conditions at a common facility. Facilities to be used with this algorithm include a bus arbiter with Selectable Rotating Highest Priority which references a new location in the PRIORITY ARRAY after every request/grant and elevates the subunit whose address is found in this new location to highest priority, a Priority Array that includes at least one entry for each subunit (identified by its address), the more entries, i.e., addresses for a particular subunit causes that subunit to be elevated to highest priority a larger percentage of the time, and an Activity Register that gives a measure of starvation. A larger number indicates that a particular subunit has waited a long time for a grant an arbitrary large number of times. The algorithm is as foll

After an arbitrary time period perform the following steps: 1. Read activity register of each subunit and load into table. 2. Order this table from largest to smallest activity keeping subunit address linked to activity. 3. Exit routine if all activity values are equal. 4. Find remaining smallest entry in activity column. If more than one entry has the smallest value, arbitrarily choose one of them. 5. Search Priority Array for number of occurrences of subunit address associated with this activity value. 6. If occurrences equal 1, remove this entry from the tabl...