delay tolerant voice calls in a gsm/gprs cell
DESCRIPTION
University of Glamorgan Mobile Computing and Networking Research Centre. Performance Modelling with MOSEL-2. Delay Tolerant Voice Calls in a GSM/GPRS Cell. Patrick Wuechner 1,2 , Khalid Al-Begain 1 , Joerg Barner 2 , Gunter Bolch 2 1 University of Glamorgan, Wales, UK - PowerPoint PPT PresentationTRANSCRIPT
Delay Tolerant Voice Calls in a GSM/GPRS Cell
University of GlamorganMobile Computing and Networking Research Centre
Performance Modelling with MOSEL-2
Patrick Wuechner 1,2, Khalid Al-Begain 1, Joerg Barner 2, Gunter Bolch 2
1 University of Glamorgan, Wales, UK
2 University of Erlangen, Germany
Outline Introduction Performance Modelling with
MOSEL-2 A single GSM/GPRS Cell with Delay
Tolerant Voice Calls (DeTVoC) Recent Improvements of MOSEL-2
Introduction
MOSEL (Modelling, Specification, and Evaluation Language) is a textual high-level
modelling language. Developed in Erlangen. Suitable for describing system model based on
queuing networks, Petri Nets, and many else. MOSEL Package contains: Language
Interpreter, Numerical/simulation solvers, and graphical tool for result presentation.
Introduction
History of MOSEL- MOSLANG (predecessor of MOSEL)- MOSEL (H. Herold, G. Bolch, K.Al-Begain)
- Markov solution only- C based syntax and support- Support for SPNP and MOSES tools
- MOSEL-2 (B. Beutel, J. Barner, G.Bolch)- Markov and DSPN based solution (immediate, exponential and
deterministic transitions)- Simulation- Moved away from C- Support for SPNP and MOSES tools
- Next MOSEL (P. Wuechner, K.Al-Begain)- Empirical and General distributions- ???
MOSEL-2: A Basic Example
Closed Tandem Network:
Petri Net model description:
Exp Det
p1 p2
N=3
MOSEL-2: A Basic Example
Closed Tandem Network:
MOSEL model description:
1: PARAMETER rate_t1 := 2 .. 8 STEP 2;
2: CONST mean_t2 := 1/5;
3: NODE p1[3] := 2;
4: NODE p2[3] := 1;
5: FROM p1 TO p2 RATE rate_t1;
6: FROM p2 TO p1 AFTER mean_t2;
7: PRINT avg_in_p1 := MEAN(p1);:
1: PARAMETER rate_t1 := 2 .. 8 STEP 2;
2: CONST mean_t2 := 1/5;
3: NODE p1[3] := 2;
4: NODE p2[3] := 1;
5: FROM p1 TO p2 RATE rate_t1;
6: FROM p2 TO p1 AFTER mean_t2;
7: PRINT avg_in_p1 := MEAN(p1);:
Exp Det
p1 p2
N=3
MOSEL-2: A Basic Example
Closed Tandem Network:
MOSEL model description: 1: PARAMETER rate_t1 := 2 .. 8 STEP 2;
2: CONST mean_t2 := 1/5;
3: NODE p1[3] := 2;
4: NODE p2[3] := 1;
5: FROM p1 TO p2 RATE rate_t1;
6: FROM p2 TO p1 AFTER mean_t2;
7: PRINT avg_in_p1 := MEAN(p1);:
1: PARAMETER rate_t1 := 2 .. 8 STEP 2;
2: CONST mean_t2 := 1/5;
3: NODE p1[3] := 2;
4: NODE p2[3] := 1;
5: FROM p1 TO p2 RATE rate_t1;
6: FROM p2 TO p1 AFTER mean_t2;
7: PRINT avg_in_p1 := MEAN(p1);:
Exp Det
p1 p2
N=3
Parameter Part
MOSEL-2: A Basic Example
Closed Tandem Network:
MOSEL model description: 1: PARAMETER rate_t1 := 2 .. 8 STEP 2;
2: CONST mean_t2 := 1/5;
3: NODE p1[3] := 2;
4: NODE p2[3] := 1;
5: FROM p1 TO p2 RATE rate_t1;
6: FROM p2 TO p1 AFTER mean_t2;
7: PRINT avg_in_p1 := MEAN(p1);:
1: PARAMETER rate_t1 := 2 .. 8 STEP 2;
2: CONST mean_t2 := 1/5;
3: NODE p1[3] := 2;
4: NODE p2[3] := 1;
5: FROM p1 TO p2 RATE rate_t1;
6: FROM p2 TO p1 AFTER mean_t2;
7: PRINT avg_in_p1 := MEAN(p1);:
Exp Det
p1 p2
N=3
System State Definition Part
MOSEL-2: A Basic Example
Closed Tandem Network:
MOSEL model description: 1: PARAMETER rate_t1 := 2 .. 8 STEP 2;
2: CONST mean_t2 := 1/5;
3: NODE p1[3] := 2;
4: NODE p2[3] := 1;
5: FROM p1 TO p2 RATE rate_t1;
6: FROM p2 TO p1 AFTER mean_t2;
7: PRINT avg_in_p1 := MEAN(p1);:
1: PARAMETER rate_t1 := 2 .. 8 STEP 2;
2: CONST mean_t2 := 1/5;
3: NODE p1[3] := 2;
4: NODE p2[3] := 1;
5: FROM p1 TO p2 RATE rate_t1;
6: FROM p2 TO p1 AFTER mean_t2;
7: PRINT avg_in_p1 := MEAN(p1);:
Exp Det
p1 p2
N=3
Transition Rules Part
MOSEL-2: A Basic Example
Closed Tandem Network:
MOSEL model description:
1: PARAMETER rate_t1 := 2 .. 8 STEP 2;
2: CONST mean_t2 := 1/5;
3: NODE p1[3] := 2;
4: NODE p2[3] := 1;
5: FROM p1 TO p2 RATE rate_t1;
6: FROM p2 TO p1 AFTER mean_t2;
7: PRINT avg_in_p1 := MEAN(p1);:
1: PARAMETER rate_t1 := 2 .. 8 STEP 2;
2: CONST mean_t2 := 1/5;
3: NODE p1[3] := 2;
4: NODE p2[3] := 1;
5: FROM p1 TO p2 RATE rate_t1;
6: FROM p2 TO p1 AFTER mean_t2;
7: PRINT avg_in_p1 := MEAN(p1);:
Exp Det
p1 p2
N=3
Result definition part
MOSEL-2: Invoking the Environment
Command line:
Options:-T: Translate MOSEL model to
TimeNET model.(can be c for SPNP or m for
Moses)
-s: Start appropriate tool (TimeNET) automatically.
mosel2 –Ts tandem.mosmosel2 –Ts tandem.mos
MOSEL-2: Workflow
MOSES SPNP TimeNET other
sys.m sys.c sys.tn sys.?…
…
sys.mos
user
real system
numerical analysis
discrete event simulation
tool specific result files…
sys.{res, igl}
11
2
3
4
5
6
2
3
4
5
6
1) building MOSEL-2 system description and starting the environment
2) MOSEL-2 translates the given model to the input file format of an evaluation tool
3) the appropriate tool is called by MOSEL-2
4) the tool evaluates the model either using numerical analysis methods or discrete event simulation
5) tool writes it output to tool specific output files
6) MOSEL-2 collects and parses all output files to uniform result files
MOSEL-2: Result Presentation
textual:Stationary analysis of "tandem.mos" by TimeNET
Parameters:
rate_t1 = 2
Results:
avg_in_p1 = 2.49505
==============================================
Parameters:
rate_t1 = 4
Results:
avg_in_p1 = 1.80837
==============================================
Parameters:
rate_t1 = 6
Results:
avg_in_p1 = 1.20243
==============================================
Parameters:
rate_t1 = 8
Results:
avg_in_p1 = 0.818239
Stationary analysis of "tandem.mos" by TimeNET
Parameters:
rate_t1 = 2
Results:
avg_in_p1 = 2.49505
==============================================
Parameters:
rate_t1 = 4
Results:
avg_in_p1 = 1.80837
==============================================
Parameters:
rate_t1 = 6
Results:
avg_in_p1 = 1.20243
==============================================
Parameters:
rate_t1 = 8
Results:
avg_in_p1 = 0.818239
graphical:(if specified)
GSM/GPRS Cell with Delay Tolerant Voice Calls
Assumptions: N GSM channels shared between Voice and data
traffic. Voice is circuit-switched. Data is packet switched (can be buffered). Data traffic utilises all channels not used by
Voice. When all channels are busy Voice calls are
blocked but NOT lost immediately. Blocked voice calls are delayed for a certain
(fixed) amount of time before being rejected.
DSPN model of GSM/GPRS air interface
p1
t1
p2
t2
TDMA
p3
p4
t3
DV
t4
t5
t7
t8
t6…
V D
t1: Poisson voice arrival processt2: Poisson data arrival processt3: data losst4: data admissiont5: call admissiont6: DeTVoC (deterministic, IS)t7: data service (exponential, IS)t8: voice service (exponential)
MOSEL-2 Model01 /* PARAMETER AND CONSTANTS **********************/02 PARAMETER lambda_d := 0.1, 0.5 .. 2.5 STEP 0.25;03 CONST lambda_v := 1/100;04 CONST mue_single_v := 1/80;05 CONST max_users_v := 100; 06 CONST chan_res_d := 1;07 CONST waiting_time := 10;08 CONST mue_single_d := (21.4/8) / 10;0910 /* NODES ****************************************/11 NODE p1[max_users_v] := 0;12 NODE p2[1] := 0;13 NODE p3[32] := 0;14 NODE p4[chans-chan_res_d] := 0;1516 /* TRANSITIONS **********************************/17 FROM EXTERN TO p1 RATE lambda_v; //t118 FROM EXTERN TO p2 RATE lambda_d; //t219 FROM p2 TO EXTERN PRIO 1; //t320 FROM p2 TO p3 PRIO 2; //t421 FROM p1 TO p4 PRIO 2; //t522 @<1..max_users_v>{ //t623 IF p1 >= # FROM p1 24 TO EXTERN 25 AFTER waiting_time 26 PRIO 1;27 }
01 /* PARAMETER AND CONSTANTS **********************/02 PARAMETER lambda_d := 0.1, 0.5 .. 2.5 STEP 0.25;03 CONST lambda_v := 1/100;04 CONST mue_single_v := 1/80;05 CONST max_users_v := 100; 06 CONST chan_res_d := 1;07 CONST waiting_time := 10;08 CONST mue_single_d := (21.4/8) / 10;0910 /* NODES ****************************************/11 NODE p1[max_users_v] := 0;12 NODE p2[1] := 0;13 NODE p3[32] := 0;14 NODE p4[chans-chan_res_d] := 0;1516 /* TRANSITIONS **********************************/17 FROM EXTERN TO p1 RATE lambda_v; //t118 FROM EXTERN TO p2 RATE lambda_d; //t219 FROM p2 TO EXTERN PRIO 1; //t320 FROM p2 TO p3 PRIO 2; //t421 FROM p1 TO p4 PRIO 2; //t522 @<1..max_users_v>{ //t623 IF p1 >= # FROM p1 24 TO EXTERN 25 AFTER waiting_time 26 PRIO 1;27 }
28 FROM p3 TO EXTERN RATE mue_single_d * (8-p4); //t729 FROM p4 TO EXTERN RATE mue_single_v * p4; //t83031 /* RESULTS **************************************/32 // TEXTUAL (.res)33 PRINT d_loss := PROB (p3=32);34 PRINT v_block := UTIL (p1);3536 // GRAPHICAL (.igl)37 PICTURE “prob. of data loss and voice blocking"38 PARAMETER lambda_d39 XLABEL "incoming burst rate"40 YLABEL "PROB"41 CURVE d_loss42 CURVE v_block
28 FROM p3 TO EXTERN RATE mue_single_d * (8-p4); //t729 FROM p4 TO EXTERN RATE mue_single_v * p4; //t83031 /* RESULTS **************************************/32 // TEXTUAL (.res)33 PRINT d_loss := PROB (p3=32);34 PRINT v_block := UTIL (p1);3536 // GRAPHICAL (.igl)37 PICTURE “prob. of data loss and voice blocking"38 PARAMETER lambda_d39 XLABEL "incoming burst rate"40 YLABEL "PROB"41 CURVE d_loss42 CURVE v_block
MOSEL-2 Results
MOSEL-2 Results
MOSEL-2: Recent Improvements
Introducing automatic approximation of “empirical” distributions:
MOSEL:
Petri Net:
3 different approximations depending on Squared Coefficient of Variation: 2
22
tc
2
22
tc
MOSEL-2: Recent Improvements
c2 = 1Empirical distribution gets substituted by Exponential distribution with service rate:
t
1t
1
MOSEL-2 Recent Improvements
c2 > 1Empirical distribution gets substituted by Generalized Exponential (GE) construct:
MOSEL-2: Recent Improvements
c2 < 1Empirical distribution gets substituted by Hypoexponential Phase-Type (PH) construct:
MOSEL-2: Application revisited
ESPN model of GSM/GPRS air interface:
p1
t1
p2
t2
TDMA
p3
p4
t3DV
t4
t5
t7
t8
t6…
V D
t1: Poisson voice arrival processt2: Poisson data arrival processt3: data losst4: data admissiont5: call admissiont6: DeTVoC (exp delay)t7: data service (empirical, IS)t8: voice service (exponential)
MOSEL-2 Model 1 /* PARAMETER AND CONSTANTS **********************/ 2 CONST lambda_d := 1.5; 3 PARAMETER lambda_v := 0.02 .. 0.06 STEP 0.01; 4 CONST mue_single_v := 1/80; 5 CONST max_users_v := 50; 6 CONST chans := 8; 7 CONST chan_res_d := 1; 8 CONST chan_max_d := chans - 2; 9 CONST waiting_time := 10;10 CONST mean_single_d := 10 / (21.4/8);11 PARAMETER scv_d := 0.5, 1, 2;12 CONST var_d := scv_d * mean_single_d13 * mean_single_d;1415 /* NODES ****************************************/16 NODE p1[max_users_v] := 0;17 NODE p2[1] := 0;18 NODE p3[32] := 0;19 NODE p4[chans-chan_res_d] := 0;2021 /* TRANSITIONS **********************************/22 FROM EXTERN TO p1 RATE lambda_v; //t123 FROM EXTERN TO p2 RATE lambda_d; //t224 FROM p2 TO EXTERN PRIO 1; //t325 FROM p2 TO p3 PRIO 2; //t426 FROM p1 TO p4 PRIO 2; //t527 FROM p1 TO EXTERN RATE //t628 p1*(1/WAITING_TIME) PRIO 1;29 30
1 /* PARAMETER AND CONSTANTS **********************/ 2 CONST lambda_d := 1.5; 3 PARAMETER lambda_v := 0.02 .. 0.06 STEP 0.01; 4 CONST mue_single_v := 1/80; 5 CONST max_users_v := 50; 6 CONST chans := 8; 7 CONST chan_res_d := 1; 8 CONST chan_max_d := chans - 2; 9 CONST waiting_time := 10;10 CONST mean_single_d := 10 / (21.4/8);11 PARAMETER scv_d := 0.5, 1, 2;12 CONST var_d := scv_d * mean_single_d13 * mean_single_d;1415 /* NODES ****************************************/16 NODE p1[max_users_v] := 0;17 NODE p2[1] := 0;18 NODE p3[32] := 0;19 NODE p4[chans-chan_res_d] := 0;2021 /* TRANSITIONS **********************************/22 FROM EXTERN TO p1 RATE lambda_v; //t123 FROM EXTERN TO p2 RATE lambda_d; //t224 FROM p2 TO EXTERN PRIO 1; //t325 FROM p2 TO p3 PRIO 2; //t426 FROM p1 TO p4 PRIO 2; //t527 FROM p1 TO EXTERN RATE //t628 p1*(1/WAITING_TIME) PRIO 1;29 30
31 @<1..chan_max_d>{ //t732 IF (chans-p4) >= #33 FROM p3 TO EXTERN EMP (mean_single_d, var_d);34 }35 FROM p4 TO EXTERN RATE mue_single_v * p4; //t83637 /* RESULTS **************************************/38 // TEXTUAL (.res)39 PRINT d_loss := PROB (p3=32);40 PRINT v_block := UTIL (p1);4142 PRINT data_mean := MEAN (p3);43 PRINT voice_mean := MEAN (p4);44 PRINT voice_mean_w := MEAN (p1);4546 // GRAPHICAL (.igl)4748 PICTURE "data burst loss and voice blocking"49 PARAMETER lambda_V50 XLABEL "incoming burst rate"51 YLABEL "PROB"52 CURVE d_loss53 5455 PICTURE “Voice Blocking Probability"56 PARAMETER lambda_v57 XLABEL "incoming burst rate"58 YLABEL “PROB"59 CURVE d_loss60 61
31 @<1..chan_max_d>{ //t732 IF (chans-p4) >= #33 FROM p3 TO EXTERN EMP (mean_single_d, var_d);34 }35 FROM p4 TO EXTERN RATE mue_single_v * p4; //t83637 /* RESULTS **************************************/38 // TEXTUAL (.res)39 PRINT d_loss := PROB (p3=32);40 PRINT v_block := UTIL (p1);4142 PRINT data_mean := MEAN (p3);43 PRINT voice_mean := MEAN (p4);44 PRINT voice_mean_w := MEAN (p1);4546 // GRAPHICAL (.igl)4748 PICTURE "data burst loss and voice blocking"49 PARAMETER lambda_V50 XLABEL "incoming burst rate"51 YLABEL "PROB"52 CURVE d_loss53 5455 PICTURE “Voice Blocking Probability"56 PARAMETER lambda_v57 XLABEL "incoming burst rate"58 YLABEL “PROB"59 CURVE d_loss60 61
MOSEL-2: Results 1
MOSEL-2: Results 2
Conclusion
MOSEL is growing and getting more and more interesting features
Increased modelling power Unfortunately, the new features limit
the size of the model because of new nodes added.
We hope to start a new project on a new version of MOSEL that will be very powerful tool with many new features.