edu.isi.pegasus.planner.selector.site

## Class Heft

- java.lang.Object
- - edu.isi.pegasus.planner.selector.site.Abstract
  - - edu.isi.pegasus.planner.selector.site.Heft

All Implemented Interfaces:
  SiteSelector

    public class Heft
    extends Abstract

The HEFT based site selector. The runtime for the job in seconds is picked from the pegasus profile key runtime in the transformation catalog for a transformation. The data communication costs between jobs if scheduled on different sites is assumed to be fixed. Later on if required, the ability to specify this value will be exposed via properties. The number of processors in a site is picked by the attribute idle-nodes associated with the vanilla jobmanager for a site in the site catalog.

Version:
  $Revision$
Author:
  Karan Vahi
See Also:
  `Algorithm.AVERAGE_BANDWIDTH`, `Algorithm.RUNTIME_PROFILE_KEY`, `Algorithm.DEFAULT_NUMBER_OF_FREE_NODES`, `Algorithm.AVERAGE_DATA_SIZE_BETWEEN_JOBS`, `org.griphyn.cPlanner.classes.JobManager#IDLE_NODES`

### Field Summary

Fields
`private Algorithm` `mHeftImpl` An instance of the class that implements the HEFT algorithm.

### Fields inherited from class edu.isi.pegasus.planner.selector.site.Abstract

`mBag, mLogger, mProps, mSiteStore, mTCMapper`

### Fields inherited from interface edu.isi.pegasus.planner.selector.SiteSelector

`SITE_NOT_FOUND, VERSION`

### Constructor Summary

Constructors
Constructor and Description
`Heft()` The default constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.String` `description()` This method returns a String describing the site selection technique that is being implemented by the implementing class.
`void` `initialize(PegasusBag bag)` Initializes the site selector.
`void` `mapWorkflow(ADag workflow, java.util.List sites)` Maps the jobs in the workflow to the various grid sites.
`void` `mapWorkflow(ADag workflow, java.util.List sites, java.lang.String label)` Maps the jobs in the workflow to the various grid sites.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### mHeftImpl

    private Algorithm mHeftImpl

An instance of the class that implements the HEFT algorithm.

### Constructor Detail

#### Heft

    public Heft()

The default constructor.

### Method Detail

#### initialize

    public void initialize(PegasusBag bag)

Initializes the site selector.

Specified by:
  `initialize` in interface `SiteSelector`
Overrides:
  `initialize` in class `Abstract`
Parameters:
  `bag` - the bag of objects that is useful for initialization.

#### mapWorkflow

    public void mapWorkflow(ADag workflow,
                            java.util.List sites)

Maps the jobs in the workflow to the various grid sites. The jobs are mapped by setting the site handle for the jobs.

Parameters:
  `workflow` - the workflow.
  `sites` - the list of `String` objects representing the execution sites that can be used.

#### mapWorkflow

    public void mapWorkflow(ADag workflow,
                            java.util.List sites,
                            java.lang.String label)

Maps the jobs in the workflow to the various grid sites. The jobs are mapped by setting the site handle for the jobs.

Parameters:
  `workflow` - the workflow in a Graph form.
  `sites` - the list of `String` objects representing the execution sites that can be used.
  `label` - the label of the workflow

#### description

    public java.lang.String description()

This method returns a String describing the site selection technique that is being implemented by the implementing class.

Returns:
  String