Non-Blocking Storage Management Method
Original Publication Date: 1986-Sep-01
Included in the Prior Art Database: 2005-Mar-09
The invention relates to a new use for compare and swap type of atomic instructions in order to permit concurrent processes to obtain memory allocation in the event of failure of one or more accessing processes. The storage allocation algorithm is a three-tiered approach. 1. An attempt is made to reallocate a logical record of the required size from a queue of freed logical records. This is expected to be the normal mode of allocation once a steady state has been attained. 2. If no logical record of the correct size is available, an attempt is made to allocate the space from an existing GETMAINed block. Three results of this attempt are possible: a. The attempt was successful. In this case, the algorithm is considered complete. b. The attempt was unsuccessful, and the requestor is the one which depleted the block.