scorehosts.db

SCore Cluster Database File

DESCRIPTION

The scorehosts.db file describes how a cluster is configured. This file is read by an SCore program directly or read by the scoreboard(8) daemon program so that the file content can be accessed from remote compute hosts (nodes). The SCBDSERV environment variable defines where and how to read the scorehosts.db file. If the SCBDSERV environment value begins with a slash (/) symbol, then the value is assumed to be a filename, otherwise the value is assumed to be a host name to connect with. A hostname can be followed by colon (:) symbol and a port number of the connection.

SYNTAX

This database is consisting of a number of records. A record has a record name followed by a list of attribute and associated value pairs. A record is a line. If two or more lines having the same name, then the lines are merged and treated as if the lines are written in one line.

An attribute should have at least one associated value. A attribute name is immediately followed by equal (=) symbol and then followed by series of values separated by comma (,) symbool. If a record has two or more attributes with the same attribute name then the value list of the attribute is concatenated of them.

DEFECT LIST

When a record name is prefixed by tilde (~) symbol, then the record is treated as defected. If a record have multiple lines and one of the name is marked as defected, then the entire record is treated as defetced. The actual effect of defected records is up to the scorehosts(1) program. Usually, the defected record will be replaced by a spare record which is listed as a values of spare attribute.

CPP MACRO

This file is firstly processed by the Linux cpp(1) program and any cpp macro can be defined and used in this file. Comments in C or C++ programming language syntax is also accepted. The include statement is also effective.

HOST RECORD

Any host in an SCore cluster must have the following attributes in a host record. The name of the host record must be the official hostname. The cpugen attribute is used to identify if the cluster is homogeneous or heterogeneous. You may give any arbitrary name as a value of this attribute, however, the same architecture having the same processor, same operating system including version number, shuld have the same name. The speed attribute is used for load-balancing. When jobs are submitted to SCore-D running in multi-user mode, then this speed values are taken into account. Only the relative magnitude has its meaning. The socks attribute specifies the number of CPU sockets, and the cores attribute specifies the number of cores (CPUs) in the host (not per socket). When the speed, socks or cores attibutes is omitted, then the lost value is taken from the operating system. The network attributes should have the value list of names of network record(s) (see below). The group attributes have the group names to which the host belongs. And the msgb attributes specifies the msgvserv(8) server.

Parameters:
cpugen CPU architecture name (arbitrary string)
speed speed factor (arbitrary number)
socks number of CPU sockets in the host
cores number of cores (CPUs) in the host
network list of network names
group list of group names
msgb host name where msgbserv is running to lock the host exclusively (optional attribute).

NETWORK RECORD

The name of a network record is the name of network referenced by the host record (see the HOST RECORD section). Network record must have one type attribute which value is one of the PMX device names and the device dependent attribues of the network device described in the following subsections.

SCTP

Parameters:
type the type parameter must be sctp
netdevs network interface name (eth0)
timetolive timetolive parameter in sec of the SCTP protocol
nstreams number streams of the SCTP protocol
bufsize the size of buffer, must be larger than MTU two-sided (1452 bytes)
n_send_desc the number of maximum number of send descriptors
n_recv_desc the number of maximum number of receive descriptors

Ethernet

When some of the following parameters are different on host by host and the record name is in the form of "ethernet" and a hostname separated by a slash (/),
       ethernet/comp05.pccluster.org  netdev=eth1  backoff=100
then the parameters in the record are taken into account on the host.

Parameters:
type the type parameter must be ethernet
channel device channel number. default channel is 0. If you use only one channel, please set channel to 0.
netdev network device name (eth0, eth1...). The default is eth0.
nsend default number of send
maxnsend maximum number of sending packets at a time.
minnsend minimum number of sending packets at a time.
ackskip number of packet to skip send ack frame.
maxpkt maximum nuumber of send packet during 10 ms.
maxctrl maximum nuumber of send control packet during 10 ms.
backoff A re-transmitting time.
checksum if set to 1, enable data checksum.
mtu specify MTU.
sendbufsize send buffer size.
recvbufsize receive buffer size.
senddesc number of send descriptors.
recvdesc number of receive descriptors.

Etherhxb

When some of the following parameters are different on host by host and the record name is in the form of "etherhxb" and a hostname separated by a slash (/),
       etherhxb/comp08.pccluster.org  maxnsend=16
then the parameters in the record are taken into account on the host.

Parameters:
type the type parameter must be etherhxb
unit device unit number. This parameter must be set.
trunk number of trunking devices -trunk=2 means 2 way trunking
slot base ethernet unit number to select ethX number -slot=1 use eth1
ackskip number of packet to skip send ack frame.
backoff A re-transmitting time.
checksum if set to 1, enable data checksum.
mtu specify MTU.

MX (Myrinet)

Parameters:
type the type parameter must be mx
mtu-twoside MTU for two-sided communication such as pmxSend or pmxReceive
mtu-oneside MTU for one-sided communication such as pmxWrite
nicno NIC ID of Myrinet card (0, 1, ...)
n_send_desc Number of send descriptors
n_recv_desc Number of receive descriptors
max_unexp Size of buffer to store messages which are not received (in bytes)

Infiniband

Parameters:
type the type parameter must be infiniband
dev-name infiniband device name
send_depth number of posting send descriptor
recv_depth number of posting receive descriptor
size MTU

EXAMPLE

Example of scorehosts.db file.

//
// SCore 7.0
// scorehosts.db file example
//

// begin of scorehosts.db file example
//
// Network Records

e1000           type=ethernet channel=0 netdev=eth0 // PMX/Ethernet on eth0
e1000/comp03.pccluster.org netdev=eth1       // PMX/Ethernet on eth1 at comp03
myrinet         type=mx         // PMX/MX
ib              type=infiniband // PMX/Infiniband

// cpp macro for msgbserv
#define MSGB            msgbserv=server.pccluster.org

// for hosts having Pentium CPU
#define HOST_A          cpugen=Pentium speed=2800 core=4 
// for hosts having Athlon CPU
#define HOST_B          cpugen=Athlon speed=2800 core=4 

// for hosts connected with PMX/Infiniband and PMX/Ethernet
#define NET_A           network=ib,e1000
// for hosts connected with PMX/MX and PMX/Ethernet
#define NET_B           network=myrinet,e1000

// for hosts belonging to group "pcc" and "group_a"
#define GROUP_A         group=all,group_a
// for hosts belonging to group "pcc" and "group_b"
#define GROUP_B         group=all,group_b

// Macro combination of above macros
#define HOST_A          MSGB HOST_A NET_A GROUP_A
#define HOST_B          MSGB HOST_B NET_B GROUP_B

// Host Records
// Here comp00 ... comp07 are defined using the above macros

comp00.pccluster.org    MSGB HOST_A
comp01.pccluster.org    MSGB HOST_A
comp02.pccluster.org    MSGB HOST_A
comp03.pccluster.org    MSGB HOST_A
comp04.pccluster.org    MSGB HOST_B
comp05.pccluster.org    MSGB HOST_B
comp06.pccluster.org    MSGB HOST_B
comp07.pccluster.org    MSGB HOST_B

// Defected Host(s)

~comp05.pccluster.org

// end of scorehosts.db file example

SYNTAX CHECK

The scorehosts(1) command with the --check option can check if the scorehosts.db file is syntactically correct, and see how the description of the database is interpreted.

SEE ALSO

scorehosts(1), scout(1), scrun(1), scoreboard(8), msgbserv(8).
CREDIT
This document is a part of the SCore cluster system software developed at PC Cluster Consortium, Japan. Copyright (C) 2003-2008 PC Cluster Consortium.