Compute Resource Object
The Compute Resource Object is used to describe computational properties of the resource. Not all resources in the SGCI Resource Catalog are assumed to provide compute facilities. |
||
type |
object |
|
properties |
||
|
Job scheduler configured on the resource |
|
type |
string |
|
enum |
FORK, BATCH |
|
|
The connection objects indicate available methods for accessing the resource. |
|
type |
array |
|
items |
#/definitions/connectionDefinition |
|
minItems |
1 |
|
|
This list defines all the commands required to execute any command on the resource |
|
type |
array |
|
items |
#/definitions/executionCommandDefinition |
|
|
The batchSystem object lists all parameters required by the batch scheduler system |
|
#/definitions/batchSystemDefinition |
||
|
The forkSystem object lists all parameters required by the fork scheduler system |
|
#/definitions/forkSystemDefinition |
Connection Object / connectionDefinition
The connection object defines all parameters required to establish a connection with the resource |
||
type |
object |
|
properties |
||
|
Communication protocol required to establish a connection with the resource |
|
type |
string |
|
enum |
SSH, GLOBUS, HTTP, HTTPS, SFTP, SCP, IRODS |
|
|
Cryptographic or access protocol enabled to access the resource |
|
type |
string |
|
enum |
PASSWORDS, SSHKEYS, APIKEYS, X509, OAUTH2 |
|
|
Communication endpoint host (if omitted, the top level host of this resource is used) |
|
#/definitions/hostName |
||
|
Communication endpoint port |
|
type |
integer |
|
|
The ProxyHost object includes details required to connect to the proxy tunneling |
|
#/definitions/hostName |
||
|
Communication endpoint required by the proxy |
|
type |
integer |
Batch System Object / batchSystemDefinition
type |
object |
|
properties |
||
|
Job scheduler software installed on the resource no handle job requests |
|
type |
string |
|
enum |
SLURM, SGE, PBS, PBSPRO, TORQUE, LOADLEVELER, LSF |
|
|
Hostname of the job manager |
|
#/definitions/hostName |
||
|
List of commands supported by the Batch System |
|
type |
array |
|
items |
#/definitions/commandPathDefinition |
|
|
List of public partitions and queues installed on the Batch System |
|
type |
array |
|
items |
#/definitions/partitionDefinition |
fork System Object / forkSystemDefinition
type |
object |
|
properties |
||
|
OS installed on the resource |
|
type |
string |
|
enum |
LINUX, WINDOWS |
|
|
Version of OS installed on the resource |
|
type |
string |
|
|
NodeHardware object contains details about the software installed on the resource |
|
#/definitions/nodeHardwareDefinition |
Examples
Carbonate HPC Cluster
{
"schemaVersion": "1.0.0",
"name": "Carbonate HPC",
"host": "carbonate.uits.iu.edu",
"computeResources": [{
"schedulerType": "BATCH",
"connections": [{
"connectionProtocol": "SSH",
"securityProtocol": "SSHKEYS",
"port": 22
}],
"batchSystem": {
"jobManager": "SLURM",
"commandPaths": [{
"name": "SUBMISSION",
"path": "/foo"
}]
}
}],
"storageResources": [{
"storageType": "POSIX",
"connections": [{
"connectionProtocol": "SSH",
"securityProtocol": "SSHKEYS",
"port": 22
}],
"fileSystems": [{
"rootDir": "/",
"scratchDir": "/scratch"
}]
}]
}
TACC Stampede2 Cluster
{
"schemaVersion": "1.0.0",
"host": "stampede2.tacc.xsede.org",
"name": "tacc-xsede-stampede2",
"description": "WIP: Sample resource for TACC Stampede2 Cluster",
"computeResources": [
{
"schedulerType": "BATCH",
"connections": [
{
"connectionProtocol": "SSH",
"securityProtocol": "SSHKEYS",
"port": 22
},
{
"connectionProtocol": "SSH",
"securityProtocol": "PASSWORDS",
"port": 22
}
],
"batchSystem": {
"jobManager": "SLURM",
"commandPaths": [
{
"name": "SUBMISSION",
"path": "/bin/sbatch"
}
],
"partitions": [
{
"name": "normal",
"totalNodes": 256,
"nodeHardware": {
"cpuType": "KNL CPUs @ 1.40GHz",
"cpuCount": 68,
"memoryType": "DDR4",
"memorySize": "96 GB"
}
}
],
"executionCommands" : [
{
"commandType" : "mpi",
"commandPrefix" : "ibrun",
"moduleDependencies" : ["intel/17.0.4", "impi/17.0.3"]
}
]
}
},
{
"schedulerType": "FORK",
"connections": [
{
"connectionProtocol": "SSH",
"securityProtocol": "SSHKEYS",
"port": 22
},
{
"connectionProtocol": "SSH",
"securityProtocol": "PASSWORDS",
"port": 22
}
],
"forkSystem": {
"systemType": "LINUX"
}
}
],
"storageResources": [
{
"storageType": "POSIX",
"connections": [
{
"connectionProtocol": "SSH",
"securityProtocol": "SSHKEYS",
"port": 22
}
],
"fileSystems": [
{
"homeDir": "/home1",
"scratchDir": "/scratch",
"workDir": "/work"
}
]
}
]
}