Package jline.lang.layered
Class SetupTask
java.lang.Object
jline.lang.Element
jline.lang.layered.LayeredNetworkElement
jline.lang.layered.Task
jline.lang.layered.SetupTask
- All Implemented Interfaces:
Serializable,Copyable
- Direct Known Subclasses:
FunctionTask
SetupTask is a Task whose servers are switched off while idle.
A server that resumes from the off state pays a setup (activation) time before serving the request that woke it up, and it stays available for a delay-off (idle) period after emptying its queue before switching off again. These are the setup and close-down times of a server with vacations; they model on-demand virtual machines and containers, power-managed servers under a timeout policy, warm-up delays, and serverless cold start / keep-alive.
Both times are declared on the base Task class through setSetupTime() and setDelayOffTime(), so this subclass is a naming convenience: a plain Task carrying either time behaves identically.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class jline.lang.layered.LayeredNetworkElement
LayeredNetworkElement.LinConRow, LayeredNetworkElement.ServerPool -
Field Summary
Fields inherited from class jline.lang.layered.Task
activities, delayOffTime, delayOffTimeMean, delayOffTimeSCV, entries, fanInSource, fanInValue, fanOutMap, multiplicity, parent, precedences, priority, replication, scheduling, setupTime, setupTimeMean, setupTimeSCV, thinkTime, thinkTimeMean, thinkTimeSCVFields inherited from class jline.lang.layered.LayeredNetworkElement
ACTIVITY, CALL, ENTRY, HOST, lcdScaling, lcdScalingPeak, linConA, linConB, linConRows, ljdScaling, ljdScalingPeak, lldScaling, model, PROCESSOR, serverPools, TASK -
Constructor Summary
ConstructorsConstructorDescriptionSetupTask(LayeredNetwork model, String name) Constructor with default multiplicity and scheduling.SetupTask(LayeredNetwork model, String name, int multiplicity) Constructor with default scheduling strategy (FCFS).SetupTask(LayeredNetwork model, String name, int multiplicity, SchedStrategy scheduling) Constructor for SetupTask. -
Method Summary
Modifier and TypeMethodDescriptionsetDelayOffTime(double delayOffTime) Set the delay-off time using a mean value (creates exponential distribution).setDelayOffTime(Distribution delayOffTime) Set the delay-off time (teardown time) for the task.setSetupTime(double setupTime) Set the setup time using a mean value (creates exponential distribution).setSetupTime(Distribution setupTime) Set the setup time (cold start time) for the task.setThinkTime(double thinkTime) setThinkTime(Distribution thinkTime) Methods inherited from class jline.lang.layered.Task
addActivity, addEntry, addPrecedence, addPrecedence, addPrecedence, getActivities, getDelayOffTime, getDelayOffTimeMean, getDelayOffTimeSCV, getEntries, getFanInSource, getFanInValue, getFanOutMap, getMeanHostDemand, getMultiplicity, getParent, getPrecedences, getPriority, getProcessor, getReplication, getScheduling, getSetupTime, getSetupTimeMean, getSetupTimeSCV, getThinkTime, getThinkTimeMean, getThinkTimeSCV, hasSetupDelayoff, removeActivity, setActivity, setAsReferenceTask, setFanIn, setFanOut, setMultiplicity, setPriority, setReplication, setReplyEntry, setSchedulingMethods inherited from class jline.lang.layered.LayeredNetworkElement
addConstraint, addConstraintByName, addServerType, getLinearConstraints, getServerTypes, hasLinearConstraints, hasRateDependence, hasServerPools, setClassDependence, setConstraint, setJointDependence, setLoadDependence
-
Constructor Details
-
SetupTask
Constructor for SetupTask.- Parameters:
model- The LayeredNetwork model this task belongs toname- The name of the taskmultiplicity- The number of servers that can run concurrentlyscheduling- The scheduling strategy for the servers
-
SetupTask
Constructor with default scheduling strategy (FCFS). -
SetupTask
Constructor with default multiplicity and scheduling.
-
-
Method Details
-
on
-
setThinkTime
- Overrides:
setThinkTimein classTask
-
setThinkTime
- Overrides:
setThinkTimein classTask
-
setSetupTime
Description copied from class:TaskSet the setup time (cold start time) for the task.- Overrides:
setSetupTimein classTask- Parameters:
setupTime- The setup time distribution- Returns:
- This Task instance for method chaining
-
setSetupTime
Description copied from class:TaskSet the setup time using a mean value (creates exponential distribution).- Overrides:
setSetupTimein classTask- Parameters:
setupTime- The mean setup time- Returns:
- This Task instance for method chaining
-
setDelayOffTime
Description copied from class:TaskSet the delay-off time (teardown time) for the task.- Overrides:
setDelayOffTimein classTask- Parameters:
delayOffTime- The delay-off time distribution- Returns:
- This Task instance for method chaining
-
setDelayOffTime
Description copied from class:TaskSet the delay-off time using a mean value (creates exponential distribution).- Overrides:
setDelayOffTimein classTask- Parameters:
delayOffTime- The mean delay-off time- Returns:
- This Task instance for method chaining
-