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 Summary
Modifier and TypeMethodDescriptionvoidAdds a new job info at the specified index.voidAdds a new job info at the specified index.voidAdds a new job info to the list.voidAdds a new job info at the start of the list.voidAdds a new job info at the end of the list.voidaddToRetrialOrbit(Job job) Adds a job to the retrial orbit.voidaddUsedServersForJob(int job_id, List<Server.BusyServer> busyServers) Adds serverTypes used for a jobvoidanalyzeArrivalRate(JobClass jobClass, InverseMeasure measurement) Analyzes the arrival rate for the specified job class.voidanalyzeBalkingRate(JobClass jobClass, InverseMeasure measurement, boolean isServerType, int serverTypeId) Analyzes the balking rate for the specified job class.voidanalyzeCacheHitRate(JobClass jobClass, Measure measurement) Methods to calculate cache performance measuresvoidanalyzeDropRate(JobClass jobClass, InverseMeasure measurement, boolean isServerType, int serverTypeId) Analyzes the drop rate for the specified job class.voidanalyzeEarliness(JobClass jobClass, Measure measurement) Analyzes the earliness of the specified job class.voidanalyzeEffectiveUtilization(JobClass jobClass, Measure measurement) Analyzes the effective utilization for the specified job class.voidanalyzeLateness(JobClass jobClass, Measure measurement) Analyzes the lateness of the specified job class.voidanalyzeNumberOfServers(Measure measurement) Analyzes the number of active servers in a Server sectionvoidanalyzeQueueLength(JobClass jobClass, Measure measurement, boolean isServerType, int serverTypeId) Analyzes the queue length for the specified job class.voidanalyzeRenegingRate(JobClass jobClass, InverseMeasure measurement, boolean isServerType, int serverTypeId) Analyzes the reneging rate for the specified job class.voidanalyzeResidenceTime(JobClass jobClass, Measure measurement, boolean isServerType, int serverTypeId) Analyzes the residence time for the specified job class.voidanalyzeResponseTime(JobClass jobClass, Measure measurement, boolean isServerType, int serverTypeId) Analyzes the response time for the specified job class.voidanalyzeResponseTimePerSink(JobClass jobClass, Measure measurement) Analyzes the response time of a sink for the specified job class.voidanalyzeRetrialAttemptsRate(JobClass jobClass, InverseMeasure measurement, boolean isServerType, int serverTypeId) Analyzes the retrial attempts rate for the specified job class.voidanalyzeRetrialOrbitSize(JobClass jobClass, Measure measurement, boolean isServerType, int serverTypeId) Analyzes the retrial orbit size for the specified job class.voidanalyzeRetrialOrbitTime(JobClass jobClass, Measure measurement) Analyzes the retrial orbit time for the specified job class.voidanalyzeTardiness(JobClass jobClass, Measure measurement) Analyzes the tardiness of the specified job class.voidanalyzeThroughput(JobClass jobClass, InverseMeasure measurement, boolean isServerType, int serverTypeId) Analyzes the throughput for the specified job class.voidanalyzeThroughputPerSink(JobClass jobClass, InverseMeasure measurement) Analyzes the throughput of a sink for the specified job class.voidanalyzeUtilization(JobClass jobClass, Measure measurement, boolean isServerType, int serverTypeId) Analyzes the utilization for the specified job class.voidanalyzeUtilizationJoin(JobClass jobClass, Measure measurement) Analyzes the utilization of a join for the specified job class.voidRemoves a job info from the list when a job is balked.voidvoidchangeNumberOfActiveServers(int numberOfServers) Changes the number of active servers when the enabling degree changesvoidconsumeJob(JobInfo jobInfo) Removes a job info from the list when a job is consumed.voidRemoves a job info from the list when a job is dropped.voidChanges a job info from the list when a job is ended.voidendsServerVacation(VacationJob vacationJob) Gets the internal job info list.getInternalJobInfoList(JobClass jobClass) Gets the internal job info list of the specified job class.getJob(int i) Returns ith job in queueintgetJobsCacheCountPerClass(JobClass jclass) intGets the number of added jobs.intgetJobsInPerClass(JobClass jobClass) Gets the number of added jobs of the specified job class.intGets the number of jobs in service.intgetJobsInServicePerClass(JobClass jobClass) Gets the number of jobs in service of the specified job class.intGets the number of removed jobs.intgetJobsOutPerClass(JobClass jobClass) Gets the number of removed jobs of the specified job class.intintdoubleGets the time of the last balked job.doublegetLastJobBalkingTimePerClass(JobClass jobClass) Gets the time of the last balked job of the specified job class.doubleGets the time of the last dropped job.doublegetLastJobDropTimePerClass(JobClass jobClass) Gets the time of the last dropped job of the specified job class.doubleGets the time of the last ended job.doublegetLastJobEndTimePerClass(JobClass jobClass) Gets the time of the last ended job of the specified job class.doubleGets the time of the last added job.doublegetLastJobInTimePerClass(JobClass jobClass) Gets the time of the last added job of the specified job class.doubleGets the time of the last removed job.doublegetLastJobOutTimePerClass(JobClass jobClass) Gets the time of the last removed job of the specified job class.doubleGets the time of the last reneged job.doublegetLastJobRenegingTimePerClass(JobClass jobClass) Gets the time of the last reneged job of the specified job class.doubleGets the time of the last retried job.doublegetLastJobRetrialTimePerClass(JobClass jobClass) Gets the time of the last retried job of the specified job class.doubleGets the sojourn time of the last removed job.doublegetLastJobSojournTimePerClass(JobClass jobClass) Gets the sojourn time of the last removed job of the specified job class.doubleGets the time of the last started job.doublegetLastJobStartTimePerClass(JobClass jobClass) Gets the time of the last started job of the specified job class.doubleGets the time of the last switched job.doublegetLastJobSwitchTimePerClass(JobClass jobClass) Gets the time of the last switched job of the specified job class.doubleGets the time of the last modify.doublegetLastModifyTimePerClass(JobClass jobClass) Gets the time of the last modify of the specified job class.doubleGets the time of the last retrial orbit modify.doubleGets the time of the last retrial orbit modify of the specified job class.doubleGets the time of the last service modify.doublegetLastServiceModifyTimePerClass(JobClass jobClass) Gets the time of the last service modify of the specified job class.Gets the retrial orbit.doubleGets the total sojourn time.doublegetTotalSojournTimePerClass(JobClass jobClass) Gets the total sojourn time of the specified job class.Looks for the job info that references the specified job.voidproduceJob(JobInfo jobInfo) Adds a job info to the list when a job is consumed.voidredirectJob(JobInfo jobInfo) Removes a job info from the list when a job is redirected.voidRemoves a job info from the list.Removes a job info at the start of the list.removeFirst(JobClass jobClass) Removes a job info of the specified job class at the start of the list.voidRemoves a job from the retrial orbit.voidRemoves a job info from the list when a job is removed.Removes a job info at the end of the list.removeLast(JobClass jobClass) Removes a job info of the specified job class at the end of the list.voidremoveOnly(JobInfo jobInfo) Removes a job info from the list.voidremoveUsedServerForJob(int job_id) Removes job when finishedvoidRemoves a job info from the list when a job is reneged.voidAdds a job info to the list when a job is retried.voidsetNetSystem(NetSystem netSystem) Sets the network system.voidsetNumberOfServers(int numberOfServers) Sets the number of servers.voidsetRegionSoftDeadlinesByClass(double[] regionSoftDeadlinesByClass) Sets the region soft deadlines for each class to be used by tardiness measures.voidsetServerNumRequired(int[] serverNumRequired) Sets the number of servers required by a class.intsize()Gets the number of jobs.intGets the number of jobs of the specified job class.voidChanges a job info in the list when a job is started.voidstartsServerVacation(VacationJob vacationJob) Methods related to server vacationsvoidChanges a job info in the list when a job is switched.
-
Method Details
-
size
int size()Gets the number of jobs.- Returns:
- Number of jobs.
-
size
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
-
addToRetrialOrbit
Adds a job to the retrial orbit.- Parameters:
job- Reference to the job.
-
removeFromRetrialOrbit
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
-
getInternalJobInfoList
-
getInternalJobInfoList
-
add
Adds a new job info to the list.- Parameters:
jobInfo- Reference to the job info to be added.
-
addFirst
Adds a new job info at the start of the list.- Parameters:
jobInfo- Reference to the job info to be added.
-
addLast
Adds a new job info at the end of the list.- Parameters:
jobInfo- Reference to the job info to be added.
-
add
Adds a new job info at the specified index.- Parameters:
index- Specified index.jobInfo- Reference to the job info to be added.
-
add
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
Removes a job info from the list.- Parameters:
jobInfo- Reference to the job info to be removed.
-
removeOnly
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
-
removeLast
JobInfo removeLast()Removes a job info at the end of the list.- Returns:
- Job info at the end of the list.
-
removeLast
-
getFirstJob
JobInfo getFirstJob() -
getLastJob
JobInfo getLastJob() -
getJob
Returns ith job in queue- Parameters:
i- - indec- Returns:
- the resulting job info
-
addUsedServersForJob
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
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
-
analyzeUtilizationJoin
-
analyzeEffectiveUtilization
-
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
-
analyzeResponseTimePerSink
-
analyzeThroughputPerSink
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
-
analyzeEarliness
-
analyzeLateness
-
analyzeNumberOfServers
Analyzes the number of active servers in a Server section- Parameters:
measurement- Reference to the associated measure
-
removeJob
Removes a job info from the list when a job is removed.- Parameters:
jobInfo- Reference to the job info to be removed.
-
redirectJob
Removes a job info from the list when a job is redirected.- Parameters:
jobInfo- Reference to the job info to be removed.
-
startJob
Changes a job info in the list when a job is started.- Parameters:
jobInfo- Reference to the job info to be changed.
-
endJob
Changes a job info from the list when a job is ended.- Parameters:
jobInfo- Reference to the job info to be changed.
-
dropJob
Removes a job info from the list when a job is dropped.- Parameters:
jobInfo- Reference to the job info to be removed.
-
switchJob
Changes a job info in the list when a job is switched.- Parameters:
jobInfo- Reference to the job info to be changed.
-
balkJob
Removes a job info from the list when a job is balked.- Parameters:
jobInfo- Reference to the job info to be removed.
-
renegeJob
Removes a job info from the list when a job is reneged.- Parameters:
jobInfo- Reference to the job info to be removed.
-
retryJob
Adds a job info to the list when a job is retried.- Parameters:
jobInfo- Reference to the job info to be added.
-
produceJob
Adds a job info to the list when a job is consumed.- Parameters:
jobInfo- Reference to the job info to be added.
-
consumeJob
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
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
-
getJobsTotalCacheMissCount
int getJobsTotalCacheMissCount() -
getJobsTotalCacheHitCount
int getJobsTotalCacheHitCount() -
getJobsCacheCountPerClass
-
CacheJob
-
startsServerVacation
Methods related to server vacations -
endsServerVacation
-