optimization in the loop
play

Optimization in the Loop Implementing and Testing Scheduling - PowerPoint PPT Presentation

Optimization in the Loop Implementing and Testing Scheduling Algorithms with SimuLTE Antonio Virdis University of Pisa Prof. Giovanni Stea Giovanni Nardini Outline Why Optimization Going into the Loop Methods Example


  1. Optimization in the Loop Implementing and Testing Scheduling Algorithms with SimuLTE Antonio Virdis University of Pisa • Prof. Giovanni Stea • Giovanni Nardini

  2. Outline • Why Optimization • Going into the Loop • Methods • Example 2

  3. An everyday problem Algorithm System HELP! 3

  4. Comparing Results I’m better than you Algorithm 1 system Algorithm 2 4

  5. Comparing with the best 140 120 Some Important KPI 100 80 60 40 20 0 5

  6. Comparing with the best 140 120 Some Important KPI 100 80 60 40 20 0 6

  7. Comparing Results I’m better than the optimum system å a ´ x i max i s . t . x i + p i £ M ... 7

  8. A simple problem HELP! scheduler resources buffers 8

  9. Taking a Photo HELP! scheduler resources buffers Mathematical Formulation 9

  10. Quiz 1 10

  11. Quiz 1 Full Buffer resources output speed s1 > s2 s1 s2 t0 t1 Time 11

  12. Finite Buffer: CBR resources s1 s2 t0 t1 Time 12

  13. How does the system evolve HELP! scheduler resources buffers Decision 13

  14. From outside to inside HELP! resources scheduler buffers Decision HELP! resources buffers Decision 14

  15. Going Into The Loop 15

  16. Overview 1. Read system info 2. Build problem instance 3. Solving 4. Parse and enforce solution 2 2 3 3 1 HELP! scheduler buffers Decision 4 16

  17. 2 methods LP File 2 Simulator CPLEX XML File 3 Simulator CPLEX 17

  18. 2 Building A problem File LP file for( i=0 ; i<N ; ++i ) stream << “x” << i << “ + “ ; N å x i max i s . t . x i + p i £ M " i ... for( i=0 ; i<N ; ++i ) …………… 18

  19. 3 Reading Results XML file – XML Management • Built-in in OMNeT • Easy to implement manually 19

  20. 2° method: API • Idea: can we use CPLEX as an API? – Callable Library : matrix-based C-written API – Concert Tecnology : a set of modeling objects (also) in C++ 20

  21. Including CPLEX • TELL OMNET : – where the .h files are located – where the dynamic libraries are located – wich dynamic library to include – enable the I_STD preprocessor macro • Can be done via the Project Properties of OMNeT++ 21

  22. Matrix representation x0 0 x1 1 x2 2 x3 3 p0 p1 p2 p3 … 4 5 6 7 … … … Objective 0 0 0 0 function ALL variables Constraints 22

  23. Matrix representation 23

  24. Custom C++ Interface • Generally variables are in the form: – X i One pedi x – y i , j Two pedi ces 0 £ i < M M ´ K y i , j 0 £ j < K 24

  25. 2° Method: variables Name , #1st , #2nd x i M 0 Access with y i , j M K local indexes z n L 0 M x K L M 25

  26. 2° Method: constraints • Add constraints one by one usign local indexes • Build the problem at the end one-shot 26

  27. Reading The Output XML index 0 1 2 3 4 ……. solution 27

  28. Quiz 2: { } x i Î 0,1 Binary values ? x[i] == 1 28

  29. Quiz 2: x0 -> 0 x0 -> 0.00000000 x1 -> 0 x1 -> 0.00000000 x2 -> 1 x2 -> 1.00000000 x3 -> 0 x3 -> 0.00000000 x4 -> 1 x4 -> 1.00000000 Do not trust Increase x5 -> 0 x5 -> 0.00000000 double values Precision x6 -> 0 x6 -> 0.00000000 x7 -> 1 x7 -> 1.00000000 x8 -> 1 x8 -> 1.00000001 x9 -> 1 x9 -> 1.00000000 x10 -> 1 x10 -> 1.00000000 x11 -> 0 x11 -> 0.00000000 29

  30. Pros and Cons • Easy to build LP file • Generally slower XML FILE • Generally faster • Requires API knowledge 30

  31. Optimization in SimuLTE resources buffers 31

  32. LTE CQI 90 bytes UE1 RBs 1ms eNB UE2 Buffers CQI UE2 UE1 55 bytes 32

  33. Resource allocation in LTE RBs CQI1 CQI2 Allocate RB s to UE s 33

  34. Multi Band Scheduling RBs CQI1 [0] CQI2 [0] CQI1 [1] CQI2 [1] CQI1 [2] CQI2 [2] … … 34

  35. SimuLTE: Scheduling structure eNB System Layers Resource Status Scheduling Allocator Modules 35

  36. SimuLTE: Scheduler Hierarchy eNB Data Allocator Scheduler Manager 1 4 Scheduling Policy 2 MAX C/I PF 3 36

  37. Simulation Scenario …….. CBR Traffic • Varying packet size • Linear Mobility • InLoop vs OutLoop 37

  38. InLoop vs OutLoop 600 Algorithm In Loop Out Loop 500 MAC Throughput [byte/TTI] 400 300 200 100 0 250 500 750 1000 Packet Size 38

  39. InLoop vs OutLoop 600 Algorithm In Loop Out Loop 500 MAC Throughput [byte/TTI] 400 300 200 100 0 250 500 750 1000 Packet Size 39

  40. Any question while running for dinner ? Antonio Virdis a.virdis@iet.unipi.it simulte.com

Recommend


More recommend