Class RoundRobin

  • All Implemented Interfaces:
    SiteSelector

    public class RoundRobin
    extends AbstractPerJob
    This ends up scheduling the jobs in a round robin manner. In order to avoid starvation, the jobs are scheduled in a round robin manner per level, and the queue is initialised for each level.
    Version:
    $Revision$
    Author:
    Karan Vahi
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      (package private) class  RoundRobin.NameValue
      A inner name value class that associates a string with an int value.
    • Constructor Summary

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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String description()
      Returns a brief description of the site selection techinque implemented by this class.
      private void initialiseList​(java.util.List pools)
      It initialises the internal list.
      private java.lang.String listToString​(java.util.List elements)  
      void mapJob​(edu.isi.pegasus.planner.classes.Job job, java.util.List sites)
      Maps a job in the workflow to an execution site.
      • Methods inherited from class java.lang.Object

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

      • mCurrentLevel

        private int mCurrentLevel
        The current level in the abstract workflow. It is level that is designated by Chimera while constructing the graph bottom up.
      • mExecPools

        private java.util.LinkedList mExecPools
        The list of pools that have been given by the user at run time or has been authenticated against. At present these are the same as the list of pools that is passed for site selection at each function.
    • Constructor Detail

      • RoundRobin

        public RoundRobin()
        The default constructor. Not to be used.
    • Method Detail

      • description

        public java.lang.String description()
        Returns a brief description of the site selection techinque implemented by this class.
        Returns:
        String
      • mapJob

        public void mapJob​(edu.isi.pegasus.planner.classes.Job job,
                           java.util.List sites)
        Maps a job in the workflow to an execution site.
        Specified by:
        mapJob in class AbstractPerJob
        Parameters:
        job - the job to be mapped.
        sites - the list of String objects representing the execution sites that can be used.
      • initialiseList

        private void initialiseList​(java.util.List pools)
        It initialises the internal list. A node in the list corresponds to a pool that can be used, and has the value associated with it which is the number of jobs in the current level have been scheduled to it.
        Parameters:
        pools - List
      • listToString

        private java.lang.String listToString​(java.util.List elements)