Interface JobInfoList

All Known Implementing Classes:
LinkedJobInfoList, PSJobInfoList

public interface JobInfoList

Name: JobInfoList

Description: A JobInfoList is a list used to update raw sampled performance counters of a node or section.

Date: 18/giu/2009 Time: 17:00:44

Version:
1.0 Modified by Ashanka (May 2010): Patch: Multi-Sink Perf. Index Description: Added new Performance index for capturing 1. global response time (ResponseTime per Sink) 2. global throughput (Throughput per Sink) each sink per class.
Author:
Bertoli Marco
  • Method Details

    • size

      int size()
      Gets the number of jobs.
      Returns:
      Number of jobs.
    • size

      int size(JobClass jobClass)
      Gets the number of jobs of the specified job class.
      Parameters:
      jobClass - Specified job class.
      Returns:
      Number of jobs of the specified job class.
    • getRetrialOrbit

      Map<Integer, List<Double>> getRetrialOrbit()
      Gets the retrial orbit.
      Returns:
      Reference to the retrial orbit.
    • addToRetrialOrbit

      void addToRetrialOrbit(Job job)
      Adds a job to the retrial orbit.
      Parameters:
      job - Reference to the job.
    • removeFromRetrialOrbit

      void removeFromRetrialOrbit(Job job)
      Removes a job from the retrial orbit.
      Parameters:
      job - Reference to the job.
    • getJobsIn

      int getJobsIn()
      Gets the number of added jobs.
      Returns:
      Number of added jobs.
    • getJobsInPerClass

      int getJobsInPerClass(JobClass jobClass)
      Gets the number of added jobs of the specified job class.
      Parameters:
      jobClass - Specified job class.
      Returns:
      Number of added jobs of the specified job class.
    • getJobsOut

      int getJobsOut()
      Gets the number of removed jobs.
      Returns:
      Number of removed jobs.
    • getJobsOutPerClass

      int getJobsOutPerClass(JobClass jobClass)
      Gets the number of removed jobs of the specified job class.
      Parameters:
      jobClass - Specified job class.
      Returns:
      Number of removed jobs of the specified job class.
    • getJobsInService

      int getJobsInService()
      Gets the number of jobs in service.
      Returns:
      Number of jobs in service.
    • getJobsInServicePerClass

      int getJobsInServicePerClass(JobClass jobClass)
      Gets the number of jobs in service of the specified job class.
      Parameters:
      jobClass - Specified job class.
      Returns:
      Number of jobs in service of the specified job class.
    • getLastJobInTime

      double getLastJobInTime()
      Gets the time of the last added job.
      Returns:
      Time of the last added job.
    • getLastJobInTimePerClass

      double getLastJobInTimePerClass(JobClass jobClass)
      Gets the time of the last added job of the specified job class.
      Parameters:
      jobClass - Specified job class.
      Returns:
      Time of the last added job of the specified job class.
    • getLastJobOutTime

      double getLastJobOutTime()
      Gets the time of the last removed job.
      Returns:
      Time of the last removed job.
    • getLastJobOutTimePerClass

      double getLastJobOutTimePerClass(JobClass jobClass)
      Gets the time of the last removed job of the specified job class.
      Parameters:
      jobClass - Specified job class.
      Returns:
      Time of the last removed job of the specified job class.
    • getLastJobStartTime

      double getLastJobStartTime()
      Gets the time of the last started job.
      Returns:
      Time of the last started job.
    • getLastJobStartTimePerClass

      double getLastJobStartTimePerClass(JobClass jobClass)
      Gets the time of the last started job of the specified job class.
      Parameters:
      jobClass - Specified job class.
      Returns:
      Time of the last started job of the specified job class.
    • getLastJobEndTime

      double getLastJobEndTime()
      Gets the time of the last ended job.
      Returns:
      Time of the last ended job.
    • getLastJobEndTimePerClass

      double getLastJobEndTimePerClass(JobClass jobClass)
      Gets the time of the last ended job of the specified job class.
      Parameters:
      jobClass - Specified job class.
      Returns:
      Time of the last ended job of the specified job class.
    • getLastJobDropTime

      double getLastJobDropTime()
      Gets the time of the last dropped job.
      Returns:
      Time of the last dropped job.
    • getLastJobDropTimePerClass

      double getLastJobDropTimePerClass(JobClass jobClass)
      Gets the time of the last dropped job of the specified job class.
      Parameters:
      jobClass - Specified job class.
      Returns:
      Time of the last dropped job of the specified job class.
    • getLastJobSwitchTime

      double getLastJobSwitchTime()
      Gets the time of the last switched job.
      Returns:
      Time of the last switched job.
    • getLastJobSwitchTimePerClass

      double getLastJobSwitchTimePerClass(JobClass jobClass)
      Gets the time of the last switched job of the specified job class.
      Parameters:
      jobClass - Specified job class.
      Returns:
      Time of the last switched job of the specified job class.
    • getLastJobBalkingTime

      double getLastJobBalkingTime()
      Gets the time of the last balked job.
      Returns:
      Time of the last balked job.
    • getLastJobBalkingTimePerClass

      double getLastJobBalkingTimePerClass(JobClass jobClass)
      Gets the time of the last balked job of the specified job class.
      Parameters:
      jobClass - Specified job class.
      Returns:
      Time of the last balked job of the specified job class.
    • getLastJobRenegingTime

      double getLastJobRenegingTime()
      Gets the time of the last reneged job.
      Returns:
      Time of the last reneged job.
    • getLastJobRenegingTimePerClass

      double getLastJobRenegingTimePerClass(JobClass jobClass)
      Gets the time of the last reneged job of the specified job class.
      Parameters:
      jobClass - Specified job class.
      Returns:
      Time of the last reneged job of the specified job class.
    • getLastJobRetrialAttemptTime

      double getLastJobRetrialAttemptTime()
      Gets the time of the last retried job.
      Returns:
      Time of the last retried job.
    • getLastJobRetrialTimePerClass

      double getLastJobRetrialTimePerClass(JobClass jobClass)
      Gets the time of the last retried job of the specified job class.
      Parameters:
      jobClass - Specified job class.
      Returns:
      Time of the last retried job of the specified job class.
    • getLastModifyTime

      double getLastModifyTime()
      Gets the time of the last modify.
      Returns:
      Time of the last modify.
    • getLastModifyTimePerClass

      double getLastModifyTimePerClass(JobClass jobClass)
      Gets the time of the last modify of the specified job class.
      Parameters:
      jobClass - Specified job class.
      Returns:
      Time of the last modify of the specified job class.
    • getLastServiceModifyTime

      double getLastServiceModifyTime()
      Gets the time of the last service modify.
      Returns:
      Time of the last modify.
    • getLastServiceModifyTimePerClass

      double getLastServiceModifyTimePerClass(JobClass jobClass)
      Gets the time of the last service modify of the specified job class.
      Parameters:
      jobClass - Specified job class.
      Returns:
      Time of the last service modify of the specified job class.
    • getLastRetrialOrbitModifyTime

      double getLastRetrialOrbitModifyTime()
      Gets the time of the last retrial orbit modify.
      Returns:
      Time of the last retrial orbit modify.
    • getLastRetrialOrbitModifyTimePerClass

      double getLastRetrialOrbitModifyTimePerClass(JobClass jobClass)
      Gets the time of the last retrial orbit modify of the specified job class.
      Parameters:
      jobClass - Specified job class.
      Returns:
      Time of the last retrial orbit modify of the specified job class.
    • getTotalSojournTime

      double getTotalSojournTime()
      Gets the total sojourn time.
      Returns:
      Total sojourn time.
    • getTotalSojournTimePerClass

      double getTotalSojournTimePerClass(JobClass jobClass)
      Gets the total sojourn time of the specified job class.
      Parameters:
      jobClass - Specified job class.
      Returns:
      Total sojourn time of the specified job class.
    • getLastJobSojournTime

      double getLastJobSojournTime()
      Gets the sojourn time of the last removed job.
      Returns:
      Sojourn time of the last removed job.
    • getLastJobSojournTimePerClass

      double getLastJobSojournTimePerClass(JobClass jobClass)
      Gets the sojourn time of the last removed job of the specified job class.
      Parameters:
      jobClass - Specified job class.
      Returns:
      Sojourn time of the last removed job of the specified job class.
    • lookFor

      JobInfo lookFor(Job job)
      Looks for the job info that references the specified job.
      Parameters:
      job - Specified job.
      Returns:
      Job info that references the specified job.
    • getInternalJobInfoList

      List<JobInfo> getInternalJobInfoList()
      Gets the internal job info list.
      Returns:
      Internal job info list.
    • getInternalJobInfoList

      List<JobInfo> getInternalJobInfoList(JobClass jobClass)
      Gets the internal job info list of the specified job class.
      Parameters:
      jobClass - Specified job class.
      Returns:
      Internal job info list of the specified job class.
    • add

      void add(JobInfo jobInfo)
      Adds a new job info to the list.
      Parameters:
      jobInfo - Reference to the job info to be added.
    • addFirst

      void addFirst(JobInfo jobInfo)
      Adds a new job info at the start of the list.
      Parameters:
      jobInfo - Reference to the job info to be added.
    • addLast

      void addLast(JobInfo jobInfo)
      Adds a new job info at the end of the list.
      Parameters:
      jobInfo - Reference to the job info to be added.
    • add

      void add(int index, JobInfo jobInfo)
      Adds a new job info at the specified index.
      Parameters:
      index - Specified index.
      jobInfo - Reference to the job info to be added.
    • add

      void add(int index, JobInfo jobInfo, boolean isPerClassHead)
      Adds a new job info at the specified index.
      Parameters:
      index - Specified index.
      jobInfo - Reference to the job info to be added.
      isPerClassHead - If true, the job info will be put at the start of the per-class list. Otherwise, it will be put at the end.
    • remove

      void remove(JobInfo jobInfo)
      Removes a job info from the list.
      Parameters:
      jobInfo - Reference to the job info to be removed.
    • removeOnly

      void removeOnly(JobInfo jobInfo)
      Removes a job info from the list.
      Parameters:
      jobInfo - Reference to the job info to be removed.
    • removeFirst

      JobInfo removeFirst()
      Removes a job info at the start of the list.
      Returns:
      Job info at the start of the list.
    • removeFirst

      JobInfo removeFirst(JobClass jobClass)
      Removes a job info of the specified job class at the start of the list.
      Parameters:
      jobClass - Specified job class.
      Returns:
      Job info of the specified job class at the start of the list.
    • removeLast

      JobInfo removeLast()
      Removes a job info at the end of the list.
      Returns:
      Job info at the end of the list.
    • removeLast

      JobInfo removeLast(JobClass jobClass)
      Removes a job info of the specified job class at the end of the list.
      Parameters:
      jobClass - Specified job class.
      Returns:
      Job info of the specified job class at the end of the list.
    • getFirstJob

      JobInfo getFirstJob()
    • getLastJob

      JobInfo getLastJob()
    • getJob

      JobInfo getJob(int i)
      Returns ith job in queue
      Parameters:
      i - - indec
      Returns:
      the resulting job info
    • addUsedServersForJob

      void addUsedServersForJob(int job_id, List<Server.BusyServer> busyServers)
      Adds serverTypes used for a job
      Parameters:
      job_id -
      busyServers -
    • removeUsedServerForJob

      void removeUsedServerForJob(int job_id)
      Removes job when finished
      Parameters:
      job_id -
    • analyzeQueueLength

      void analyzeQueueLength(JobClass jobClass, Measure measurement, boolean isServerType, int serverTypeId)
      Analyzes the queue length for the specified job class. jobClass Specified job class. If null, analysis will be job class independent.
      Parameters:
      measurement - Reference to the associated measure.
    • analyzeResponseTime

      void analyzeResponseTime(JobClass jobClass, Measure measurement, boolean isServerType, int serverTypeId)
      Analyzes the response time for the specified job class. jobClass Specified job class. If null, analysis will be job class independent.
      Parameters:
      measurement - Reference to the associated measure.
    • analyzeResidenceTime

      void analyzeResidenceTime(JobClass jobClass, Measure measurement, boolean isServerType, int serverTypeId)
      Analyzes the residence time for the specified job class. jobClass Specified job class. If null, analysis will be job class independent.
      Parameters:
      measurement - Reference to the associated measure.
    • analyzeArrivalRate

      void analyzeArrivalRate(JobClass jobClass, InverseMeasure measurement)
      Analyzes the arrival rate for the specified job class.
      Parameters:
      jobClass - Specified job class. If null, analysis will be job class independent.
      measurement - Reference to the associated inverse measure.
    • analyzeThroughput

      void analyzeThroughput(JobClass jobClass, InverseMeasure measurement, boolean isServerType, int serverTypeId)
      Analyzes the throughput for the specified job class.
      Parameters:
      jobClass - Specified job class. If null, analysis will be job class independent.
      measurement - Reference to the associated inverse measure.
    • analyzeUtilization

      void analyzeUtilization(JobClass jobClass, Measure measurement, boolean isServerType, int serverTypeId)
      Analyzes the utilization for the specified job class. jobClass Specified job class. If null, analysis will be job class independent.
      Parameters:
      measurement - Reference to the associated measure.
    • analyzeUtilizationJoin

      void analyzeUtilizationJoin(JobClass jobClass, Measure measurement)
      Analyzes the utilization of a join for the specified job class.
      Parameters:
      jobClass - Specified job class. If null, analysis will be job class independent.
      measurement - Reference to the associated measure.
    • analyzeEffectiveUtilization

      void analyzeEffectiveUtilization(JobClass jobClass, Measure measurement)
      Analyzes the effective utilization for the specified job class. jobClass Specified job class. If null, analysis will be job class independent.
      Parameters:
      measurement - Reference to the associated measure.
    • analyzeDropRate

      void analyzeDropRate(JobClass jobClass, InverseMeasure measurement, boolean isServerType, int serverTypeId)
      Analyzes the drop rate for the specified job class.
      Parameters:
      jobClass - Specified job class. If null, analysis will be job class independent.
      measurement - Reference to the associated inverse measure.
    • analyzeBalkingRate

      void analyzeBalkingRate(JobClass jobClass, InverseMeasure measurement, boolean isServerType, int serverTypeId)
      Analyzes the balking rate for the specified job class.
      Parameters:
      jobClass - Specified job class. If null, analysis will be job class independent.
      measurement - Reference to the associated inverse measure.
    • analyzeRenegingRate

      void analyzeRenegingRate(JobClass jobClass, InverseMeasure measurement, boolean isServerType, int serverTypeId)
      Analyzes the reneging rate for the specified job class.
      Parameters:
      jobClass - Specified job class. If null, analysis will be job class independent.
      measurement - Reference to the associated inverse measure.
    • analyzeRetrialAttemptsRate

      void analyzeRetrialAttemptsRate(JobClass jobClass, InverseMeasure measurement, boolean isServerType, int serverTypeId)
      Analyzes the retrial attempts rate for the specified job class.
      Parameters:
      jobClass - Specified job class. If null, analysis will be job class independent.
      measurement - Reference to the associated inverse measure.
    • analyzeRetrialOrbitSize

      void analyzeRetrialOrbitSize(JobClass jobClass, Measure measurement, boolean isServerType, int serverTypeId)
      Analyzes the retrial orbit size for the specified job class.
      Parameters:
      jobClass - Specified job class. If null, analysis will be job class independent.
      measurement - Reference to the associated measure.
    • analyzeRetrialOrbitTime

      void analyzeRetrialOrbitTime(JobClass jobClass, Measure measurement)
      Analyzes the retrial orbit time for the specified job class.
      Parameters:
      jobClass - Specified job class. If null, analysis will be job class independent.
      measurement - Reference to the associated measure.
    • analyzeResponseTimePerSink

      void analyzeResponseTimePerSink(JobClass jobClass, Measure measurement)
      Analyzes the response time of a sink for the specified job class.
      Parameters:
      jobClass - Specified job class. If null, analysis will be job class independent.
      measurement - Reference to the associated inverse measure.
    • analyzeThroughputPerSink

      void analyzeThroughputPerSink(JobClass jobClass, InverseMeasure measurement)
      Analyzes the throughput of a sink for the specified job class.
      Parameters:
      jobClass - Specified job class. If null, analysis will be job class independent.
      measurement - Reference to the associated inverse measure.
    • analyzeTardiness

      void analyzeTardiness(JobClass jobClass, Measure measurement)
      Analyzes the tardiness of the specified job class.
      Parameters:
      jobClass - Specified job class. If null, analysis will be job class independent.
      measurement - Reference to the associated measure.
    • analyzeEarliness

      void analyzeEarliness(JobClass jobClass, Measure measurement)
      Analyzes the earliness of the specified job class.
      Parameters:
      jobClass - Specified job class. If null, analysis will be job class independent.
      measurement - Reference to the associated measure.
    • analyzeLateness

      void analyzeLateness(JobClass jobClass, Measure measurement)
      Analyzes the lateness of the specified job class.
      Parameters:
      jobClass - Specified job class. If null, analysis will be job class independent.
      measurement - Reference to the associated measure.
    • analyzeNumberOfServers

      void analyzeNumberOfServers(Measure measurement)
      Analyzes the number of active servers in a Server section
      Parameters:
      measurement - Reference to the associated measure
    • removeJob

      void removeJob(JobInfo jobInfo)
      Removes a job info from the list when a job is removed.
      Parameters:
      jobInfo - Reference to the job info to be removed.
    • redirectJob

      void redirectJob(JobInfo jobInfo)
      Removes a job info from the list when a job is redirected.
      Parameters:
      jobInfo - Reference to the job info to be removed.
    • startJob

      void startJob(JobInfo jobInfo)
      Changes a job info in the list when a job is started.
      Parameters:
      jobInfo - Reference to the job info to be changed.
    • endJob

      void endJob(JobInfo jobInfo)
      Changes a job info from the list when a job is ended.
      Parameters:
      jobInfo - Reference to the job info to be changed.
    • dropJob

      void dropJob(JobInfo jobInfo)
      Removes a job info from the list when a job is dropped.
      Parameters:
      jobInfo - Reference to the job info to be removed.
    • switchJob

      void switchJob(JobInfo jobInfo)
      Changes a job info in the list when a job is switched.
      Parameters:
      jobInfo - Reference to the job info to be changed.
    • balkJob

      void balkJob(JobInfo jobInfo)
      Removes a job info from the list when a job is balked.
      Parameters:
      jobInfo - Reference to the job info to be removed.
    • renegeJob

      void renegeJob(JobInfo jobInfo)
      Removes a job info from the list when a job is reneged.
      Parameters:
      jobInfo - Reference to the job info to be removed.
    • retryJob

      void retryJob(JobInfo jobInfo)
      Adds a job info to the list when a job is retried.
      Parameters:
      jobInfo - Reference to the job info to be added.
    • produceJob

      void produceJob(JobInfo jobInfo)
      Adds a job info to the list when a job is consumed.
      Parameters:
      jobInfo - Reference to the job info to be added.
    • consumeJob

      void consumeJob(JobInfo jobInfo)
      Removes a job info from the list when a job is consumed.
      Parameters:
      jobInfo - Reference to the job info to be removed.
    • changeNumberOfActiveServers

      void changeNumberOfActiveServers(int numberOfServers)
      Changes the number of active servers when the enabling degree changes
    • setNumberOfServers

      void setNumberOfServers(int numberOfServers)
      Sets the number of servers. This parameter is used to scale utilization.
      Parameters:
      numberOfServers - Number of servers.
    • setServerNumRequired

      void setServerNumRequired(int[] serverNumRequired)
      Sets the number of servers required by a class. This parameter is used to scale utilization.
      Parameters:
      serverNumRequired - Number of servers required by a specific class, getting by id.
    • setNetSystem

      void setNetSystem(NetSystem netSystem)
      Sets the network system. This parameter is used to get simulation time.
      Parameters:
      netSystem - Network system.
    • setRegionSoftDeadlinesByClass

      void setRegionSoftDeadlinesByClass(double[] regionSoftDeadlinesByClass)
      Sets the region soft deadlines for each class to be used by tardiness measures. This method should only be called when the relevant station is a blocking region input station.
      Parameters:
      regionSoftDeadlinesByClass - Soft deadlines for each class.
    • analyzeCacheHitRate

      void analyzeCacheHitRate(JobClass jobClass, Measure measurement)
      Methods to calculate cache performance measures
    • getJobsTotalCacheMissCount

      int getJobsTotalCacheMissCount()
    • getJobsTotalCacheHitCount

      int getJobsTotalCacheHitCount()
    • getJobsCacheCountPerClass

      int getJobsCacheCountPerClass(JobClass jclass)
    • CacheJob

      void CacheJob(JobClass jclass, boolean isHit)
    • startsServerVacation

      void startsServerVacation(VacationJob vacationJob)
      Methods related to server vacations
    • endsServerVacation

      void endsServerVacation(VacationJob vacationJob)