Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Fast Fixed-Length Move Mode Queue Item Placement

IP.com Disclosure Number: IPCOM000049496D
Original Publication Date: 1982-Jun-01
Included in the Prior Art Database: 2005-Feb-09
Document File: 2 page(s) / 46K

Publishing Venue

IBM

Related People

Goldstein, BC: AUTHOR [+2]

Abstract

The following provides a fast performance path in the movement (and removal) of an item onto a fixed-length move mode queue as well as concurrent ENQ/DEQ without serialization.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 100% of the total text.

Page 1 of 2

Fast Fixed-Length Move Mode Queue Item Placement

The following provides a fast performance path in the movement (and removal) of an item onto a fixed-length move mode queue as well as concurrent ENQ/DEQ without serialization.

Before proceeding, some definitions and assumptions will first be given. A "fixed-length move mode queue," as presented here refers to a pushdown stack with FIFO (first-in, first-out) queueing discipline. "Move mode" refers to the fact that the item passed on ENQ is not chained directly onto the queue but rather moved onto the stack and the stack element chained. The format of the queue and stack is set forth in Fig. 1.

Initially:

CTR=0; SPILL 0,

TAIL points to first entry on STACK.

HEAD points to first entry on STACK.

Then the algorithm, as set forth in the flow charts of Fig. 2 and 3, for placing elements onto and off of queue is as follows: Note: ENQ's and DEQ's are concurrent and not serialized.

The actual movement of items on and off queue stack occurs in one INSTR (EX) without having to perform a BCTR (Branch on Count Register Instruction) tie up a register, etc. This is done by embedding the MVC in the queue anchor. The LL of the MVC is queue dependent.

SPILL points (when not 0) to a duplicate queue anchor, and stack spill is used when the current stack is full. ENQ-LOCK (identical to) high order bit of TAIL.

DEQ-LOCK (identical to) high order bit of HEAD.

1

Page 2 of 2

2

[This page contains 3 pictures or other non-text objects]