Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

REQUEST-CONTROL

This statement activates priority control for the independent DBH.

Definition

A lower-level DBH option of SYSTEM-STRATEGIES

Function

You use the DBH option REQUEST-CONTROL to specify whether the independent DBH is to work with priority control. You can also modify the default values for priority control.

Priority control is not effective with the linked-in DBH.

During a DBH session, requests from tasks with different BS2000 priorities usually have to be processed concurrently. The DBH processes the individual requests in accordance with their BS2000 priority in the order in which they arrive. The priority control of the independent DBH allows you to qualify the BS2000 priority for requests and modify it to suit the requirements of the DBH session. To do this, you subdivide the whole range of BS2000 priorities into three priority classes: Queue-1, Queue-2 and Queue-3. By assigning a weight to each priority class, you can influence the speed at which the requests of the different classes are processed.

The assignment of a request to the DBH priority classes is based on the request's BS2000 priority.

The priority classes are defined as follows:

Queue-1:

30 <= BS2000 priority of the request < LOW-LEVEL

Queue-2:

LOW-LEVEL <= BS2000 priority of the request < HIGH-LEVEL

Queue-3:

HIGH-LEVEL <= BS2000 priority of the request <= 255

The highest priority (30) and the lowest priority (255) represent the limits between which the three priority classes for requests to the DBH are spread. LOW-LEVEL and HIGH-LEVEL values define the limits between Queue-1 and Queue-2 and between Queue-2 and Queue3. Their default values are 180 and 240 and you can modify them using the DBH option REQUEST-CONTROL.

During processing the requests are deactivated internally after N logical block accesses according to their priority class. N is set according to the priority class weighting. This allows requests with a higher weighting to be processed faster than requests with a lower weighting.

REQUEST-CONTROL

= *NONE / *STD / *PARAMETERS(...)


*PARAMETERS(...)



|

,QUEUE-PRIORITY = *PARAMETERS(...)



|


*PARAMETERS(...)



|



|

QUEUE-1 = 3 / <integer 1..99>



|



|

,QUEUE-2 = 2 / <integer 1..99>



|



|

,QUEUE-3 = 1 / <integer 1..99>



|

,QUEUE-RANGE = *PARAMETERS(...)



|


*PARAMETERS(...)



|



|

LOW-LEVEL = 180 / <integer 30..255>



|



|

,HIGH-LEVEL = 240 / <integer 30..255>

Operands

REQUEST-CONTROL = *NONE

Priority control is not activated. This is the default when the DBH starts up.

REQUEST-CONTROL = *STD
Activates priority control for the independent DBH. Default values apply to the various priority-control operands. These defaults are described under *PARAMETERS(...). During the DBH session, you can turn priority control on or off using the appropriate administration statement (see "MODIFY-REQUEST-CONTROL").

REQUEST-CONTROL = *PARAMETERS(...)

QUEUE-PRIORITY = *PARAMETERS(...)
Specifies the weights of the different priority classes. You can also change the weights subsequently using an administration statement (see "MODIFY-REQUEST-CONTROL").

QUEUE-1 = 3 / <integer 1..99>
Specifies the weight of the first priority class, Queue-1. The default is 3.

QUEUE-2 = 2 / <integer 1..99>
Specifies the weight of the second priority class, Queue-2. The default is 2.

QUEUE-3 = 1 / <integer 1..99>
Specifies the weight of the third priority class, Queue-3. The default is 1.

QUEUE-RANGE = *PARAMETERS(...)

Specifies the limit values between the priority classes Queue-1 and Queue-2, and Queue-2 and Queue-3. You can modify the limit values during the DBH session using the appropriate administration statement (see "MODIFY-REQUEST-CONTROL").

LOW-LEVEL = 180 / <integer 30..255>
Specifies the limit value between the first and second priority classes, Queue-1 and Queue-2. The LOW-LEVEL value must be lower than the HIGH-LEVEL value. The default for LOW-LEVEL is 180.

HIGH-LEVEL = 240 / <integer 30..255>
Specifies the limit value between the second and third priority classes, Queue-2 and Queue-3. The HIGH-LEVEL value must be higher than the LOW-LEVEL value. The default for HIGH-LEVEL is 240.

Considerations when assigning weights

In order to achieve optimal weight assignment for the priority classes, you should ask the following questions:

  • How many users of each priority class are working concurrently?

  • Which priority class is to receive preferential treatment, and which requests hinder it?

  • Is the load distribution dependent on the time of day or date? Must the weighting be changed at specific times?

You should take the answers to these questions into consideration when assigning the weights.

If the load distribution shifts dramatically and unforseeably, you can change the weights dynamically using appropriate administration statements (see "MODIFY-REQUEST-CONTROL").