Function
To pass information to the exofile twinning activity.
Format
Forbidden contexts
NOT OPERATOR, REMOTE
Execution
Format 1
TWIN INITIALISE,Unumber
The TWIN INITIALISE directive must be issued in both processors (though not necessarily simultaneously) to allow access to exofiles on shared dual access drives. The unit number parameter specifies the operator's number of the IPB channel through which the exofile twinning dialogue is to take place.
On receipt of the command an attempt is made to open IPC links for reading and writing.
Successful Establishment of Links
When IPC links are established, an initialising message containing details of the status of each twinned spindle is sent and checks are made for the following:-
On successful completion of the command, messages T3 to T5 are output as appropriate followed by message T1.
Unsuccessful Establishment of Links
This condition can arise for the following reasons:-
In all case message T6 is output to the operator's console. The action to be taken is given in the following table:-
| Condition | Action | Event | Comment |
|---|---|---|---|
| IPB inoperable (Note 1) |
Issue the TWIN command with UP directive | Messages T3 to T5 and T2 are output to the console | No access to shared spindles permitted |
| Other processor not running | Issue the TWIN command with DOWN directive | Messages T3 to T5 followed by T1 are output | Full access to shared spindles permitted |
| No TWIN INITIALISE command issued in other processor (Note 2) |
Issue the TWIN INITIALISE command in other processor | Messages T3 to T5 followed by T1 are output | Full access to shared spindles permitted |
Notes
Changing the IPB Channel for Twinning Dialogue
The TWIN INITIALISE command should be used whenever another IPB channel is required for twinning dialogue. The effect is to close the existing IPC links and then establish new links through the specified channel.
Messages T3 to T5 and T7 are output to the operator's console followed by message T6 if the IPC links cannot be established through the specified channel.
Command Errors Associated with the Initialise Directive
| I1 | UNIT z IS NOT AN IPB DEVICE |
| I2 | THE PROCESSORS CONNECTED BY UNIT z HAVE THE SAME IDENTITY |
| I3 | THERE ARE NO TWINNED UDAS DEVICES ON THIS INSTALLATION |
| I4 | TWIN COMMAND IN PROGRESS (see Note below) |
| I5 | TWINNED UNITS z ARE IN WRONG STATE |
| I6 | UNIT z IS NOT ATTACHED TO A PROCESSOR THAT IS RUNNING UNDER GEORGE |
Note: The TWIN COMMAND IN PROGRESS error message is output when a TWIN INITIALISE command has previously been issued but has not terminated, that is, message T1 or T2 has not been output to the operator's console at the time of issuing another TWIN INITIALISE command.
Command Errors Associated with the Initialise Directive
| T1 | EXOFILE TWINNING SYSTEM USING IPB UNIT z |
| T2 | TWINNING SYSTEM NOT INITIALISED - PROCESSOR LINK FAIL |
| T3 | UNITS z ARE SHARED |
| T4 | UNITS z ARE DEDICATED |
| T5 | UNITS z ARE UNDEDICATED |
| T6 | PLEASE ISSUE TWIN COMMAND GIVING STATE OF OTHER PROCESSOR |
| T7 | TWINNING LINKS CLOSED AND RE-OPENED ON IPB z |
Format 2
TWIN UP/DOWN
These two directives (in which the number parameter is not required) enable the operator to inform GEORGE 3/4 of the state of the GEORGE 3/4 in the other processor. This is necessary since it is not always possible for GEORGE to distinguish between IPB inoperable and GEORGE not working in the other processor.
These directives must only be issued in response to the request
PLEASE ISSUE TWIN COMMAND GIVING STATE OF OTHER
PROCESSOR
The reply must be made to the processor that issued the request.
The effect of these directoves is cancelled by GEORGE when normal mode conditions are restored. If neither of these directives are issued in response to the 'PLEASE ISSUE...' request any jobs requiring use of shared spindles will be held waiting until normal conditions are restored.
UP
This directive to the TWIN command informs GEORGE that the IPB is inoperable.
Any jobs wanting to access the System Control Area of storage units on shared
spindles are set waiting. For each job so affected the message:-
JOB NO y NEEDS IPB OR STORAGE UNIT z
TO BE DEDICATED
is output once to the central operator's console. If the TWIN DEDICATE command
is not used the jobs restart when the IPC twinning links are re-established.
DOWN
This directive should be used under the following conditions:
The processor receiving this directive takes control of all the shared spindles and no longer communicates with the other processor about exofile usage.
Under no circumstances should TWIN DOWN be allowed to operate in both processors simultaneously.
Command Errors Associated with the Initialise Directive
GEORGE HAS NOT REQUESTED THIS DIRECTIVE TO BE ISSUED
Format 3
TWIN SHARE/DEDICATE/UNDEDICATE,Unumber
This group of directives is used to change the status of a dual access spindle. In all cases the number parameter is required and must specify the operator's number of a dual access direct access device.
The SHARE (SH) directive causes the specified spindle to be marked as shared.
The DEDICATE (DE) directive causes the processor in which it is issued to have full access to the storage unit on the specified spindle.
The UNDEDICATE (UN) directive causes the spindle specified to appear as being offline to the processor in which it is issued.
The effect of these directives only lasts for the duration of the GEORGE run in which they are issued; that is, if GEORGE breaks, the status of the twinned spindles reverts at the next GEORGE READY to that specified in the DEDICATE/UNDEDICATE restore-time macros or the equivalent Allocator/Loader directives.
When a status change is declared by issuing the TWIN SHARE/DEDICATE/UNDEDICATE command GEORGE checks the following:-
The effect of the status change directives then depends on the state of the exofile twinning system which can be one of the following:-
Exofile Twinning Not Initialised
This situation arises when the processor in which the command is issued has passed GEORGE READY but a TWIN INITIALISE has either not been issued, or not implemented successfully because either the other processor or the IPB is not working. In this state the status of the drive is changed only in the issuing processor.
Exofile Twinning Running Normally
This is the situation where both processors have passed GEORGE READY, both have issued and successfully implementeda TWIN INITIALISE command and the system is running smoothly. In this state a TWIN command declaring a status change is issued in one processor only and this causes the status in the other processor to be changed accordingly; that is, a TWIN SHARE command issued in one processor causes the device to be marked as SHARED in both processors, while TWIN DEDICATE command causes the drive to be marked DEDICATED in one processor and UNDEDICATED in the other processor and vice versa for TWIN UNDEDICATE.
The checks described above are made in both processors and any failure causes the command to be errored so the status remains unchanged in both processors.
Exofile Twinning in Cripple Mode
When exofile twinning detects a breakdown in the IPB communication it outputs
the request:-
PLEASE ISSUE TWIN COMMAND GIVING STATE OF OTHER
PROCESSOR
to determine the cause of the problem. A TWIN DOWN reply informs GEORGE that
the other processor has gone down. The live processor allows activities to
access any dedicated or shared drive. A TWIN UP reply implies the IPB is
inoperable and the other processor is still running, so GEORGE only allows
access to dedicated drives to prevent the two processors accessing shared
drives in an incompatible manner. A TWIN SHARE command issued in this state
is errored since a shared drive would not be accessed by either processor.
With this exception any of the status change directives can be issued in
cripple mode but the status will only be changed in the issuing processor.
Change of status while in cripple mode demands caution, particularly in the
TWIN UP state since GEORGE is unable to validate the status consistency
between the two machines. Note particularly that if a TWIN DEDICATE command is
issued in one processor then a TWIN UNDEDICATE command for that spindle must
first be issued in the other processor.
When exofile twinnig recovers from cripple mode the live processor(s) automatically attempts to re-initialise twinning. A processor which has been down must issue a TWIN INITIALISE command for initialisation to take place. When re-initialisation takes place the status of each drive is checked for consistency; that is each twinned spindle must either be shared in both processors or dedicated in one and undedicated in the other. Any inconsistencies produce an error message and exofile twinning remains in cripple mode. The TWIN command must then be issued to change the status of any drive as necessary to obtain consistency between the two machines. It should be remembered at this stage, that if a processor has been down the status of the drives on reloading reverts to that specified in the restore.
Whatever the state of exofile twinning, when a status change has been successfully implemented an informatory message is output to the machines in which the change has taken place.
If a change has taken place in only one processor, that is exofile twinning
is either not initialised or is in cripple mode, the message is:-
UNIT nn IS NOW SHARED/DEDICATED/UNDEDICATED
BUT NO CHECKS MADE IN OTHER PROCESSOR
If exofile twinning is running normally and changes have been made in both
processors the message is:-
UNIT nn IS SHARED/DEDICATED/UNDEDICATED
as appropriate in each processor.
For a failed TWIN SHARE/DEDICATE/UNDEDICATE command one of the following messages is output:-
| E1 | UNIT nn IS NOT A TWINNED UDAS DEVICE |
| E2 | TWIN COMMAND IN PROGRESS |
| E3 | UNIT nn IS IN USE |
| E4 | UNIT nn CANNOT BE SHARED DUE TO PROCESSOR LINK FAILURE |
The following table summarises the effect of the TWIN SHARE/DEDICATE/UNDEDICATE command:-
| Exofile twinning not initialised | Initialised and running normally | Cripple mode reasons not yet known | IPB inoperable (TWIN UP issued) | Other GEORGE down (TWIN DOWN issued) | |
|---|---|---|---|---|---|
| TWIN SHARE issued in machine A | Shared in A No effect in B |
Shared in both | Waits for recovery or TN UP/DOWN to be issued | Error E4 | Shared in A No effect in B |
| TWIN DEDICATE issued in A | Dedicated in A No effect in B |
Dedicated in A Undedicated in B |
As above | Dedicated in A No effect in B |
Dedicated in A No effect in B |
| TWIN UNDEDICATE issued in A | Undedicated in A No effect in B |
Undedicated in A Dedicated in B |
As above | Undedicated in A No effect in B |
Undedicated in A No effect in B |
Note: Some dual access devices have a hardware dedicate facility on the Disc Switching Unit (DSU). These switches need not be used when the TWIN SHARE/DEDICATE/UNDEDICATE commands are issued, but if they are used then the TWIN DEDICATE must be issued before the DSU dedicate, and the DSU share must be done before issuing TWIN SHARE, otherwise the results are undefined.