foundations: operational analysis and queuing models

74
1

Upload: others

Post on 18-Apr-2022

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Foundations: Operational Analysis and Queuing Models

1

Page 2: Foundations: Operational Analysis and Queuing Models

2

Page 3: Foundations: Operational Analysis and Queuing Models

▫▫

•▫

•▫▫

3

Page 4: Foundations: Operational Analysis and Queuing Models

4

Page 5: Foundations: Operational Analysis and Queuing Models

•▫

▫▫

5

Page 6: Foundations: Operational Analysis and Queuing Models

6

Page 7: Foundations: Operational Analysis and Queuing Models

7

0

100

200

300

r

e

s

p

o

n

s

e

t

i

m

e

(

m

s)

n

constant

linear

exponential

Page 8: Foundations: Operational Analysis and Queuing Models

8

0

100

200

300

r

e

s

p

o

n

s

e

t

i

m

e

(

m

s)

n

constant

linear

exponential

Page 9: Foundations: Operational Analysis and Queuing Models

9

0

100

200

300

r

e

s

p

o

n

s

e

t

i

m

e

(

m

s)

n

constant

linear

n log n

log n

exponential

Page 10: Foundations: Operational Analysis and Queuing Models

10

Page 11: Foundations: Operational Analysis and Queuing Models

•▫

•▫

11

Page 12: Foundations: Operational Analysis and Queuing Models

•▫

•▫

12

Page 13: Foundations: Operational Analysis and Queuing Models

•▫

•▫

13

Page 14: Foundations: Operational Analysis and Queuing Models

u = 𝜆 ∗ 𝒔

•▫

14

Page 15: Foundations: Operational Analysis and Queuing Models

15

Page 16: Foundations: Operational Analysis and Queuing Models

16

Page 17: Foundations: Operational Analysis and Queuing Models

17

Page 18: Foundations: Operational Analysis and Queuing Models

18

Page 19: Foundations: Operational Analysis and Queuing Models

Component Performance, Capacity, or Bandwidth

CPU Clock speed; Instructions executed/clock

Memory Access time (nanoseconds); bus bandwidth

Rotating Disk Access time (milliseconds)

Solid State Disk Access time (microseconds)

Network adapter Bandwidth; Latency

19

Page 20: Foundations: Operational Analysis and Queuing Models

Disk Reads/sec Writes/sec IOPS Utilization

1 24 8 32 0.30

2 28 8 36 0.41

3 40 10 50 0.54

20

Page 21: Foundations: Operational Analysis and Queuing Models

Disk Reads/sec Writes/sec IOPS Utilization

1 24 8 32 0.30

2 28 8 36 0.41

3 40 10 50 0.54

21

Page 22: Foundations: Operational Analysis and Queuing Models

Disk Reads/sec Writes/sec IOPS Utilization

1 24 8 32 0.30

2 28 8 36 0.41

3 40 10 50 0.54

22

Page 23: Foundations: Operational Analysis and Queuing Models

Disk Reads/sec Writes/sec IOPS Utilization Ave Service Time (ms)

1 24 8 32 0.30 9.4

2 28 8 36 0.41 11.4

3 40 10 50 0.54 10.8

23

Page 24: Foundations: Operational Analysis and Queuing Models

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 1 2 3 4 5 6 7 8

Uti

liza

tio

n

Requests/sec

Bounds on Performance

Disk 1 Disk 2 Disk 3

24

Page 25: Foundations: Operational Analysis and Queuing Models

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 1 2 3 4 5 6 7 8

Uti

liza

tio

n

Requests/sec

Bounds on Performance

Disk 1 Disk 2 Disk 3

25

Page 26: Foundations: Operational Analysis and Queuing Models

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 1 2 3 4 5 6 7 8

Uti

liza

tio

n

Requests/sec

Bounds on Performance

Disk 1 Disk 2 Disk 3

26

Page 27: Foundations: Operational Analysis and Queuing Models

27

Page 28: Foundations: Operational Analysis and Queuing Models

••

R = 𝑾𝒔+𝑾𝒒

28

Page 29: Foundations: Operational Analysis and Queuing Models

•Server

29

Page 30: Foundations: Operational Analysis and Queuing Models

▫ Server

30

