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

optimization in the loop
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Optimization in the Loop

Implementing and Testing Scheduling Algorithms with SimuLTE

Antonio Virdis University of Pisa

  • Prof. Giovanni Stea
  • Giovanni Nardini
slide-2
SLIDE 2

Outline

  • Why Optimization
  • Going into the Loop
  • Methods
  • Example

2

slide-3
SLIDE 3

An everyday problem

System HELP! Algorithm

3

slide-4
SLIDE 4

Comparing Results

system Algorithm 1 Algorithm 2

I’m better than you

4

slide-5
SLIDE 5

Comparing with the best

20 40 60 80 100 120 140

Some Important KPI

5

slide-6
SLIDE 6

Comparing with the best

Some Important KPI

20 40 60 80 100 120 140

6

slide-7
SLIDE 7

Comparing Results

system

I’m better than the optimum

max a ´ xi

i

å

s . t. xi + pi £ M ...

7

slide-8
SLIDE 8

A simple problem

scheduler HELP! buffers

resources

8

slide-9
SLIDE 9

Taking a Photo

scheduler HELP!

buffers

resources

Mathematical Formulation

9

slide-10
SLIDE 10

Quiz 1

10

slide-11
SLIDE 11

Quiz 1

s1 s2

resources

Time

s1 > s2

  • utput speed

Full Buffer

11

t0 t1

slide-12
SLIDE 12

Finite Buffer: CBR

s1 s2

resources

Time

12

t0 t1

slide-13
SLIDE 13

How does the system evolve

scheduler HELP! Decision buffers

resources

13

slide-14
SLIDE 14

From outside to inside

scheduler HELP! Decision buffers

resources

HELP! Decision buffers

resources

14

slide-15
SLIDE 15

Going Into The Loop

15

slide-16
SLIDE 16

Overview

scheduler HELP! Decision buffers

1 4

  • 1. Read system info
  • 2. Build problem instance
  • 3. Solving
  • 4. Parse and enforce solution

2 3 2 3

16

slide-17
SLIDE 17

2 methods

LP File

2

XML File

3

CPLEX Simulator

Simulator CPLEX

17

slide-18
SLIDE 18

Building A problem File

LP file

max xi

i N

å

s . t. xi + pi £ M "i ...

for( i=0 ; i<N ; ++i ) stream << “x” << i << “ + “; for( i=0 ; i<N ; ++i ) ……………

18

2

slide-19
SLIDE 19

Reading Results

– XML Management

  • Built-in in OMNeT
  • Easy to implement manually

XML file

19

3

slide-20
SLIDE 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

slide-21
SLIDE 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

slide-22
SLIDE 22

Matrix representation

Objective function

x0 x1 x2 x3 p0 p1 p2 p3 … … ALL variables

Constraints

1 2 3 4 5 6 7 … …

22

slide-23
SLIDE 23

Matrix representation

23

slide-24
SLIDE 24

Custom C++ Interface

  • Generally variables are in the form:

–Xi –yi , j

One pedix Two pedices

y i , j

0 £i < M

0 £ j < K

M ´K

24

slide-25
SLIDE 25

2° Method: variables x i

M

y i , j

M K

z n

L

M M x K L

Name , #1st , #2nd Access with local indexes

25

slide-26
SLIDE 26

2° Method: constraints

  • Add constraints one by one

usign local indexes

  • Build the problem at the end one-shot

26

slide-27
SLIDE 27

Reading The Output

XML

1 2 3 4 ……. index solution

27

slide-28
SLIDE 28

Quiz 2:

xi Î 0,1

{ }

Binary values

x[i] == 1 ?

28

slide-29
SLIDE 29

Quiz 2:

x0 -> 0 x1 -> 0 x2 -> 1 x3 -> 0 x4 -> 1 x5 -> 0 x6 -> 0 x7 -> 1 x8 -> 1 x9 -> 1 x10 -> 1 x11 -> 0 x0 -> 0.00000000 x1 -> 0.00000000 x2 -> 1.00000000 x3 -> 0.00000000 x4 -> 1.00000000 x5 -> 0.00000000 x6 -> 0.00000000 x7 -> 1.00000000 x8 -> 1.00000001 x9 -> 1.00000000 x10 -> 1.00000000 x11 -> 0.00000000 Increase Precision

Do not trust double values

29

slide-30
SLIDE 30

Pros and Cons

  • Easy to build
  • Generally slower
  • Generally faster
  • Requires API knowledge

LP file XML FILE

30

slide-31
SLIDE 31

Optimization in SimuLTE

buffers

resources

31

slide-32
SLIDE 32

LTE

UE1 1ms RBs eNB UE2 Buffers

UE1 UE2

CQI

90 bytes

CQI

55 bytes

32

slide-33
SLIDE 33

Resource allocation in LTE

CQI1 CQI2

RBs

Allocate RBs to UEs

33

slide-34
SLIDE 34

Multi Band Scheduling

CQI1 [0] CQI1 [1] CQI1 [2] … CQI2 [0] CQI2 [1] CQI2 [2] …

RBs

34

slide-35
SLIDE 35

SimuLTE: Scheduling structure

eNB

System Layers

Resource Status

Allocator Scheduling Modules

35

slide-36
SLIDE 36

SimuLTE: Scheduler Hierarchy

Scheduling Policy

MAX C/I PF

Allocator

eNB Scheduler

Data Manager 1 4 2 3

36

slide-37
SLIDE 37

Simulation Scenario

CBR Traffic

  • Varying packet size
  • Linear Mobility
  • InLoop vs OutLoop

……..

37

slide-38
SLIDE 38

InLoop vs OutLoop

100 200 300 400 500 600 250 500 750 1000 MAC Throughput [byte/TTI] Packet Size Algorithm In Loop Out Loop

38

slide-39
SLIDE 39

InLoop vs OutLoop

100 200 300 400 500 600 250 500 750 1000 MAC Throughput [byte/TTI] Packet Size Algorithm In Loop Out Loop

39

slide-40
SLIDE 40

Any question while running for

dinner?

Antonio Virdis a.virdis@iet.unipi.it simulte.com