MINBUF parameter: Difference between revisions

From m204wiki
Jump to navigation Jump to search
(Automatically generated page update)
m (misc formatting)
 
(4 intermediate revisions by 2 users not shown)
Line 3: Line 3:
<dl>
<dl>
<dt>Default value
<dt>Default value
<dd>Calculated using the formula: (NSERVS + NSUBTKS) * MAXOBUF + 15
<dd>Calculated using the formula: (<var>[[NSERVS_parameter|NSERVS]]</var> + <var>[[NSUBTKS_parameter|NSUBTKS]]</var>) * <var>[[MAXOBUF_parameter|MAXOBUF]]</var> + 15
<dt>Parameter type
<dt>Parameter type
<dd>System
<dd>System
Line 11: Line 11:
<dd>All
<dd>All
<dt>Introduced
<dt>Introduced
<dd><var class="product">Model 204 V6.1</var> or earlier
<dd><var class="product">Model 204 V9.0</var> or earlier
</dl>
</dl>
==Description==
==Description==
<p>The minimum number of file page buffers that must be allocated for initialization to succeed. If this number cannot be allocated due to insufficient virtual storage, initialization is terminated.</p>
<p>
<p>Starting in Version 5.1, the MINBUF parameter is automatically set to its smallest allowable value. The minimum valid value for MINBUF is the number of servers (the value of the NSERVS parameter) plus the maximum number of pseudo subtasks (the value of NSUBTKS parameter), times the maximum number of open disk buffers per server (the value of the MAXOBUF parameter), plus fifteen, represented as follows: </p>
The minimum number of file page buffers that must be allocated below the bar (BTB) for initialization to succeed. If this number cannot be allocated due to insufficient virtual storage, initialization is terminated.</p>
<blockquote class="note"><b>Note:</b> As of version 7.7 of Model&nbsp;204, the value of <var>MINBUF</var> depends entirely on the setting of <var>[[NUMBUFG parameter|NUMBUFG]]</var>, which activates buffer storage above the bar.
<ul>
<li>If <var>NUMBUFG</var> is greater than 0, <i>all</i> buffer pool buffers are forced above the bar — no buffers are below the bar. The <var>MINBUF</var> and <var>[[NUMBUF parameter|NUMBUF]]</var> parameters are forced to 0, and the other parameters that affect BTB storage (<var>MAXBUF</var>, <var>SPCORE</var>, <var>LDKBMWND</var>, and <var>NLRUQ</var>) are ignored. </li>
 
<li>If <var>NUMBUFG</var> is set to 0, all buffers are below the bar, and the settings of the BTB-related parameters are respected and calculated as in pre-7.7 versions. </li>
</ul>
</blockquote>
 
===If BTB buffers are used===
<p>
When BTB buffers are being used (that is, <var>NUMBUFG</var> is 0 under version 7.7 or higher, or <var>NUMBUFG</var> is any value under Model&nbsp;204 prior to 7.7), the <var>MINBUF</var> parameter is automatically set to its smallest allowable value. The minimum valid value for <var>MINBUF</var> is the number of servers (the value of the <var>NSERVS</var> parameter) plus the maximum number of pseudo subtasks (the value of <var>NSUBTKS</var> parameter), times the maximum number of open disk buffers per server (the value of the <var>MAXOBUF</var> parameter), plus fifteen, represented as follows: </p>
<p class="code">(NSERVS + NSUBTKS) * MAXOBUF + 15
<p class="code">(NSERVS + NSUBTKS) * MAXOBUF + 15
</p>
</p>
<p>This is a change from previous releases where the minimum allowable value of MINBUF was (NSERVS*4)+14 for MP/204 and 18 otherwise. </p>
<p>
<p>Also starting in Version 5.1, if MINBUF is set to a value greater than MAXBUF, MAXBUF is automatically reset to the value of MINBUF. Prior to Version 5.1, an error message prevented the Online from coming up. You do not need to set the MAXBUF parameter in the User 0 stream, unless you want its value to differ from the value of MINBUF.</p>
If <var>[[NLRUQ parameter|NLRUQ]]</var> is set greater than 1, then the value of <var>MINBUF</var> is rounded up to a multiple of <var>NLRUQ</var>. </p>
<p>If NLRUQ is set greater than 1, then the value of MINBUF is rounded up to a multiple of NLRUQ. </p>
<p>
<p>Refer to the <var>Model&nbsp;204 System Manager's Guide</var> for more information on page buffers.</p>
If <var>MINBUF</var> is set to a value greater than <var>[[MAXBUF parameter|MAXBUF]]</var>, <var>MAXBUF</var> is automatically reset to the value of <var>MINBUF</var>. You do not need to set the <var>MAXBUF</var> parameter in the User 0 stream, unless you want its value to differ from the value of <var>MINBUF</var>.</p>
 
