2.3.21 Operands related to global buffers

110) pd_dbbuff_lru_option = SEPARATE | MIX
Specifies the LRU management method for the global buffer. However, if commit is specified for the pd_dbsync_point operand, MIX is assumed unconditionally.
SEPARATE:
Manage the reference and update buffers with separate LRUs. If a global buffer shortage occurs, the reference buffer in the global buffer that was accessed first is purged from the memory. This option should be specified when the number of references and updates per transaction is relatively small, as in an online job.
MIX:
Manage all global buffers with a single LRU. If a global buffer shortage occurs, the buffer in the global buffer that was accessed first is purged from the memory.
This option should be specified when both a large number of retrievals and a large number of updates occur, as when an online job and a batch job coexist.
For details about the LRU management methods for the global buffer, see the HiRDB Version 8 Description.
Relationship to other operands
If v6compatible or v7compatible is specified in the pd_sysdef_default_option operand, the default value for this operand is SEPARATE.
111) pd_dbbuff_modify = Y | N
Specifies whether the global buffer is dynamically modified by the pdbufmod command while HiRDB is running. For details on dynamic modification of the global buffer, see the HiRDB Version 8 System Operation Guide.
Y: Dynamically modifies the global buffer.
N: Does not dynamically modify the global buffer.
Condition
If Y is specified for this operand (to dynamically modify the global buffer), HiRDB Advanced High Availability is required.
Relationship to other operands
This operand is related to the following operands.
  • SHMMAX
  • pdbuffer
  • pd_max_add_dbbuff_no
  • pd_max_add_dbbuff_shm_no
112) pd_dbbuff_lock_release_detect = pipe | interval
When the global buffer is accessed, a global buffer lock acquisition process occurs. This operand specifies the method that the process that is waiting for lock acquisition uses for detecting the lock release of the global buffer. This operand affects the processing performance when the access frequency to the same global buffer is high. The following table shows the processing mode for each operand specification and its characteristics.
SpecificationProcessing by HiRDBCharacteristics
ThroughputCPU usage
pipeThe lock-releasing process uses a pipe file to inform the process waiting for lock acquisition of lock releaseLowLow
intervalThe process waiting for lock acquisition checks whether lock is still on at regular intervals.HighHigh
Note
Throughput and CPU usage indicate general trends only. They may vary depending on the execution environment and the value specified for the pd_dbbuff_lock_interval or pd_dbbuff_lock_spn_count operand.
Specification guidelines
Determine the value for this operand by referring to Lock release contention wait generation rate in global buffer lock release processing in the HiRDB Version 8 System Operation Guide.
Relationship to other operands
If interval is specified for this operand, check the values specified for the following operands.
  • pd_dbbuff_lock_spn_count
  • pd_dbbuff_lock_interval
113) pd_dbbuff_lock_spn_count = number-of-spins-during-lock-acquisition-wait-processing
[Figure]<unsigned integer>((0-2147483646))<<100>>
Specifies the number of spins during lock acquisition wait processing when interval is specified for the pd_dbbuff_lock_release_detect operand.
An overview of the lock acquisition processing for the global buffer is provided as follows. This operand specifies how many times step 1 is repeated.
  1. If the lock for the global buffer is released, the lock is acquired. If the lock is successfully acquired, the process is terminated. However, if the lock cannot be acquired, the process is repeated up to the number of times specified for this operand.
  2. If acquisition fails in step 1, the system sleeps for the amount of time specified in the pd_dbbuff_lock_interval operand (waits for the specified amount of time to elapse).
  3. Returns to step 1.
Condition
interval must be specified for the pd_dbbuff_lock_release_detect operand.
Specification guidelines
Determine the value for this operand by referring to Lock release contention wait generation rate in global buffer lock release processing in the HiRDB Version 8 System Operation Guide.
Relationship to other operands
If this operand is specified, check the specification of the pd_dbbuff_lock_interval operand.
114) pd_dbbuff_lock_interval = interval-during-lock-acquisition-wait-processing
[Figure]<unsigned integer>((0-2147483647))<<1>>(Milliseconds)
Specifies the interval during lock acquisition wait processing when interval is specified for the pd_dbbuff_lock_release_detect operand.
An overview of the lock acquisition processing for the global buffer is provided as follows. For this operand, specify the time in step 2.
  1. If the lock for the global buffer is released, the lock is acquired. If the lock is successfully acquired, the process is terminated. However, if the lock cannot be acquired, the process is repeated up to the number of times specified for the pd_dbbuff_lock_spn_count operand.
  2. If acquisition fails in step 1, the system sleeps for the amount of time specified in this operand (waits for the specified amount of time to elapse).
  3. Returns to step 1.
Condition
interval must be specified for the pd_dbbuff_lock_release_detect operand.
Specification guidelines
Determine the value for this operand by referring to Lock release contention wait generation rate in global buffer lock release processing in the HiRDB Version 8 System Operation Guide.
115) pd_dbbuff_wait_interval = global-buffer-occupation-state-check-interval
[Figure]<unsigned integer>((0-2147483647))(milliseconds)
This operand applies only to a HiRDB/Parallel Server.
Specifies the interval at which the global buffer occupation state is to be checked. Specifying this operand changes the method of checking the global buffer occupation state.
When this operand is not specified
The following processing occurs:
[Figure]
When this operand is specified
The following processing occurs:
[Figure]
Specification guidelines
Specify this operand when all of the following conditions are satisfied. Performance may improve. Typically when this operand is used, a value of 1 is specified.
  • Global buffer lock-release wait has occurred. (You can check for this based on WAITL in the execution result of the pdbufls command.)
  • You want to improve performance even if the CPU usage rate must be increased.
If the CPU usage has become too high because 1 was specified in this operand, increase the value. If there is unused capacity in the CPU usage rate when 1 is specified in this operand, increase the pd_dbbuff_wait_spn_count operand value. Performance may improve.
116) pd_dbbuff_wait_spn_count = maximum-spin-loop-count-for-global-buffer-occupation-state-checking
[Figure]<unsigned integer>((0-2147483646))<<0>>
This operand is applicable to a HiRDB/Parallel Server.
Specifies the maximum spin loop count in an interval loop that can occur during global buffer occupation state checking. For details, see the description of the pd_dbbuff_wait_interval operand.
Specification guidelines
Normally, there is no need to specify this operand. Specify this operand when you specify 1 in the pd_dbbuff_wait_interval operand.
117) pd_dbbuff_rate_updpage = deferred-write-trigger-request-rate
[Figure]<unsigned integer>((1-100))(%)
When you use the facility for parallel writes in deferred write processing, use this operand to specify the deferred write trigger as a percentage of the updated buffers. For details about the facility for parallel writes in deferred write processing, see the HiRDB Version 8 Installation and Design Guide.
Specification guidelines
Normally omit this operand. Deferred write processing may not always be completed within the synchronization point dump acquisition interval. You can specify this operand for such cases if you want to shorten the writing time by reducing the number of updated buffers and slightly reducing the updated buffer hit rate. A guideline for this operand's value is to use 50% (the initial value set by HiRDB) or determine the operand's value by referring to Tuning deferred write processing and Tuning the synchronization point processing time when deferred write processing is used in the HiRDB Version 8 System Operation Guide.
Relationships to other operands
This operand has the following relationships with the pdbuffer operand's -y option:
  • The value set for the pd_dbbuff_rate_updpage operand applies to all the global buffers.
  • The value of the pdbuffer operand's -y option applies to each global buffer.
  • The pdbuffer operand's -y option takes precedence over the pd_dbbuff_rate_updpage operand.
  • If the pdbuffer operand's -y option is omitted, the number of update buffer sectors for deferred write trigger event depends on the specification of this operand, as shown below:
    pd_dbbuff_rate_updpage operand valueNumber of update buffer sectors for deferred write trigger event
    SpecifiedNumber of global buffer sectors x pd_dbbuff_rate_updpage operand value
    OmittedDetermined automatically by HiRDB