ARC SDK
Data Structures | Modules | Typedefs
ARC Compute Library (libarccompute)

Detailed Description

libarccompute is a library for discovering, quering, matching and ranking, submitting jobs to and managing jobs on Grid resources, as well as parsing and assembling job descriptions. It features a uniform high-level interface to a wide range of Service Registries, Information Systems and Computing Services. With this interface, registries can be queried for service endpoints, information systems can be queried for detailed resource and job information, and jobs can be submitted to and managed in a Grid environment. The library doesn't offer specific interfaces to different services, instead it tries to provide a uniform interface to different kind of services.

An introduction on how to use the library to query services for information is given in the description of the EntityRetriever class. How to use the library for submitting jobs is described at the Submitter class reference page. How to manage jobs with the library is described at the JobSupervisor class reference page.

The library uses ARC's dynamic plugin mechanism to load plugins for specific services and features only when required at runtime. These plugins for the libarccompute library are called ARC Compute Components (ACCs). Each of the classes listed below will transparently load any required ACC plugins at runtime when needed. If preferred ACC plugins can also be used and loaded manually, which is described in more detail here.

Support for a custom service (info-system, registry or compute), a ranking algorithm and/or a job description parsing/assembling algorithm is exactly what is defined as a ACC, and it can easily be added to be accessible to the libarccompute library. More details about creating such a plugin can be found here.

With the default NorduGrid ARC plugins installed the librarccompute library supports the following services and specifications:

Computing Services:

Registry and Index Services:

Local Information Schemes:

Matchmaking and Ranking Algorithms:

Job description languages:

Data Structures

class  Arc::Broker
 A Broker filters and ranks acceptable targets for job submission. More...
 
class  Arc::ExecutionTargetSorter
 Wrapper around Broker functionality. More...
 
class  Arc::ComputingServiceUniq
 
class  Arc::ComputingServiceRetriever
 Retrieves information about computing elements by querying service registries and CE information systems. More...
 
class  Arc::EndpointStatusMap
 Status map for Endpoint objects. More...
 
class  Arc::Endpoint
 Represents an endpoint of a service with a given interface type and capabilities. More...
 
class  Arc::EndpointQueryingStatus
 Represents the status in the EntityRetriever of the query process of an Endpoint (service registry, computing element). More...
 
class  Arc::EntityConsumer< T >
 A general concept of an object which can consume entities use by the retrievers to return results. More...
 
class  Arc::EntityContainer< T >
 An entity consumer class storing all the consumed entities in a list. More...
 
class  Arc::EntityRetriever< T >
 Queries Endpoint objects (using plugins in parallel) and sends the found entities to consumers. More...
 
class  Arc::ComputingServiceType
 
class  Arc::ExecutionTarget
 ExecutionTarget. More...
 
class  Arc::Job
 Job. More...
 
class  Arc::JobDescriptionResult
 Job description parsing or assembly result. More...
 
class  Arc::JobDescription
 
class  Arc::JobInformationStorage
 Abstract class for storing job information. More...
 
class  Arc::JobState
 
class  Arc::JobSupervisor
 JobSupervisor class. More...
 
class  Arc::SubmissionStatus
 
class  Arc::EndpointSubmissionStatus
 
class  Arc::Submitter
 Class for submitting jobs. More...
 
class  Arc::WSCommonPlugin< T >
 A general wrapping class that adds common functions for all ARC WS-interface plugins. More...
 

Modules

 Structures holding resource information
 
 JobDescription related classes
 
 Plugin related classes for compute specialisations
 
 Classes for controlling output of compute test plugins
 

Typedefs

typedef bool(* Arc::EndpointCompareFn) (const Endpoint &, const Endpoint &)
 Key comparison object definition for Endpoint objects. More...
 
typedef EntityRetriever< EndpointArc::ServiceEndpointRetriever
 The ServiceEndpointRetriever is an EntityRetriever retrieving Endpoint objects. More...
 
typedef EntityRetriever< ComputingServiceTypeArc::TargetInformationRetriever
 The TargetInformationRetriever is an EntityRetriever retrieving ComputingServiceType objects. More...
 
typedef EntityRetriever< JobArc::JobListRetriever
 The JobListRetriever is an EntityRetriever retrieving Job objects. More...
 
typedef JobState::StateType(* Arc::JobStateMap) (const std::string &)
 

Typedef Documentation

◆ EndpointCompareFn

typedef bool(* Arc::EndpointCompareFn) (const Endpoint &, const Endpoint &)

Key comparison object definition for Endpoint objects.

Since
Added in 3.0.0.

◆ JobListRetriever

The JobListRetriever is an EntityRetriever retrieving Job objects.

It queries computing elements to get the list of jobs residing on the resource.

◆ ServiceEndpointRetriever

The ServiceEndpointRetriever is an EntityRetriever retrieving Endpoint objects.

It queries service registries to get endpoints of registered services.

◆ TargetInformationRetriever

The TargetInformationRetriever is an EntityRetriever retrieving ComputingServiceType objects.

It queries computing elements to get the full GLUE2 information about the resource.