OpenTP1 Version 7 System Definition
Format
set format
[set scd_server_count=maximum-user-server-count] [set scd_hold_recovery=Y|F] [set scd_hold_recovery_count=total-number-of-servers-and-services- required-to-inherit-shutdown-status] [set scd_port=schedule-service-port-number] [set scd_this_node_first=Y|N] [set scd_announce_server_status=Y|N] [set max_socket_descriptors=maximum-number-of-file-descriptors-for- sockets] [set schedule_rate=schedule-rate] [set scd_retry_of_comm_error=number-of-retries] [set scd_advertise_control=BEFORE|AFTER] [set scd_message_level=1|2] [set ipc_tcpnodelay=Y|N] [set watch_time=maximum-response-waiting-time] |
command format
{{scdbufgrp -g schedule-buffer-group-name [-n number-of-message-storing-buffer-cells] [-l length-of-a-message-storing-buffer-cell]}} {{scdmulti[-m number-of-multi-scheduler-daemons] [-p port-number] [-g multi-scheduler-group-name] [-t]}} |
Function
The schedule service definition defines the execution environment to schedule service requests to the servers operated under an OpenTP1 system environment. This schedule service uses the message function of the operating system, and creates a schedule queue in units of service groups.
Explanation
set format
scd_server_count=maximum-user-server-count~<unsigned integer> ((0-4096)) <<32>>
Specify the maximum number of user servers to be operated using the schedule service. Include the number of user servers which will be started online with dcsvstart command, the server startup command.
scd_hold_recovery=Y|F~<<Y>>
Specify whether to take over the shutdown status of user servers during a complete recovery of the system.
If the number of shut-down servers or services exceeds the value of the scd_hold_recovery_count operand in the schedule service definition, the shutdown status of the excess servers or services is not taken over. If 0 is specified in the scd_hold_recovery_count operand, the shutdown status of no servers or services is taken over.
For SUPs, MHPs, and the servers that receive requests from sockets for SPPs, you do not need to specify the scd_hold_recovery operand. The following table describes the relationships among the scd_hold_recovery operand, the hold_recovery operands in the user service definition and user service default definition, the start_scheduling_timing operand in the system environment definition, and the scd_hold_recovery_count operand in the schedule service definition.
Operand value | Whether OpenTP1 takes over the shutdown status | |||
---|---|---|---|---|
start_scheduling_timing | hold_recovery | scd_hold_recovery _count | scd_hold_recovery | |
AFTER | Y | 0 | -- | N |
Values other than 0 | -- | Y | ||
N | 0 | -- | N | |
Values other than 0 | -- | N | ||
BEFORE | Y | 0 | -- | N |
Values other than 0 | Y | N | ||
F | Y | |||
N | 0 | -- | N | |
Values other than 0 | -- | N |
scd_hold_recovery_count=total-number-of-servers-and-services-required-to-inherit-shutdown-status~<unsigned integer> ((0-58240)) <<64>>
Specify the total number of servers and services that are required to inherit shutdown status when fully recovering the system. (The specified value is rounded up to an even number.)
For a server for which service_hold=N is specified in the user service definition, the number that is included in the total number is one. For a server for which service_hold=Y is specified, the number that is included in the total number is the number of services that the server has. However, for a server for which service_hold=Y is specified, if hold=N and service_term_watch_time=0 are specified in the user service definition, the number that is included in the total number is one.
If the number of shutdown servers or services exceeds this setting, the shutdown status of the excess is not inherited. If 0 is specified, the shutdown status is not inherited, either.
When the system is fully recovered, the value specified in the previous online processing is inherited. If the previous or current setting is 0, the setting is not inherited.
If any value other than 0 is specified, the shutdown information is stored in the status file. It is necessary to estimate the size of the status file depending on the setting. If the setting is too small, overwriting of the shutdown information occurs many times in the status file.
Depending on the value specified in this operand, you might need to change the value of the rpc_max_message_size operand in the system common definition. If the following expression results in a value larger than 1 (2 to 8), specify a value larger than the resulting value in the rpc_max_message_size operand.
Before changing the value of the rpc_max_message_size operand, read the description of the operand.
scd_port=schedule-service-port-number~<unsigned integer> ((5001-65535))
Specify the port number of the schedule service.
If this operand is omitted, a system-allocated port number is used.
The port number specified using this operand must not be used by other programs.
Note that the operating system assigns certain numbers automatically. You should not use such a number for the port number. The numbers assigned by the operating system differ depending on the type and version of the operating system. For details, see the documentation for your operating system.
scd_this_node_first=Y|N~<<N>>
Specify whether the server on the local node is scheduled first when the requested server is on the local node.
If this operand specifies Y and the scd_announce_server_status operand specifies N, the server on the local node is always scheduled regardless of the load status as long as it can be scheduled.
scd_announce_server_status=Y|N~<<Y>>
Specify whether to report the status of the server on the local node to all the other nodes not periodically. This operand is specified when inter-node load-balancing is performed.
When the same service group is divided among multiple nodes and Y is specified by this operand, the server status is mutually reported between the nodes and the load between the nodes can be balanced. Note that N must be specified in the following cases:
All the distributed nodes must be the same in the specification of this operand. If there is a node with a different specification, the load may be concentrated on it.
max_socket_descriptors=maximum-number-of-file-descriptors-for-sockets~<unsigned integer> ((32-2032))
Specify the maximum number of file descriptors to be used for sockets by the processes under control of OpenTP1#1.
The processes under control of OpenTP1#1 exchange the process information with the system servers or user servers through the TCP/IP communication using sockets. Therefore, you must change the maximum number of file descriptors for sockets depending on the number of UAP processes that run concurrently and the number of other nodes to communicate with.
Use the following formula for calculating the maximum number of file descriptors for sockets:
If the value specified for this operand is too small, the connection cannot be set with other processes under control of OpenTP1. The process terminates abnormally after outputting the KFCA00307-E error message.
The order of priority of the specified values is 1 > 2.
If this operand is omitted, the system assumes the value in the system common definition.
schedule_rate=schedule-rate~<unsigned integer>((50-100)) (unit: %)
When you specify Y in the DCSCDDIRECT operand in the client environment definition of TP1/Client/W or TP1/Client/P to schedule RPCs, specify the percentage of schedules made to the LEVEL0 nodes (there are nodes with server load levels LEVEL0 and LEVEL1).
You can use this definition command when TP1/Extension 1 is already installed. If TP1/Extension 1 is not installed, the operation of this definition command cannot be assured.
scd_retry_of_comm_error=number-of-retries~<unsigned integer>((0-128))<<0>>
Specify the number of times to retry scheduling to nodes other than the failed node if a communication error occurs while service requests are scheduled. However, if the value specified in this operand exceeds the number of nodes started by the service group which is the target of the service request, the number of nodes started by the target service group is used as the upper limit of retries.
If you specify 0, no retry is performed.
You can use this definition command when TP1/Extension 1 is already installed. If TP1/Extension 1 is not installed, the operation of this definition command cannot be assured.
scd_advertise_control=BEFORE|AFTER~<<BEFORE>>
Change the time to report name information to the nodes specified in the all_node operand in the system common definition when the user server starts up.
scd_message_level=1|2~<<2>>
Specify whether to suppress output of message KFCA00854-E, which is output if the memory for the message storage buffer pool becomes insufficient. To suppress output of the message, specify 1.
ipc_tcpnodelay=Y|N~<<N>>
Specify whether to use the TCP_NODELAY option for the socket that OpenTP1 uses for inter-node communication (INET domain).
When the TCP_NODELAY option is used (that is, when Y is specified in this operand), the Nagle algorithm is disabled. When the algorithm is disabled, you can send data without delay even during a wait for a response to the data sent. Note that if this option is used, the efficiency of sending data in INET domain communication may be degraded and the network load may increase. Before using the option, carefully consider whether the option is necessary by taking into account the ipc_sendbuf_size operand, the ipc_recvbuf_size operand, the network bandwidth, and other factors.
watch_time=maximum-response-waiting-time~<unsigned integer> ((0-65535)) (Unit: seconds)
Specify the maximum waiting time between sending a service request and receipt of a response when communicating between processes by RPC.
OpenTP1 may suspend termination processing for the length of time specified in this operand. Therefore, if you specify a large value, the termination processing of OpenTP1 may take some time.
If no response is received within the specified time, RPC returns a transmission timeout error.
Specify 0 if the system is to wait for a response. When you specify 0, OpenTP1 may not terminate.
If this operand is omitted, the value specified with the watch_time operand of the system common definition is assumed.
Use the default of the watch_time operand of the system common definition for this operand.
We recommend that you do not change the operand unless special tuning is necessary.
If a value that is much greater or smaller than the default of the watch_time operand of the system common definition is specified, a failure may occur causing OpenTP1 to go down.
command format
See the following page.
All Rights Reserved. Copyright (C) 2006, 2010, Hitachi, Ltd.