OpenTP1 Version 7 System Definition

[Contents][Index][Back][Next]

scdmulti (Specify information about multi-scheduler daemons)

Format

{{scdmulti [-m number-of-multi-scheduler-daemons]
           [-p port-number]
           [-g multi-scheduler-group-name]
           [-t]}}

Function

Specifies the information about the multi-scheduler daemons that provide the multi-scheduler facility.

To use the multi-scheduler facility, the following definition command and operand must be specified with this definition command:

RPC receiving side: scdmulti definition command of user service definition

RPC sending side: multi-schedule operand of user service definition

Option

-m number-of-multi-scheduler-daemons~<unsigned integer> ((1-4096)) <<1>>

Specifies the number of multi-scheduler daemon processes.

Each of the processes started by this option is assigned a port number beginning from the value specified in the -p option.

-p port-number~<unsigned integer> ((5001-65535))

Specifies the base port number for multi-scheduler daemons. The multi-scheduler facility starts the multi-scheduler daemons by the number of daemons specified in the -m option. This facility also assigns each of the daemons a port number beginning from the value specified in the -p option up to the value specified in the -p option + the value specified in the -m option -1.

You can omit this option when you specify an scdmulti definition command for each of the multi-scheduler daemons you want to start. You can also omit this option when you specify the scd_port operand in the schedule service definition. When you omit this option, the default of this option is determined as follows:

When scdmulti definition commands have already been executed before this scdmulti definition command, this option defaults to the port number used by the previous scdmulti definition command + 1. When scdmulti definition commands have not been executed yet before this scdmulti definition command and the scd_port operand is specified in the schedule service definition, this option defaults to the value of the scd_port operand + 1. In other cases, a definition error occurs.

If a port number assigned by specifying this option has already been assigned to another multi-scheduler daemon, a definition error occurs.

-g multi-scheduler-group-name~<1-to-8-character identifier> <<scdmltgp>>

Specifies the group name of the multi-scheduler daemons started by the scdmulti definition command.

You should specify this option only when you want to prevent other daemon groups than the specified daemon group from receiving service request messages.

If you have specified this option, you must specify the multi-scheduler group name specified here also in the -g option of the scdmulti definition command when defining the user service for the user server in which you want to have the multi-scheduler daemons schedule the service requests.

If you do not specify this option, a group name of scdmltgp is assumed. Therefore, do not use scdmltgp as a group name.

-t

Specifies whether to transfer some service requests to user servers on other nodes that do not use the multi-scheduler facility (user servers that are not specified with the multi-scheduler facility by using the scdmulti definition command in the user service definition) for load balancing. This load balancing is used when the multi-scheduler daemon receives service requests and the user server in the local node is highly loaded.

Service requests are distributed for load balancing even if this option is not specified when the service requests cannot be scheduled for a reason such as the user server on the local node has shut down.

When you specify this option, the load is distributed to the user servers that do not use the multi-scheduler facility via the master scheduler daemon, and the load may concentrate on the master scheduler daemon.

The following table lists the conditions that trigger load balancing of service requests.

Table 3-3 Conditions that trigger load balancing of service requests

-t option in scdmulti definition command Server status Load balancing of service requests
Node A
(source of service requests)
(multi-scheduler facility specified)
Node B
(destination of service requests)
(multi-scheduler facility not specified)
Specified Normal Normal N
High load N
Cannot be scheduled. N
High load Normal Y
High load N
Cannot be scheduled. N
Cannot be scheduled. Normal Y
High load Y
Cannot be scheduled. N#
Not specified Normal Normal N
High load N
Cannot be scheduled. N
High load Normal N
High load N
Cannot be scheduled. N
Cannot be scheduled. Normal Y
High load Y
Cannot be scheduled. N#

Legend:
Y: Service requests are load-balanced.
N: Service requests are not load-balanced.

#: The schedule service detects that a user server cannot be scheduled only when the user server is shut down.

If a user server cannot be scheduled for reasons other than a shutdown of the user server (for example, the message storage buffer is insufficient), an error is sent from the transfer destination of the service request to the service request source.

Note

For how to request services using the multi-scheduler facility from TP1/Client, see the manual OpenTP1 TP1/Client User's Guide TP1/Client/W, TP1/Client P.

Make sure that all the port numbers used by multi-scheduler daemons are allocatable.

For the port number to be specified in the -p option, specify a value that is different from the well-known port numbers used by other programs and not automatically allocated by the operating system for other processes.

If a specified port number cannot be allocated at the start of multi-scheduler daemons, an attempt to start the schedule service fails, canceling the start of the OpenTP1 system.

Each multi-scheduler daemon is started as a system server of OpenTP1. Therefore, you must add the sum of the values in the -m options of all the scdmulti definition commands to the server_count operand in the system environment definition and to the prc_process_count operand in the process service definition. If the value specified in the server_count operand is smaller than the sum, the system aborts the master scheduler daemon, with an hm02102 error or with an hm02301 error.

You can specify more than one scdmulti definition command. However, if you specify more than one scdmulti definition command, you must explicitly specify the -g option in each scdmulti definition command.

Also, you must specify a different group name in the -g option of each scdmulti definition command. If you specify scdmulti definition commands that violate these rules, a definition error occurs, canceling the start of the OpenTP1 system.

When the multi-scheduler facility is enabled, if a service group in the OpenTP1 system contains some user servers that use the facility and some that do not, service requests are distributed first to the user servers that use the facility.

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.