Class HeftBag

  • All Implemented Interfaces:
    edu.isi.pegasus.planner.partitioner.graph.Bag

    public class HeftBag
    extends java.lang.Object
    implements edu.isi.pegasus.planner.partitioner.graph.Bag
    A data class that implements the Bag interface and stores the extra information that is required by the HEFT algorithm for each node.
    Version:
    $Revision$
    Author:
    Karan Vahi
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.Integer ACTUAL_FINISH_TIME
      The constant to be passed to the accessor functions to get or set the actual end time for a job.
      static java.lang.Integer ACTUAL_START_TIME
      The constant to be passed to the accessor functions to get or set the actual start time for a job.
      static java.lang.Integer AVG_COMPUTE_TIME
      The constant to be passed to the accessor functions to get or set the average compute time for the node.
      static java.lang.Integer DOWNWARD_RANK
      The constant to be passed to the accessor functions to get or set the downward rank for a node.
      static java.lang.String[] HEFTINFO
      Array storing the names of the attributes that are stored with the site.
      private float mAvgComputeTime
      The average compute time for a node.
      private float mDownwardRank
      The downward rank for a node.
      private long mEndTime
      The estimated end time for a job.
      private java.lang.String mScheduledSite
      The site where a job is scheduled to run.
      private long mStartTime
      The estimated start time for a job.
      private float mUpwardRank
      The upward rank for a node.
      static java.lang.Integer SCHEDULED_SITE
      The site where the job is scheduled.
      static java.lang.Integer UPWARD_RANK
      The constant to be passed to the accessor functions to get or set the upward rank for a node.
    • Constructor Summary

      Constructors 
      Constructor Description
      HeftBag()
      The default constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean add​(java.lang.Object key, java.lang.Object value)
      Adds an object to the underlying bag corresponding to a particular key.
      boolean containsKey​(java.lang.Object key)
      Returns true if the namespace contains a mapping for the specified key.
      java.lang.Object get​(java.lang.Object key)
      Returns an objects corresponding to the key passed.
      private int getIntValue​(java.lang.Object key)
      A convenience method to get the intValue for the object passed.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • HEFTINFO

        public static final java.lang.String[] HEFTINFO
        Array storing the names of the attributes that are stored with the site.
      • AVG_COMPUTE_TIME

        public static final java.lang.Integer AVG_COMPUTE_TIME
        The constant to be passed to the accessor functions to get or set the average compute time for the node.
      • DOWNWARD_RANK

        public static final java.lang.Integer DOWNWARD_RANK
        The constant to be passed to the accessor functions to get or set the downward rank for a node.
      • UPWARD_RANK

        public static final java.lang.Integer UPWARD_RANK
        The constant to be passed to the accessor functions to get or set the upward rank for a node.
      • ACTUAL_START_TIME

        public static final java.lang.Integer ACTUAL_START_TIME
        The constant to be passed to the accessor functions to get or set the actual start time for a job.
      • ACTUAL_FINISH_TIME

        public static final java.lang.Integer ACTUAL_FINISH_TIME
        The constant to be passed to the accessor functions to get or set the actual end time for a job.
      • SCHEDULED_SITE

        public static final java.lang.Integer SCHEDULED_SITE
        The site where the job is scheduled.
      • mAvgComputeTime

        private float mAvgComputeTime
        The average compute time for a node.
      • mDownwardRank

        private float mDownwardRank
        The downward rank for a node.
      • mUpwardRank

        private float mUpwardRank
        The upward rank for a node.
      • mStartTime

        private long mStartTime
        The estimated start time for a job.
      • mEndTime

        private long mEndTime
        The estimated end time for a job.
      • mScheduledSite

        private java.lang.String mScheduledSite
        The site where a job is scheduled to run.
    • Constructor Detail

      • HeftBag

        public HeftBag()
        The default constructor.
    • Method Detail

      • add

        public boolean add​(java.lang.Object key,
                           java.lang.Object value)
        Adds an object to the underlying bag corresponding to a particular key.
        Specified by:
        add in interface edu.isi.pegasus.planner.partitioner.graph.Bag
        Parameters:
        key - the key with which the value has to be associated.
        value - the value to be associated with the key.
        Returns:
        boolean indicating if insertion was successful.
      • containsKey

        public boolean containsKey​(java.lang.Object key)
        Returns true if the namespace contains a mapping for the specified key.
        Specified by:
        containsKey in interface edu.isi.pegasus.planner.partitioner.graph.Bag
        Parameters:
        key - The key that you want to search for in the bag.
        Returns:
        boolean
      • get

        public java.lang.Object get​(java.lang.Object key)
        Returns an objects corresponding to the key passed.
        Specified by:
        get in interface edu.isi.pegasus.planner.partitioner.graph.Bag
        Parameters:
        key - the key corresponding to which the objects need to be returned.
        Returns:
        the object that is found corresponding to the key or null.
      • getIntValue

        private int getIntValue​(java.lang.Object key)
        A convenience method to get the intValue for the object passed.
        Parameters:
        key - the key to be converted
        Returns:
        the int value if object an integer, else -1