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

  • schedulerType

Job scheduler configured on the resource

type

string

enum

FORK, BATCH

  • connections

The connection objects indicate available methods for accessing the resource.

type

array

items

#/definitions/connectionDefinition

minItems

1

  • executionCommands

This list defines all the commands required to execute any command on the resource

type

array

items

#/definitions/executionCommandDefinition

  • batchSystem

The batchSystem object lists all parameters required by the batch scheduler system

#/definitions/batchSystemDefinition

  • forkSystem

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

  • connectionProtocol

Communication protocol required to establish a connection with the resource

type

string

enum

SSH, GLOBUS, HTTP, HTTPS, SFTP, SCP, IRODS

  • securityProtocol

Cryptographic or access protocol enabled to access the resource

type

string

enum

PASSWORDS, SSHKEYS, APIKEYS, X509, OAUTH2

  • host

Communication endpoint host (if omitted, the top level host of this resource is used)

#/definitions/hostName

  • port

Communication endpoint port

type

integer

  • proxyHost

The ProxyHost object includes details required to connect to the proxy tunneling

#/definitions/hostName

  • proxyPort

Communication endpoint required by the proxy

type

integer

Batch System Object / batchSystemDefinition

type

object

properties

  • jobManager

Job scheduler software installed on the resource no handle job requests

type

string

enum

SLURM, SGE, PBS, PBSPRO, TORQUE, LOADLEVELER, LSF

  • host

Hostname of the job manager

#/definitions/hostName

  • commandPaths

List of commands supported by the Batch System

type

array

items

#/definitions/commandPathDefinition

  • partitions

List of public partitions and queues installed on the Batch System

type

array

items

#/definitions/partitionDefinition

fork System Object / forkSystemDefinition

type

object

properties

  • systemType

OS installed on the resource

type

string

enum

LINUX, WINDOWS

  • version

Version of OS installed on the resource

type

string

  • nodeHardware

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"
        }
      ]
    }
  ]
}