ARC SDK
|
Base class for BrokerPlugins implementing different brokering algorithms. More...
#include <arc/compute/BrokerPlugin.h>
Public Member Functions | |
BrokerPlugin (BrokerPluginArgument *arg) | |
Should never be called directly - instead use BrokerPluginLoader.load(). More... | |
virtual bool | operator() (const ExecutionTarget &lhs, const ExecutionTarget &rhs) const |
Sorting operator - returns true if lhs a better target than rhs. More... | |
virtual bool | match (const ExecutionTarget &et) const |
Returns true if the target is acceptable for the BrokerPlugin. More... | |
virtual void | set (const JobDescription &_j) const |
Set the JobDescription to be used for brokering. More... | |
Protected Attributes | |
const UserConfig & | uc |
const JobDescription * | j |
Static Protected Attributes | |
static Logger | logger |
Base class for BrokerPlugins implementing different brokering algorithms.
Sub-classes implement their own version of a brokering algorithm based on certain attributes of the job or targets. match() is called for each ExecutionTarget and sub-classes should in general first call BrokerPlugin::match(), which calls Broker::genericMatch(), to check that basic requirements are satisfied, and then do their own additional checks. In order for the targets to be ranked using operator() the sub-class should store appropriate data about each target during match().
|
inline |
Should never be called directly - instead use BrokerPluginLoader.load().
|
virtual |
Returns true if the target is acceptable for the BrokerPlugin.
|
virtual |
Sorting operator - returns true if lhs a better target than rhs.
|
virtual |
Set the JobDescription to be used for brokering.