9.2.3. Base ResourceManager API

class radical.entk.execman.base.resource_manager.Base_ResourceManager(resource_desc, sid, rts, rts_config)[source]

A resource manager takes the responsibility of placing resource requests on different, possibly multiple, DCIs.

Arguments:
resource_desc:dictionary with details of the resource request and access credentials of the user
example:resource_desc = { | ‘resource’ : ‘xsede.stampede’, | ‘walltime’ : 120, | ‘cpus’ : 64, | ‘gpus’ : 0, # optional | ‘project’ : ‘TG-abcxyz’, | ‘queue’ : ‘abc’, # optional | ‘access_schema’ : ‘ssh’ # optional | ‘job_name’ : ‘test_job’ # optional}
_populate()[source]
Purpose: Populate the ResourceManager class with the validated
resource description
_terminate_resource_request()[source]
Purpose: Cancel resource request by terminating any reservation
on any acquired resources or resources pending acquisition
_validate_resource_desc()[source]

Purpose: Validate the provided resource description

access_schema
Getter:Return user specified access schema – ‘ssh’ or ‘gsissh’ or None
cpus
Getter:Return user specified number of cpus
get_completed_states()[source]

Purpose: Test if a resource allocation was submitted

get_resource_allocation_state()[source]

Purpose: Get the state of the resource allocation

get_rts_info()[source]

Purpose: Return the RTS information as a dict.

gpus
Getter:Return user specified number of gpus
job_name
Getter:Return user specified job_name
outputs
Getter:list of files to be staged from remote after execution
Setter:Assign a list of names of files that need to be staged from the remote machine
project
Getter:Return user specified project ID
queue
Getter:Return user specified resource queue to be used
resource
Getter:Return user specified resource name
shared_data
Getter:list of files to be staged to remote and that are common to multiple tasks
Setter:Assign a list of names of files that need to be accessible to tasks
submit_resource_request()[source]

Purpose: Submit resource request per provided description

walltime
Getter:Return user specified walltime

9.2.4. RP ResourceManager API

class radical.entk.execman.rp.resource_manager.ResourceManager(resource_desc, sid, rts_config)[source]

A resource manager takes the responsibility of placing resource requests on different, possibly multiple, DCIs. This ResourceManager uses the RADICAL Pilot as the underlying runtime system.

Arguments:
resource_desc:dictionary with details of the resource request and access credentials of the user
example:resource_desc = { | ‘resource’ : ‘xsede.stampede’, | ‘walltime’ : 120, | ‘cpus’ : 64, | ‘project’ : ‘TG-abcxyz’, | ‘queue’ : ‘abc’, # optional | ‘access_schema’ : ‘ssh’ # optional}
_terminate_resource_request()[source]

Purpose: Cancel the RADICAL Pilot Job

get_completed_states()[source]

Purpose: return states which signal completed resource allocation

get_resource_allocation_state()[source]

Purpose: Get the state of the resource allocation

get_rts_info()[source]

Purpose: Return the RTS information as a dict.

pilot
Getter:Return the submitted Pilot
pmgr
Getter:Return the Radical Pilot manager currently being used
session
Getter:Return the Radical Pilot session currently being used
submit_resource_request()[source]
Purpose: Create and submits a RADICAL Pilot Job as per the user
provided resource description

9.2.5. Dummy ResourceManager API

class radical.entk.execman.mock.resource_manager.ResourceManager(resource_desc, sid, rts_config)[source]

A resource manager takes the responsibility of placing resource requests on different, possibly multiple, DCIs. This ResourceManager uses mocks an implementation by doing nothing, it is only usable for testing.

Arguments:
resource_desc:dictionary with details of the resource request and access credentials of the user
example:resource_desc = { | ‘resource’ : ‘xsede.stampede’, | ‘walltime’ : 120, | ‘cpus’ : 64, | ‘project’ : ‘TG-abcxyz’, | ‘queue’ : ‘abc’, # optional | ‘access_schema’ : ‘ssh’ # optional}
_populate()[source]

Purpose: evaluate attributes provided in the resource description

_terminate_resource_request()[source]

Purpose: Cancel the resource

_validate_resource_desc()[source]

Purpose: validate the provided resource description

get_completed_states()[source]

Purpose: test if a resource allocation was submitted

get_resource_allocation_state()[source]

Purpose: get the state of the resource allocation

get_rts_info()[source]

Purpose: Return the RTS information as a dict.

submit_resource_request(*args)[source]

Purpose: Create a resourceas per provided resource description