Page 31: Foundations: Operational Analysis and Queuing Models

▫▫

•▫▫▫▫▫▫

Server

31

Page 32: Foundations: Operational Analysis and Queuing Models

0

0

1 2 k

1 2

1 2 3

32

Page 33: Foundations: Operational Analysis and Queuing Models

σ𝑘=1∞ 𝝁𝒌𝑷𝒌

σ𝑘=1∞ 𝒌𝑷𝒌

0

0

1 2 k

1 2

1 2 3

33

Page 34: Foundations: Operational Analysis and Queuing Models

0

0

1 2 k

1 2

1 2 3

34

Page 35: Foundations: Operational Analysis and Queuing Models

Server

Server

Server

Server

Server

Server

Server

35

Page 36: Foundations: Operational Analysis and Queuing Models

36

Page 37: Foundations: Operational Analysis and Queuing Models

37

Page 38: Foundations: Operational Analysis and Queuing Models

38

Page 39: Foundations: Operational Analysis and Queuing Models

•▫

39

Page 41: Foundations: Operational Analysis and Queuing Models

▫▫▫

G/G/n

41

Page 42: Foundations: Operational Analysis and Queuing Models

•••

▫ λ λ

0

0.2

0.4

0.6

0.8

1

0 1 2 3 4 5 6 7 8 9 10

p(x

)

x

Probaility Density function (pdf)

for representative Exponential Distributions ()

0.5 1 1.5

42

Page 43: Foundations: Operational Analysis and Queuing Models

0

0.1

0.2

0.3

0.4

0.5

0 2 4 6 8 10 12 14 16 18 20

p

Poisson distributionsfor different values of lambda

1 3 5 10

0

0.1

0.2

0.3

0.4

0.5

0 2 4 6 8 10 12 14 16 18 20

p

Poisson distributionsfor different values of lambda

1 3 5 10

0

0.1

0.2

0.3

0.4

-5 -4 -3 -2 -1 0 1 2 3 4

p

Normal Distribution (pdf)mean = 0; s.d. =1

34.1% 34.1%

13.6% 13.6%

2.15% 2.15%

68.2%

95.4%

99.7%

Page 44: Foundations: Operational Analysis and Queuing Models

0

0.2

0.4

0.6

0.8

1

0 1 2 3 4 5 6 7 8 9 10

p(x

)

x

Cumulative distribution

for representative Exponential Distributions ()

0.5 1 1.5•

▫𝑵 = ൗ𝒑𝟏−𝒑

▫𝑹𝑻 = ൗ𝑺 𝟏−𝒑

44

Page 45: Foundations: Operational Analysis and Queuing Models

0

20

40

60

80

100

0 0.2 0.4 0.6 0.8 1

Utilization

Response Times (M/M/1)

5 10 15 20 25

𝑹𝑻 = ൗ𝑺 𝟏 − 𝒑

•▫

𝒎𝒆𝒂𝒏 ≅ 𝒔𝒕𝒂𝒏𝒅𝒂𝒓𝒅 𝒅𝒆𝒗𝒊𝒂𝒕𝒊𝒐𝒏

45

Page 46: Foundations: Operational Analysis and Queuing Models

0

20

40

60

80

100

0 0.2 0.4 0.6 0.8 1

Utilization

Response Times (M/M/1)

5 10 15 20 25

46

Page 47: Foundations: Operational Analysis and Queuing Models

0

20

40

60

80

100

0 0.2 0.4 0.6 0.8 1

Utilization

Response Times (M/M/1)

5 10 15 20 25

▫▫

47

Page 48: Foundations: Operational Analysis and Queuing Models

0

20

40

60

80

100

0 0.2 0.4 0.6 0.8 1

Utilization

Response Times (M/M/1)

5 10 15 20 25•▫▫

•▫

•▫

48

Page 49: Foundations: Operational Analysis and Queuing Models

Break large requests into a sequence of smaller, uniformed- size Request packets

49

Page 50: Foundations: Operational Analysis and Queuing Models

0

20

40

60

80

100

0 0.2 0.4 0.6 0.8 1

Utilization

Response Times (M/M/1)

5 10 15 20 25

𝑅𝑇 = ൗ𝑆 1−𝑝n

50

