Following is the call for creating a Processor:
Processor(model, name, multiplicity, scheduling, quantum, speedFactor)
I have few questions:
a. How do we specify an infinite multiplicity?
would it be:
Processor(model, 'myproc', 1, SchedStrategy.INF) ?
b. I also want to understand the difference between multiplicity and sched strategy.
From what I understand, multiplicity of Processor represents the number of hardware units/ servers available to handle the tasks.
SchedStrategy is the method adopted to serve incoming requests (on the Processor in this case).
Is this understanding correct?
It would be nice to have a 2-liner for each of the scheduling strategies mentioned under https://github.com/line-solver/line/wiki/Network-models#creating-a-network-and-its-nodes
and a few examples for each (including what combinations of multiplicity and schedstrategy for LQN make sense and what don't).
c. W.r.t. Task
Task(model, name, multiplicity, scheduling, thinkTime)
What does scheduling strategy mean in the context of a task?
Thanks.
- Rajarshi
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
For example, if you have requests from a client to a web server that process them in FCFS order, while running on a CPU, you would have that the web server task has FCFS scheduling, while the scheduling at the processor CPU is PS.
To see how this is reflected in the solution algorithm, note that in LINE we use SRVN-type decomposition, so the LQN is decomposed into a collection of 2-station sub-models and then an iterative method is used to solve for the performance metrics. You can check the definition of the i-th submodel by typing:
model.ensemble{i}.jsimgView
In each submodel, the second station maps into one (and only one) task or processor of the LQN. The first station is a "surrogate delay" that represents how the rest of the LQN elements send requests to that task or that processor. So if you check the scheduling of the second station you will see that it maps to the task (or processor) scheduling you specified in the LQN.
Giuliano
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello
I am trying out LINE 2.0.0.
Following is the call for creating a Processor:
Processor(model, name, multiplicity, scheduling, quantum, speedFactor)
I have few questions:
a. How do we specify an infinite multiplicity?
would it be:
Processor(model, 'myproc', 1, SchedStrategy.INF) ?
b. I also want to understand the difference between multiplicity and sched strategy.
From what I understand, multiplicity of Processor represents the number of hardware units/ servers available to handle the tasks.
SchedStrategy is the method adopted to serve incoming requests (on the Processor in this case).
Is this understanding correct?
It would be nice to have a 2-liner for each of the scheduling strategies mentioned under
https://github.com/line-solver/line/wiki/Network-models#creating-a-network-and-its-nodes
and a few examples for each (including what combinations of multiplicity and schedstrategy for LQN make sense and what don't).
c. W.r.t. Task
Task(model, name, multiplicity, scheduling, thinkTime)
What does scheduling strategy mean in the context of a task?
Thanks.
- Rajarshi
Hi Rajarshi
a. Yes, SchedStrategy.INF
b. Yes, your understanding is correct. Thanks, I will update the manual with more discussion.
c. Check the LQNS tutorial: http://www.sce.carleton.ca/rads/lqns/lqn-documentation/tutorialh.pdf
For example, if you have requests from a client to a web server that process them in FCFS order, while running on a CPU, you would have that the web server task has FCFS scheduling, while the scheduling at the processor CPU is PS.
To see how this is reflected in the solution algorithm, note that in LINE we use SRVN-type decomposition, so the LQN is decomposed into a collection of 2-station sub-models and then an iterative method is used to solve for the performance metrics. You can check the definition of the i-th submodel by typing:
model.ensemble{i}.jsimgView
In each submodel, the second station maps into one (and only one) task or processor of the LQN. The first station is a "surrogate delay" that represents how the rest of the LQN elements send requests to that task or that processor. So if you check the scheduling of the second station you will see that it maps to the task (or processor) scheduling you specified in the LQN.
Giuliano