Browse Prior Art Database

Staging and Dispatching With Maximum Multiprocessing Overlap

IP.com Disclosure Number: IPCOM000084873D
Original Publication Date: 1976-Jan-01
Included in the Prior Art Database: 2005-Mar-02
Document File: 3 page(s) / 57K

Publishing Venue

IBM

Related People

Clark, CE: AUTHOR [+2]

Abstract

One of the primary problems in providing a fast dispatching function for asynchronous requests, is providing serialization between the engineering of a request and the dequeuing and dispatching of the request. In a multiprocessing environment the serialization should be of minimum duration, in order to provide for maximum parallelism in dispatching these requests.

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 70% of the total text.

Page 1 of 3

Staging and Dispatching With Maximum Multiprocessing Overlap

One of the primary problems in providing a fast dispatching function for asynchronous requests, is providing serialization between the engineering of a request and the dequeuing and dispatching of the request. In a multiprocessing environment the serialization should be of minimum duration, in order to provide for maximum parallelism in dispatching these requests.

The following programming technique provides a means to accomplish the serialization with minimum lockout (waiting) time.

The function desiring to schedule the request would place the element representing the asynchronous routine on a staging queue (LSMQ) via the compare and swap instruction. The dispatching function would remove the element from the dispatching queue (LSPL) via the compare and swap instruction. Whenever the dispatching function finds an empty dispatching queue, it would move all the elements on the staging queue to the dispatching queue via the compare and double-swap (CDS) instruction. 1. Scheduling (enqueuing) A Request

LA R(2), ELEMENT

L R(1), LSMQ

RETRY ST R(1), ELEMENT update forward queue ptr.

CS R(1), R(2), LSMQ

BZ FINISH

B RETRY

The above algorithm would result in the element representing the asynchronous request being placed on the staging queue. 2. The following algorithm would be used by the

dispatching function

In the example this would result in:

A) Since the dispatching queue is empty, the element

would be CDS o...