Page 51: Foundations: Operational Analysis and Queuing Models

51

Page 52: Foundations: Operational Analysis and Queuing Models

𝑹𝑻 = 𝑺 +𝒑𝑺(𝟏 + 𝑪𝒔

𝟐)

𝟐(𝟏 − 𝒑)

52

Page 53: Foundations: Operational Analysis and Queuing Models

𝑹𝑻 = 𝑺 +𝒑𝑺(𝟏 + 𝑪𝒔

𝟐)

𝟐(𝟏 − 𝒑)

• 𝑆

53

Page 54: Foundations: Operational Analysis and Queuing Models

𝑹𝑻 = 𝑺 +𝒑𝑺(𝟏 + 𝑪𝒔

𝟐)

𝟐(𝟏 − 𝒑)

54

M/G/1

M/D/1

M/M/1C = 1

Page 55: Foundations: Operational Analysis and Queuing Models

𝑹𝑻 = 𝑺 +𝒑𝑺(𝟏 + 𝑪𝒔

𝟐)

𝟐(𝟏 − 𝒑)

55

M/G/1

M/D/1

M/M/1C = 1

Page 56: Foundations: Operational Analysis and Queuing Models

••

56

M/G/1

M/D/1

M/M/1C = 1G/G/1

Page 57: Foundations: Operational Analysis and Queuing Models

𝑹𝑻 = 𝑺 +𝒑𝑺(𝟏 + 𝑪𝒔

𝟐)

𝟐(𝟏 − 𝒑)

▫▫▫

• Q = R - S

57

Page 58: Foundations: Operational Analysis and Queuing Models

58

Page 59: Foundations: Operational Analysis and Queuing Models

59

Page 60: Foundations: Operational Analysis and Queuing Models

60

Page 61: Foundations: Operational Analysis and Queuing Models

61

Page 62: Foundations: Operational Analysis and Queuing Models

62

Page 63: Foundations: Operational Analysis and Queuing Models

•▫▫▫▫▫▫▫▫

63

Page 64: Foundations: Operational Analysis and Queuing Models

•▫

64

Page 65: Foundations: Operational Analysis and Queuing Models

use pdq;

# Globals$arrivRate = 0.75;$servTime = 1.0;

pdq::Init("Open Network with M/M/1");pdq::CreateOpen("Work", $arrivRate);pdq::CreateNode("Server", $pdq::CEN, $pdq::FCFS); pdq::SetDemand("Server", "Work", $servTime);

# Solve the modelpdq::Solve($pdq::CANON);

pdq::Report();

Page 67: Foundations: Operational Analysis and Queuing Models

• u

67

Page 68: Foundations: Operational Analysis and Queuing Models

•▫

▫ ( = C)

▫ *

68

Page 69: Foundations: Operational Analysis and Queuing Models

▫ ≠ 𝑪

69

Page 70: Foundations: Operational Analysis and Queuing Models

use pdq;

$model = "Middleware";$work = "eBiz-tx";

$node1 = "WebServer";$node2 = "AppServer";$node3 = "DBMServer";$node4 = "DummySvr";

$think = 0.0 * 1e-3; # treat as free param$users = 10;

pdq::Init($model);pdq::CreateNode($node1, $pdq::CEN, $pdq::FCFS);pdq::CreateNode($node2, $pdq::CEN, $pdq::FCFS);pdq::CreateNode($node3, $pdq::CEN, $pdq::FCFS);pdq::CreateNode($node4, $pdq::CEN, $pdq::FCFS);

pdq::CreateClosed($work, $pdq::TERM, $users, $think);

# NOTE: timebase is secondspdq::SetDemand($node1, $work, 9.8 * 1e-3);pdq::SetDemand($node2, $work, 2.5 * 1e-3);pdq::SetDemand($node3, $work, 0.72 * 1e-3);pdq::SetDemand($node4, $work, 9.8 * 1e-3);

pdq::Solve($pdq::EXACT);pdq::Report();

Page 71: Foundations: Operational Analysis and Queuing Models

QT > ST, if u > .50

71

Page 72: Foundations: Operational Analysis and Queuing Models

72

Page 73: Foundations: Operational Analysis and Queuing Models

73

Page 74: Foundations: Operational Analysis and Queuing Models

74