ARC SDK
|
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< Endpoint > | Arc::ServiceEndpointRetriever |
The ServiceEndpointRetriever is an EntityRetriever retrieving Endpoint objects. More... | |
typedef EntityRetriever< ComputingServiceType > | Arc::TargetInformationRetriever |
The TargetInformationRetriever is an EntityRetriever retrieving ComputingServiceType objects. More... | |
typedef EntityRetriever< Job > | Arc::JobListRetriever |
The JobListRetriever is an EntityRetriever retrieving Job objects. More... | |
typedef JobState::StateType(* | Arc::JobStateMap) (const std::string &) |
Key comparison object definition for Endpoint objects.
typedef EntityRetriever<Job> Arc::JobListRetriever |
The JobListRetriever is an EntityRetriever retrieving Job objects.
It queries computing elements to get the list of jobs residing on the resource.
The ServiceEndpointRetriever is an EntityRetriever retrieving Endpoint objects.
It queries service registries to get endpoints of registered services.
The TargetInformationRetriever is an EntityRetriever retrieving ComputingServiceType objects.
It queries computing elements to get the full GLUE2 information about the resource.