280 likes | 400 Views
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
E N D
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 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 modellinglanguage. • 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 p2 p1 N=3
MOSEL-2: A Basic Example • Closed Tandem Network: • MOSEL model description: Exp Det p2 p1 N=3 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);:
MOSEL-2: A Basic Example • Closed Tandem Network: • MOSEL model description: Exp Det p2 p1 N=3 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);: Parameter Part
MOSEL-2: A Basic Example • Closed Tandem Network: • MOSEL model description: Exp Det p2 p1 N=3 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);: System State Definition Part
MOSEL-2: A Basic Example • Closed Tandem Network: • MOSEL model description: Exp Det p2 p1 N=3 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);: Transition Rules Part
MOSEL-2: A Basic Example • Closed Tandem Network: • MOSEL model description: Exp Det p2 p1 N=3 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);: 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.mos
MOSEL-2: Workflow real system • building MOSEL-2 system description and starting the environment • MOSEL-2 translates the given model to the input file format of an evaluation tool • the appropriate tool is called by MOSEL-2 • the tool evaluates the model either using numerical analysis methods or discrete event simulation • tool writes it output to tool specific output files • MOSEL-2 collects and parses all output files to uniform result files user 1 1 sys.mos 2 2 sys.m sys.c sys.tn … sys.? 3 3 MOSES SPNP TimeNET … other 4 4 discrete event simulation numerical analysis 5 5 tool specific result … files 6 6 sys.{res, igl}
MOSEL-2: Result Presentation • graphical:(if specified) • 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
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 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) D V t1 t2 t3 p1 p2 t7 TDMA t4 p3 t5 t8 p4 t6 … D V
MOSEL-2 Model 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; 09 10/* 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; 15 16/* TRANSITIONS **********************************/ 17 FROM EXTERN TO p1 RATE lambda_v; //t1 18 FROM EXTERN TO p2 RATE lambda_d; //t2 19 FROM p2 TO EXTERN PRIO 1; //t3 20 FROM p2 TO p3 PRIO 2; //t4 21 FROM p1 TO p4 PRIO 2; //t5 22 @<1..max_users_v>{ //t6 23 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); //t7 29 FROM p4 TO EXTERN RATE mue_single_v * p4; //t8 30 31/* RESULTS **************************************/ 32// TEXTUAL (.res) 33 PRINT d_loss := PROB (p3=32); 34 PRINT v_block := UTIL (p1); 35 36// GRAPHICAL (.igl) 37 PICTURE “prob. of data loss and voice blocking" 38 PARAMETER lambda_d 39 XLABEL "incoming burst rate" 40 YLABEL "PROB" 41 CURVE d_loss 42 CURVE v_block
MOSEL-2: Recent Improvements • Introducing automatic approximation of “empirical” distributions: • MOSEL: • Petri Net: • 3 different approximations depending on Squared Coefficient of Variation:
MOSEL-2: Recent Improvements • c2 = 1Empirical distribution gets substituted by Exponential distribution with service rate:
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: 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) t3 D V t7 t1 t2 p1 p2 TDMA t4 p3 t5 t8 p4 t6 … D V
MOSEL-2 Model 1/* PARAMETER AND CONSTANTS **********************/ 2CONSTlambda_d := 1.5; 3PARAMETER 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); 11PARAMETER scv_d := 0.5, 1, 2; 12 CONST var_d := scv_d * mean_single_d 13 * mean_single_d; 14 15/* 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; 20 21/* TRANSITIONS **********************************/ 22 FROM EXTERN TO p1 RATE lambda_v; //t1 23 FROM EXTERN TO p2 RATE lambda_d; //t2 24 FROM p2 TO EXTERN PRIO 1; //t3 25 FROM p2 TO p3 PRIO 2; //t4 26 FROM p1 TO p4 PRIO 2; //t5 27 FROM p1 TO EXTERN RATE //t6 28 p1*(1/WAITING_TIME) PRIO 1; 29 30 31 @<1..chan_max_d>{ //t7 32 IF (chans-p4) >= # 33FROM p3 TO EXTERN EMP (mean_single_d, var_d); 34 } 35 FROM p4 TO EXTERN RATE mue_single_v * p4; //t8 36 37/* RESULTS **************************************/ 38// TEXTUAL (.res) 39 PRINT d_loss := PROB (p3=32); 40 PRINT v_block := UTIL (p1); 41 42 PRINT data_mean := MEAN (p3); 43 PRINT voice_mean := MEAN (p4); 44 PRINT voice_mean_w := MEAN (p1); 45 46// GRAPHICAL (.igl) 47 48 PICTURE "data burst loss and voice blocking" 49 PARAMETER lambda_V 50 XLABEL "incoming burst rate" 51 YLABEL "PROB" 52 CURVE d_loss 53 54 55 PICTURE “Voice Blocking Probability" 56 PARAMETER lambda_v 57 XLABEL "incoming burst rate" 58 YLABEL “PROB" 59 CURVE d_loss 60 61
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.