public interface WorkloadSchedule extends SimEntityEventMap
SimQueues.
The set of SimQueues to which the workload applies must be fixed upon construction.
Copyright (C) 2005-2017 Jan de Jongh, TNO
This file is covered by the LICENSE file in the root of this project.
| Modifier and Type | Method and Description |
|---|---|
Map<SimJob,List<Double>> |
getArrivalTimesMap(SimQueue queue)
Gets the arrival times indexed by job at given queue.
|
NavigableMap<Double,List<SimJob>> |
getJobArrivalsMap(SimQueue queue)
Gets the job arrivals indexed by time at given queue.
|
NavigableMap<Double,List<Map<SimJob,Boolean>>> |
getJobRevocationsMap(SimQueue queue)
Gets the job revocations indexed by time at given queue.
|
Set<SimJob> |
getJobs()
Gets the jobs (in no particular order) operating (arriving, revoking, ...) at least once at any of the queues.
|
Set<SimJob> |
getJobs(SimQueue queue)
Gets the jobs (in no particular order) operating (arriving, revoking, ...) at least once at given queue.
|
double |
getNextEventTimeBeyond(SimQueue queue,
double time,
Set<SimEntitySimpleEventType.Member> eventTypes)
Returns the time of the next event(s), and optionally their types,
scheduled strictly beyond a given time at a specific queue.
|
Set<SimJQEvent> |
getProcessedQueueEvents()
Gets the underlying queue events that were processed for this workload representation.
|
NavigableMap<Double,List<Boolean>> |
getQueueAccessVacationMap(SimQueue queue)
Returns the queue-access vacation settings in time for a specific queue.
|
Set<SimJQEvent> |
getQueueEvents()
Gets the underlying queue events (all) of this workload representation.
|
Set<SimQueue> |
getQueues()
Gets the queues (in no particular order) to which this workload representation applies.
|
Map<SimJob,List<Map<Double,Boolean>>> |
getRevocationTimesMap(SimQueue queue)
Gets the revocation times indexed by job at given queue.
|
NavigableMap<Double,List<Integer>> |
getServerAccessCreditsMap(SimQueue queue)
Returns the server-access-credits settings in time for a specific queue.
|
default boolean |
hasEventsBeyond(SimQueue queue,
double time)
Returns whether there exist event(s) scheduled strictly beyond a given time at a specific queue.
|
default boolean |
isSingleQueue()
Returns whether of not this workload describes a single queue only.
|
default boolean |
isSingleVisit()
Return whether jobs arrive at most once at each queue.
|
default boolean |
isSingleVisit(SimQueue queue)
Return whether jobs arrive at most once at given queue.
|
default boolean |
isUnambiguous_ROEL()
Determines whether the workload is unambiguous under a ROEL (Random-Order Event List).
|
getEntityEvents, getSimJobTimeSimEntityEventMap, getSimQueueTimeSimEntityEventMap, getTimeSimJobSimEntityEventMap, getTimeSimQueueSimEntityEventMapSet<SimJQEvent> getQueueEvents()
A unmodifiable view must be returned.
double getNextEventTimeBeyond(SimQueue queue, double time, Set<SimEntitySimpleEventType.Member> eventTypes) throws WorkloadScheduleException
queue - The queue, may be null or not in getQueues(), in which case Double.NaN is returned.time - The time from which to search, use Double.NaN to retrieve the first-event time (which
may be Double.NEGATIVE_INFINITY).eventTypes - An optional set to store the (possible multiple) event types; a non-null set is cleared upon entry.Double.NaN if no such event exists.WorkloadScheduleException - If the workload is invalid, or this schedule is incapable of parsing it (completely).hasEventsBeyond(org.javades.jqueues.r5.entity.jq.queue.SimQueue, double)default boolean hasEventsBeyond(SimQueue queue, double time) throws WorkloadScheduleException
queue - The queue, may be null or not in getQueues(), in which case false is returned.time - The time from which to search, use Double.NaN to retrieve the first-event time (which
may be Double.NEGATIVE_INFINITY).WorkloadScheduleException - If the workload is invalid, or this schedule is incapable of parsing it (completely).getNextEventTimeBeyond(org.javades.jqueues.r5.entity.jq.queue.SimQueue, double, java.util.Set<org.javades.jqueues.r5.entity.SimEntitySimpleEventType.Member>)Set<SimJQEvent> getProcessedQueueEvents()
The set returned must always be a subset of getQueueEvents().
A unmodifiable view must be returned.
Set<SimQueue> getQueues()
The set must be fixed upon construction.
A unmodifiable view must be returned.
default boolean isSingleQueue()
NavigableMap<Double,List<Boolean>> getQueueAccessVacationMap(SimQueue queue)
A unmodifiable view must be returned.
queue - The queue, may be null or not in getQueues(), in which case an empty map is returned.Set<SimJob> getJobs()
Note that this set may include jobs that did not arrive at any queue.
A unmodifiable view must be returned.
null set
operating (arriving, revoking, ...) at least once at any of the queues.Set<SimJob> getJobs(SimQueue queue)
The set returned must always be a subset of getJobs(SimQueue).
Note that this set may include jobs that did not arrive at the queue.
A unmodifiable view must be returned.
queue - The queue, may be null or not in getQueues(), in which case an empty set is returned.null set
operating (arriving, revoking, ...) at least once at given queue.Map<SimJob,List<Double>> getArrivalTimesMap(SimQueue queue)
A unmodifiable view must be returned.
queue - The queue, may be null or not in getQueues(), in which case an empty map is returned.NavigableMap<Double,List<SimJob>> getJobArrivalsMap(SimQueue queue)
A unmodifiable view must be returned.
queue - The queue, may be null or not in getQueues(), in which case an empty map is returned.default boolean isSingleVisit(SimQueue queue)
queue - The queue, may be null or not in getQueues(), in which case false is returned.default boolean isSingleVisit()
Note that if there are no queue, true is returned.
Also note that if true is returned, jobs may still visit multiple, albeit different, queues.
Map<SimJob,List<Map<Double,Boolean>>> getRevocationTimesMap(SimQueue queue)
A unmodifiable view must be returned.
The inner map yields the 'interruptService' argument for the event time. It has only one entry.
queue - The queue, may be null or not in getQueues(), in which case an empty map is returned.NavigableMap<Double,List<Map<SimJob,Boolean>>> getJobRevocationsMap(SimQueue queue)
A unmodifiable view must be returned.
The inner map yields the 'interruptService' argument for the job. It has only one entry.
queue - The queue, may be null or not in getQueues(), in which case an empty map is returned.NavigableMap<Double,List<Integer>> getServerAccessCreditsMap(SimQueue queue)
A unmodifiable view must be returned.
queue - The queue, may be null or not in getQueues(), in which case an empty map is returned.default boolean isUnambiguous_ROEL()
throws WorkloadScheduleInvalidException
This implementation checks that for each queue in getQueues(), there are no simultaneous queue events.
It ignores job-only events, events related to queues not in getQueues(),
and allows simultaneous events to distinct queues.
The criterion for unambiguity is rather strong, but is believed to be applicable to any queue type.
WorkloadScheduleInvalidException - If the workload is invalid.Copyright © 2018. All rights reserved.