Note: While this document may be dated, it provides an insight into cluster comms - Dale 'Cat' Robinson 4th January 1999. CLUSTER COMMUNICATIONS SPECIFICATION GENERAL The general protocol of the operating system dictates that the master workstation poll the cluster workstations, and that the master workstation and the cluster workstations exchange messages. The protocol requires that every workstation on the cluster communucations line (or all workstations in a minicluster) have a unique workstation identification number. The master workstation initiates all communications; a cluster workstation recognizes messages intended for it by the workstation identification number. The cluster workstation picks a workstation identification number by: monitoring the cluster communications line to find an unused number taking an unused number monitoring the cluster communications line again to see if it has collided with another workstation that may have picked the same number. If a collision occurs, both workstations wait a random time interval before restarting the search for another identicication number. The workstation identification number ranges from 1 to 15 (the largest number of cluster workstations allowed on a single cluster communications line). Identification numbers are not the same as user numbers. User numbers are assigned to cluster workstations by the operating system of the master workstation and are different for every workstation in a cluster. Identification numbers are determined by the cluster workstations and are duplicated on the different cluster communications lines of a cluster. PROTOCOL DEFINITION The link-level cluster communications protocol is a subset of the American National Standars for Advanced Data Communications Control Procedures (ADCCP), as defined in ANSI X3.66-1979, published by the American National Standards Institute, Inc., using UN (Unbalanced Normal) Class of Procedure, Two-way Alternate transmission with optional functions 4, 5 and 6 (Unnumbered Information, Initialization and Unnumbered Polling) used for booting and dumping. The bootstrap/dump protocol is illustrated in Figure 1. Symbols are as follows: Symbol Function SNRM Set normal response mode RIM Request initialization mode SIM Set initialization mode XID Identification frame* UP Unnumbered poll UI Unnumbered data frame RD Request disconnect DISC Disconnect UA Unnumbered acknowledge UI' Unnumber data frame (with termination data) * XID sent by the cluster workstation has an I-field five bytes in length, containing the parameters desired by the workstation. (Refer to the "XID Command/Response I-Field Definition" sub-section, below.) Upon an XID of the format given in the "XID Command/Response I-Field Definition" subsection, below, the master workstation sends an XID of the same format, indicating the desired parameters, and expects to receive a UA in response. (This also occurs on a protocol startup not involving a boot or dump; for example, a local file system.) Figure 1. Cluster Communications Bootstrap/Dump Protocol. DUMP Master Workstation: Bootstrap ROM: SNRM -----------------------> SNRM -----------------------> SNRM -----------------------> <----------------------- RIM SIM -----------------------> <----------------------- XID XID -----------------------> <----------------------- UA UP -----------------------> <----------------------- UI * * * UP -----------------------> <----------------------- UI UP -----------------------> <----------------------- RD DISC -----------------------> <----------------------- UA BOOTSTRAP Master Workstation: Bootstrap ROM: SNRM -----------------------> SNRM -----------------------> SNRM -----------------------> <----------------------- RIM SIM -----------------------> <----------------------- XID XID -----------------------> <----------------------- UA UP -----------------------> <----------------------- UA UI -----------------------> * * * <----------------------- UA UI -----------------------> <----------------------- UA UI' -----------------------> When SYSGENed to run the line at 307 kilobaud to support B22 and B21 workstations, a master will not send XID; if the workstation does not receive an XID from the master, the workstation will assume the line is to be run at 307 kilobaud. Note that the RIM and XID that start off the bootstrap/dump sequence are always sent at 307 kilobaud; if XID negotiation so indicates, the parties then switch to the speed selected by the master workstation. XID COMMAND/RESPONSE I-FIELD DEFINITION Byte No. Function 0 OS type 1 Software revision level 2 Maximum line speed allowed 0 = 1200 baud 1 = 2400 baud 2 = 4800 baud 3 = 9600 baud 4 = 19.2 kilobaud 5 = 56 kilobaud 6 = 153 kilobaud 7 = 307 kilobaud 8 = 615 kilobaud 9 = 1.23 megabaud 10 = 1.54 megabaud 11 = 1.84 megabaud 3 Window size (default = 1) 4 Higher level protocol version: 0 = Current cluster, big reads split at cluster workstation (default) 1 = Current cluster, big reads split at master workstation 2 = BT-Net low interconnect 3 = BT-Net medium interconnect 4 = BT-Net high interconnect 5 Hardware type 0 = B22 1 = B21 2 = B25 3 = XE500 6 Error indicator