Multiple Class G-Networks with Restart Jean-Michel Fourneau, Katinka - - PowerPoint PPT Presentation
Multiple Class G-Networks with Restart Jean-Michel Fourneau, Katinka - - PowerPoint PPT Presentation
Multiple Class G-Networks with Restart Jean-Michel Fourneau, Katinka Wolter , Philipp Reinecke, Tilman Krau and Alexandra Danilkina PRiSM, CNRS Freie Universit at Berlin HP Labs Bristol Universit e de Versailles Institut f ur
Table of Contents
1 The restart method 2 Evaluation Approaches 3 The model 4 Examples 5 Conclusions
1 / 11
The restart method
://www request
Restart: A client sends a request.
2 / 11
The restart method
Restart: A client sends a request. If there is no response within a reasonable time,
2 / 11
The restart method
://www restart request
Restart: A client sends a request. If there is no response within a reasonable time, the request is repeated
2 / 11
The restart method
response
Restart: A client sends a request. If there is no response within a reasonable time, the request is repeated
2 / 11
The restart method
response
Restart: A client sends a request. If there is no response within a reasonable time, the request is repeated Restart may reduce response-times
2 / 11
The restart method
://www ://www ://www request request request
Restart: A client sends a request. If there is no response within a reasonable time, the request is repeated Restart may reduce response-times Many clients send a request.
2 / 11
The restart method
Restart: A client sends a request. If there is no response within a reasonable time, the request is repeated Restart may reduce response-times Many clients send a request. If there is no response within a reasonable time,
2 / 11
The restart method
://www ://www ://www repeat request repeat request repeat request
Restart: A client sends a request. If there is no response within a reasonable time, the request is repeated Restart may reduce response-times Many clients send a request. If there is no response within a reasonable time, the request is repeated
2 / 11
The restart method
response response response
Restart: A client sends a request. If there is no response within a reasonable time, the request is repeated Restart may reduce response-times Many clients send a request. If there is no response within a reasonable time, the request is repeated Question: Will restart reduce response-times for all?
2 / 11
The restart method
response response response
Restart: A client sends a request. If there is no response within a reasonable time, the request is repeated Restart may reduce response-times Many clients send a request. If there is no response within a reasonable time, the request is repeated Question: Will restart reduce response-times for all? Insight useful for
2 / 11
The restart method
response response response
Restart: A client sends a request. If there is no response within a reasonable time, the request is repeated Restart may reduce response-times Many clients send a request. If there is no response within a reasonable time, the request is repeated Question: Will restart reduce response-times for all? Insight useful for
Optimising software performance
2 / 11
The restart method
response response response
Restart: A client sends a request. If there is no response within a reasonable time, the request is repeated Restart may reduce response-times Many clients send a request. If there is no response within a reasonable time, the request is repeated Question: Will restart reduce response-times for all? Insight useful for
Optimising software performance Development of benchmarks
2 / 11
Evaluation Approaches
Experimentation on test-beds – low abstraction level
Set up the system in the lab Cost and time constraints Results do not generalise
3 / 11
Evaluation Approaches
Experimentation on test-beds – low abstraction level
Set up the system in the lab Cost and time constraints Results do not generalise
Simulations – medium abstraction level
Build a simulation (e.g. NS-2, OMNeT++, M¨
- bius)
Give slightly more general results than measurement studies Results are less realistic
3 / 11
Evaluation Approaches
F(x) = x
0 f(u)du
Experimentation on test-beds – low abstraction level
Set up the system in the lab Cost and time constraints Results do not generalise
Simulations – medium abstraction level
Build a simulation (e.g. NS-2, OMNeT++, M¨
- bius)
Give slightly more general results than measurement studies Results are less realistic
Analytical Approaches – high abstraction level
Formalise problem Give general insights Results might be far from reality
3 / 11
G-networks
- ne could guess, a G-network is a genetic network
4 / 11
G-networks
- ne could guess, a G-network is a genetic network
it is not.
4 / 11
G-networks
- ne could guess, a G-network is a genetic network
it is not. G as generalized queueing network or Gelenbe network
4 / 11
G-networks
- ne could guess, a G-network is a genetic network
it is not. G as generalized queueing network or Gelenbe network A G-network is an open queueing network with several types
- f customers
regular jobs negative customers, signals (signals between queues)
4 / 11
G-networks
Class changes upon restart
Class 2 Class 1 Class K
PS
Restart Signals Jobs
Jobs arrive into one of K classes
5 / 11
G-networks
Class changes upon restart
Class 2 Class 1 Class K
PS
Restart Signals Jobs
Jobs arrive into one of K classes Service time PH-distributed
5 / 11
G-networks
Class changes upon restart
Class 2 Class 1 Class K
PS
Restart Signals Jobs
Jobs arrive into one of K classes Service time PH-distributed One class of signals (restarts) with success probability
5 / 11
G-networks
Class changes upon restart
Class 2 Class 1 Class K
PS
Restart Signals Jobs
Jobs arrive into one of K classes Service time PH-distributed One class of signals (restarts) with success probability Upon restart a job changes class, routing probability, success probabilities
5 / 11
G-networks
Class changes upon restart
Class 2 Class 1 Class K
PS
Restart Signals Jobs
Jobs arrive into one of K classes Service time PH-distributed One class of signals (restarts) with success probability Upon restart a job changes class, routing probability, success probabilities Markovian model
5 / 11
G-networks
Class changes upon restart
Class 2 Class 1 Class K
PS
Restart Signals Jobs
Class changes upon restart
Class 2 Class 1
PS
Restart Signals Jobs Class K
PS
Class 1 Class 2 Class K Restart Signals Queue j Queue i Jobs
Jobs arrive into one of K classes Service time PH-distributed One class of signals (restarts) with success probability Upon restart a job changes class, routing probability, success probabilities Markovian model Product-form solution
5 / 11
G-networks
Class changes upon restart
Class 2 Class 1 Class K
PS
Restart Signals Jobs
Class changes upon restart
Class 2 Class 1
PS
Restart Signals Jobs Class K
PS
Class 1 Class 2 Class K Restart Signals Queue j Queue i Jobs
Jobs arrive into one of K classes Service time PH-distributed One class of signals (restarts) with success probability Upon restart a job changes class, routing probability, success probabilities Markovian model Product-form solution Derivation of standard queueing metrics straight forward
5 / 11
First example: iid services
Model represents infinite restarts
6 / 11
First example: iid services
Model represents infinite restarts Jobs arrive to class 1 at rate 0.012
6 / 11
First example: iid services
0.9 0.1 Exp(5) Exp(0.1) Exp(2)
Model represents infinite restarts Jobs arrive to class 1 at rate 0.012 PH-distributed service time, scv = 6.7539
6 / 11
First example: iid services
Model represents infinite restarts Jobs arrive to class 1 at rate 0.012 PH-distributed service time, scv = 6.7539 Determine utilisation, expected queue length and expected waiting time
6 / 11
Second example: 5 classes
Class changes upon restart
Class 2 Class 1 Class 5
PS
Restart Signals Jobs
Jobs arrive only to class 1 at rate 0.1
7 / 11
Second example: 5 classes
Class changes upon restart
Class 2 Class 1 Class 5
PS
Restart Signals Jobs
Exp(1) Exp(1) class 1 class 2 class 3 class 4 class 5 Exp(2) Exp(3) Exp(4) Exp(5) Exp(2) Exp(3) Exp(4) Exp(5)
Jobs arrive only to class 1 at rate 0.1 Successively faster Erlang(2) service, i.e. µ(k,p) = (1, 2, 3, 4, 5)
7 / 11
Second example: 5 classes
Class changes upon restart
Class 2 Class 1 Class 5
PS
Restart Signals Jobs
Exp(1) Exp(1) class 1 class 2 class 3 class 4 class 5 Exp(2) Exp(3) Exp(4) Exp(5) Exp(2) Exp(3) Exp(4) Exp(5)
Jobs arrive only to class 1 at rate 0.1 Successively faster Erlang(2) service, i.e. µ(k,p) = (1, 2, 3, 4, 5) Restart with resume semantics - work is not lost
7 / 11
Second example: 5 classes
Class changes upon restart
Class 2 Class 1 Class 5
PS
Restart Signals Jobs
Jobs arrive only to class 1 at rate 0.1 Successively faster Erlang(2) service, i.e. µ(k,p) = (1, 2, 3, 4, 5) Restart with resume semantics - work is not lost Completed jobs leave with prob 1.
7 / 11
Second example: 5 classes
Class changes upon restart
Class 2 Class 1 Class 5
PS
Restart Signals Jobs
Jobs arrive only to class 1 at rate 0.1 Successively faster Erlang(2) service, i.e. µ(k,p) = (1, 2, 3, 4, 5) Restart with resume semantics - work is not lost Completed jobs leave with prob 1. Restart in class 5 starts job anew
7 / 11
Second example: 5 classes
Class changes upon restart
Class 2 Class 1 Class 5
PS
Restart Signals Jobs
Class changes upon restart Class 2 Class 1 Class K PS Server Client Send Job 1 Job 1 Send Job 2 Timeout Job 1 Job 2 Restart 1 Response 2 Response 1 time t
Jobs arrive only to class 1 at rate 0.1 Successively faster Erlang(2) service, i.e. µ(k,p) = (1, 2, 3, 4, 5) Restart with resume semantics - work is not lost Completed jobs leave with prob 1. Restart in class 5 starts job anew Compare results with simulation using SFERA
7 / 11
Results
0.1 1 10 100 1000 0.001 0.01 0.1 1 10 100 restart rate utilisation ρ Mean queue length expected waiting time
0.153 0.1535 0.154 0.1545 0.155 0.1555 0.35 0.4 0.45 0.5 0.55 Queue Length Restart Interval
Expected queue length and expected waiting time for different values of the restart rate Average queue length and average response time for the simulation
8 / 11
Results
0.1 1 10 100 1000 0.001 0.01 0.1 1 10 100 restart rate utilisation ρ Mean queue length expected waiting time
0.153 0.1535 0.154 0.1545 0.155 0.1555 0.35 0.4 0.45 0.5 0.55 Queue Length Restart Interval
Expected queue length and expected waiting time for different values of the restart rate Average queue length and average response time for the simulation Both have minimum for similar restart rate Why are simulation and G-network not exactly the same?
8 / 11
What is the difference between SFERA and G-network
Class changes upon restart Class 2 Class 1 Class K PS Server Client Send Job 1 Job 1 Send Job 2 Timeout Job 1 Job 2 Restart 1 Response 2 Response 1 time t
Simulation assigns a timeout to each job
9 / 11
What is the difference between SFERA and G-network
Class changes upon restart Class 2 Class 1 Class K PS Server Client Send Job 1 Job 1 Send Job 2 Timeout Job 1 Job 2 Restart 1 Response 2 Response 1 time t
Simulation assigns a timeout to each job PS strategy means processing speed depends on queue length
9 / 11
What is the difference between SFERA and G-network
Class changes upon restart Class 2 Class 1 Class K PS Server Client Send Job 1 Job 1 Send Job 2 Timeout Job 1 Job 2 Restart 1 Response 2 Response 1 time t
Simulation assigns a timeout to each job PS strategy means processing speed depends on queue length Response time depends on queue length
9 / 11
What is the difference between SFERA and G-network
Class changes upon restart Class 2 Class 1 Class K PS Server Client Send Job 1 Job 1 Send Job 2 Timeout Job 1 Job 2 Restart 1 Response 2 Response 1 time t
Simulation assigns a timeout to each job PS strategy means processing speed depends on queue length Response time depends on queue length Each event (arrival, departure) results in reschedule of all future events
9 / 11
What is the difference between SFERA and G-network
Class changes upon restart Class 2 Class 1 Class K PS Server Client Send Job 1 Job 1 Send Job 2 Timeout Job 1 Job 2 Restart 1 Response 2 Response 1 time t
Simulation assigns a timeout to each job PS strategy means processing speed depends on queue length Response time depends on queue length Each event (arrival, departure) results in reschedule of all future events Timeout always remains attached to a job
9 / 11
What is the difference between SFERA and G-network
Class changes upon restart Class 2 Class 1 Class K PS Server Client Send Job 1 Job 1 Send Job 2 Timeout Job 1 Job 2 Restart 1 Response 2 Response 1 time t Class changes upon restart Class 2 Class 1 PS Restart Signals Jobs Class K PS Class 1 Class 2 Class K Restart Signals Queue j Queue i Jobs
Simulation assigns a timeout to each job PS strategy means processing speed depends on queue length Response time depends on queue length Each event (arrival, departure) results in reschedule of all future events Timeout always remains attached to a job G-network restarts random job Jobs have no ’age’
9 / 11
Third example: more complex service times
Restart Signals Class 1 Class 2 Class 5 Class 4 PS Class 3 Jobs Jobs
Job arrivals to class 1 (λ1 = 0.004) and class 2 (λ2 = 0.01)
10 / 11
Third example: more complex service times
Restart Signals Class 1 Class 2 Class 5 Class 4 PS Class 3 Jobs Jobs
0.9 0.1 Exp(5) Exp(0.1) Exp(2)
Job arrivals to class 1 (λ1 = 0.004) and class 2 (λ2 = 0.01) Restart succeeds with prob 0.5 in phase 1 and 2, with prob 1 in phase 3
10 / 11
Third example: more complex service times
Restart Signals Class 1 Class 2 Class 5 Class 4 PS Class 3 Jobs Jobs
Exp(0.1) Exp(1) 1/4 3/4 Exp(1) 2/3 1/3
Job arrivals to class 1 (λ1 = 0.004) and class 2 (λ2 = 0.01) Restart succeeds with prob 0.5 in phase 1 and 2, with prob 1 in phase 3 In class 2 service time distribution is no APH, restart succeeds
- nly in phase 3
10 / 11
Third example: more complex service times
Restart Signals Class 1 Class 2 Class 5 Class 4 PS Class 3 Jobs Jobs
Exp(0.5) Exp(0.5) Exp(0.5)
Job arrivals to class 1 (λ1 = 0.004) and class 2 (λ2 = 0.01) Restart succeeds with prob 0.5 in phase 1 and 2, with prob 1 in phase 3 In class 2 service time distribution is no APH, restart succeeds
- nly in phase 3
Class 3, 4, 5 have Erlang(3) service time with λ = 0.5 and different restart success probs
10 / 11
Third example: more complex service times
Restart Signals Class 1 Class 2 Class 5 Class 4 PS Class 3 Jobs Jobs
0.01 0.1 1 10 100 50 100 150 200 250 300 Restart Rate rho Expected Queue Length Expected Waiting Time
Job arrivals to class 1 (λ1 = 0.004) and class 2 (λ2 = 0.01) Restart succeeds with prob 0.5 in phase 1 and 2, with prob 1 in phase 3 In class 2 service time distribution is no APH, restart succeeds
- nly in phase 3
Class 3, 4, 5 have Erlang(3) service time with λ = 0.5 and different restart success probs Restart has strong positive effect
10 / 11
Conclusions
G-networks can have several classes in several queues
11 / 11
Conclusions
G-networks can have several classes in several queues Different type of job arrivals are possible - different clients
11 / 11
Conclusions
G-networks can have several classes in several queues Different type of job arrivals are possible - different clients Signals can model restarts
11 / 11
Conclusions
G-networks can have several classes in several queues Different type of job arrivals are possible - different clients Signals can model restarts Product-form solution, standard queueing measures
11 / 11
Conclusions
G-networks can have several classes in several queues Different type of job arrivals are possible - different clients Signals can model restarts Product-form solution, standard queueing measures Great flexibility in service time distributions, Phase-type
11 / 11
Conclusions
G-networks can have several classes in several queues Different type of job arrivals are possible - different clients Signals can model restarts Product-form solution, standard queueing measures Great flexibility in service time distributions, Phase-type Find optimal restart interval in most situations, i.e. restart reduces response time
11 / 11
Conclusions
G-networks can have several classes in several queues Different type of job arrivals are possible - different clients Signals can model restarts Product-form solution, standard queueing measures Great flexibility in service time distributions, Phase-type Find optimal restart interval in most situations, i.e. restart reduces response time Modelling power for arrivals not fully exploited
11 / 11
Conclusions
G-networks can have several classes in several queues Different type of job arrivals are possible - different clients Signals can model restarts Product-form solution, standard queueing measures Great flexibility in service time distributions, Phase-type Find optimal restart interval in most situations, i.e. restart reduces response time Modelling power for arrivals not fully exploited Formalism to study reliable protocols, rejuvenation, checkpointing, .....
11 / 11
Conclusions
G-networks can have several classes in several queues Different type of job arrivals are possible - different clients Signals can model restarts Product-form solution, standard queueing measures Great flexibility in service time distributions, Phase-type Find optimal restart interval in most situations, i.e. restart reduces response time Modelling power for arrivals not fully exploited Formalism to study reliable protocols, rejuvenation, checkpointing, ..... Need better tool support.
11 / 11