MPOPTS parameter: Difference between revisions

From m204wiki
Jump to navigation Jump to search
 
(18 intermediate revisions by 3 users not shown)
Line 5: Line 5:
<dd>X'7F'
<dd>X'7F'
<dt>Parameter type
<dt>Parameter type
<dd>System
<dd>User
<dt>Where set
<dt>Where set
<dd>On User 0's parameter line
<dd>User resettable
<dt>Related products
<dt>Related products
<dd>All
<dd>All
Line 15: Line 15:


==Description==
==Description==
The <var>MPOPTS</var> parameter setting is used to tune system multiprocessing. The SOUL compiler strategy offloads as much work as possible to subtasks. You can set the <var>MPOPTS</var> parameter to modify this strategy for a particular section of code, particularly:  
The <var>MPOPTS</var> parameter setting is used to tune system multiprocessing. The SOUL compiler strategy offloads as much work as possible to subtasks. You can reduce the scope of this subtask offloading by setting <var>MPOPTS</var> parameter to offload selectively for a particular section of code.
 
By default, <var>MPOPTS</var> omits offloading for:  
<ul>
<ul>
<li>Nested loops</li>
<li>Nested loops</li>
<li>MP=NO $functions</li>
<li><code>MP=NO</code> $functions</li>
<li>Mixed mode statements </li>
<li>Mixed mode statements </li>
</ul>
</ul>
<p>
<p>
This parameter applies only to z/OS. Valid settings of <var>MPOPTS</var> are:</p>
<var>MPOPTS</var> applies only to z/OS. Its valid settings are: </p>
 
<table>
<table>
<tr class="head"><th>Setting</th><th>Meaning</th></tr>
<tr class="head"><th>Setting</th><th>Meaning</th></tr>
<tr><th align="right"><var>X'01'</var></th><td>Loops containing serial statements</td></tr>
 
<tr><th align="right"><var>X'02'</var></th><td>Calls to subroutines containing serial statements</td></tr>
<tr><th><var>X'01'</var></th>
<tr><th align="right"><var>X'04'</var></th><td>No $functions.</td></tr>
<td>[[Record loops#For Each Record statement|Loops]] containing serial statements</td></tr>
<tr><th align="right"><var>X'08'</var></th><td><var>[[STORE_RECORD_statement#STORE_RECORD_statement|STORE RECORD]]</var> and <var>DELETE RECORD</var> statements</td></tr>
 
<tr><th align="right"><var>X'20'</var></th><td><var>READ</var>, <var>PRINT SCREEN</var>, <var>PRINT MENU</var>, and <var>REREAD</var> statements</td></tr>
<tr><th><var>X'02'</var></th>
<tr><th align="right"><var>X'40'</var></th><td><var>READ IMAGE</var> and <var>WRITE IMAGE</var> statements</td></tr>
<td>Calls to [[Subroutines|subroutines]] containing serial statements</td></tr>
<tr><th align="right"><var>X'80'</var></th><td>Produce compilation warning messages for serial statements</td></tr>
 
<tr><th><var>X'04'</var></th>
<td><code>MP=NO</code> [[Performance monitoring and tuning#$Functions|$functions]]</td></tr>
 
<tr><th><var>X'08'</var></th>
<td><var>[[STORE RECORD statement#STORE RECORD statement|Store Record]]</var> and <var>[[STORE RECORD statement#DELETE RECORD statement|Delete Record]]</var> statements</td></tr>
 
<tr><th><var>X'10'</var></th>
<td>Field-level update statements (<var>[[Data maintenance#Add statement|Add Field]]</var>, <var>[[Data maintenance#Change statement|Change Field]]</var>, <var>[[Data maintenance#Delete statement|Delete Field]]</var>)</td></tr>
 
<tr><th><var>X'20'</var></th>
<td><var>[[Full-screen feature#READ SCREEN statement|Read]]</var>, <var>[[Full-screen feature#PRINT SCREEN statement|Print Screen]]</var>, <var>[[Full-screen feature#PRINT MENU statement|Print Menu]]</var>, and <var>[[Full-screen feature#REREAD SCREEN statement|Reread]]</var> statements</td></tr>
 
<tr><th><var>X'40'</var></th>
<td><var>[[Images#READ IMAGE statement|Read Image]]</var> and <var>[[Images#WRITE IMAGE statement|Write Image]]</var> statements</td></tr>
<tr><th><var>X'80'</var></th>
<td>Produce compilation warning messages for serial statements</td></tr>
</table>
</table>
<p>
<p>
An <var>[[Performance monitoring and tuning#Optimization using MPOPTS and MP OPTIONS|MP OPTIONS]]</var> SOUL statement can temporarily override the <var>MPOPTS</var> parameter. For more information on multiprocessing concepts and parameters, refer to [[Performance monitoring and tuning#Multiprocessing (MP/204)|Multiprocessing (MP/204)]].</p>
An <var>[[MP Options statement|MP Options]]</var> SOUL statement can temporarily override the <var>MPOPTS</var> parameter. For more information on multiprocessing concepts and parameters, refer to [[Performance monitoring and tuning#Multiprocessing (MP/204)|Multiprocessing (MP/204)]].</p>


[[Category:System parameters]]
[[Category:System parameters]]
[[Category:Parameters]]
[[Category:Parameters]]

Latest revision as of 23:20, 26 July 2018

MP user language options

Summary

Default value
X'7F'
Parameter type
User
Where set
User resettable
Related products
All
Introduced
Model 204 V4.1 or earlier

Description

The MPOPTS parameter setting is used to tune system multiprocessing. The SOUL compiler strategy offloads as much work as possible to subtasks. You can reduce the scope of this subtask offloading by setting MPOPTS parameter to offload selectively for a particular section of code.

By default, MPOPTS omits offloading for:

  • Nested loops
  • MP=NO $functions
  • Mixed mode statements

MPOPTS applies only to z/OS. Its valid settings are:

SettingMeaning
X'01' Loops containing serial statements
X'02' Calls to subroutines containing serial statements
X'04' MP=NO $functions
X'08' Store Record and Delete Record statements
X'10' Field-level update statements (Add Field, Change Field, Delete Field)
X'20' Read, Print Screen, Print Menu, and Reread statements
X'40' Read Image and Write Image statements
X'80' Produce compilation warning messages for serial statements

An MP Options SOUL statement can temporarily override the MPOPTS parameter. For more information on multiprocessing concepts and parameters, refer to Multiprocessing (MP/204).