====For SQL processing====
====For SQL processing====
<p>Sort operations require more buffers and other SQL DML (<var class="product">Model&nbsp;204</var> SQL Data Manipulation) operations can increase disk buffer activity.</p>
<p>
<p>The recommended formula for MINBUF with SQL depends on the number of servers (NSERVS parameter) and the number of SQL threads (numSQL):</p>
Sort operations require more buffers and other SQL DML (<var class="product">Model&nbsp;204</var> SQL Data Manipulation) operations can increase disk buffer activity.</p>
<p>If NSERVS is less than the number of SQL threads: </p>
<p>
The recommended formula for <var>MINBUF</var> with SQL depends on the number of servers (<var>NSERVS</var> parameter) and the number of SQL threads (numSQL):</p>
<p>
If <var>NSERVS</var> is less than the number of SQL threads: </p>
<p class="code">MINBUF = 18 * NSERVS
<p class="code">MINBUF = 18 * NSERVS
</p>
</p>
<p>If NSERVS is greater than or equal to the number of SQL threads: </p>
<p>
If <var>NSERVS</var> is greater than or equal to the number of SQL threads: </p>
<p class="code">MINBUF = 4 * (NSERVS - <i>numSQL</i>) + (18 * <i>numSQL</i>)  
<p class="code">MINBUF = 4 * (NSERVS - <i>numSQL</i>) + (18 * <i>numSQL</i>)  
</p>
</p>
<p>For example, if NSERVS = 4 and the number of SQL threads is 3, the recommended value of MINBUF is: </p>
<p>
For example, if <var>NSERVS</var> is 4 and the number of SQL threads is 3, the recommended value of <var>MINBUF</var> is: </p>
<p class="code">4 * (4 - 3) + (18 * 3) = 58
<p class="code">4 * (4 - 3) + (18 * 3) = 58
</p>
</p>
==See also==
<p>
For more information about page buffers: </p>
<ul>
<li>[[Defining the runtime environment (CCAIN)#Disk buffers and Model 204 storage|Disk buffers and Model 204 storage]] </li>
<li>[[Defining the user environment (CCAIN)]]</li>
</ul>
[[Category:System parameters]]
[[Category:System parameters]]
[[Category:Parameters]]
[[Category:Parameters]]

Latest revision as of 18:39, 29 August 2016

Minimum number of buffers

Summary

Default value
Calculated using the formula: (NSERVS + NSUBTKS) * MAXOBUF + 15
Parameter type
System
Where set
On User 0's parameter line
Related products
All
Introduced
Model 204 V9.0 or earlier

Description

The minimum number of file page buffers that must be allocated below the bar (BTB) for initialization to succeed. If this number cannot be allocated due to insufficient virtual storage, initialization is terminated.

Note: As of version 7.7 of Model 204, the value of MINBUF depends entirely on the setting of NUMBUFG, which activates buffer storage above the bar.

  • If NUMBUFG is greater than 0, all buffer pool buffers are forced above the bar — no buffers are below the bar. The MINBUF and NUMBUF parameters are forced to 0, and the other parameters that affect BTB storage (MAXBUF, SPCORE, LDKBMWND, and NLRUQ) are ignored.
  • If NUMBUFG is set to 0, all buffers are below the bar, and the settings of the BTB-related parameters are respected and calculated as in pre-7.7 versions.

If BTB buffers are used

When BTB buffers are being used (that is, NUMBUFG is 0 under version 7.7 or higher, or NUMBUFG is any value under Model 204 prior to 7.7), the MINBUF parameter is automatically set to its smallest allowable value. The minimum valid value for MINBUF is the number of servers (the value of the NSERVS parameter) plus the maximum number of pseudo subtasks (the value of NSUBTKS parameter), times the maximum number of open disk buffers per server (the value of the MAXOBUF parameter), plus fifteen, represented as follows:

(NSERVS + NSUBTKS) * MAXOBUF + 15

If NLRUQ is set greater than 1, then the value of MINBUF is rounded up to a multiple of NLRUQ.

If MINBUF is set to a value greater than MAXBUF, MAXBUF is automatically reset to the value of MINBUF. You do not need to set the MAXBUF parameter in the User 0 stream, unless you want its value to differ from the value of MINBUF.

For SQL processing

Sort operations require more buffers and other SQL DML (Model 204 SQL Data Manipulation) operations can increase disk buffer activity.

The recommended formula for MINBUF with SQL depends on the number of servers (NSERVS parameter) and the number of SQL threads (numSQL):

If NSERVS is less than the number of SQL threads:

MINBUF = 18 * NSERVS

If NSERVS is greater than or equal to the number of SQL threads:

MINBUF = 4 * (NSERVS - numSQL) + (18 * numSQL)

For example, if NSERVS is 4 and the number of SQL threads is 3, the recommended value of MINBUF is:

4 * (4 - 3) + (18 * 3) = 58

See also

For more information about page buffers: