99
Avatar Mobility in 黃瑋璨 新加坡國立大學 1

Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

Avatar Mobility in

黃瑋璨新加坡國立大學

1

Page 2: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

Wei Tsang Ooi Mehul MotaniHuiguang Liang Ian Tay Ming Feng Neo

National University of Singapore

2

Page 3: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

“My life is so great that I literally wanted a second one!”- Dwight Schrute, The Office

3

Page 4: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

256x256 m regions.

4

Page 5: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

avatar mobility:who is where, when

5

Page 6: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

why do we care?

6

Page 7: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

research in systems support for NVE

7

Page 8: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

8

Page 9: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

How to partition a world into regions and assign regions to servers considering

- communication cost- hand-over rate- balancing server load :

9

Page 10: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

10

Page 11: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

How to predict avatar movement (end therefore what a user will see next)?

11

Page 12: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

12

Page 13: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

AoI-based scheme

13

Page 14: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

How many connections?

How stable are the connections?

14

Page 15: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

supernode-based scheme

15

Page 16: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

How to pick supernodes?

How stable are the supernodes?

16

Page 17: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

how to simulate avatar mobility?

17

Page 18: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

random walkrandom waypoint

clustered movement:

18

Page 19: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

or, small-scale

implementation

19

Page 20: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

no large-scale NVE available until recently

20

Page 21: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

482,594residents logged in between 2-9 June 2008

21

Page 22: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

secondlife.com/whatis/economy-graphs.php

22

Page 23: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

• collect mobility traces of avatars in Second Life

• what it means w.r.t. systems design for NVEs?

23

Page 24: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

collecting traces

24

Page 25: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

how do avatars move inside a distributed

virtual environment?

25

Page 26: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

how are avatars distributed within a

region?

26

Page 27: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

how long do they stay at a location?

27

Page 28: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

do they move in groups?

28

Page 29: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

etc.

29

Page 30: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

FPS MMORPG NVE

30

Page 31: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

Linden, can we get access to the server traces?

No.

31

Page 32: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

• Wrote our own client

• Parses packets using libsecondlife

• Insert bots into regions

• Log positions of avatars every 10s

32

Page 33: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

difficulties

33

Page 34: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

running out of memory

34

Page 35: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

anti-bots policy

35

Page 36: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

over crowded region

36

Page 37: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

inter-region tracking

37

Page 38: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

• Wrote our own client

• Parses packets using libsecondlife

• Insert bots into regions

• Log positions of avatars every 10s

38

Page 39: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

who is where, when

(doing what)

39

Page 40: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

40

Page 41: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

Freebies

41

Page 42: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

The Pharm

42

Page 43: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

Isis

43

Page 44: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

Ross

44

Page 45: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

Mobility Patterns

45

Page 46: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

Freebies: number of visits to a cell

46

Page 47: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

Freebies: average pause time in a cell

47

Page 48: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

Freebies: average speed in a cell

48

Page 49: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

Isis: number of visits to a cell

49

Page 50: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

caching/prefetching based on popularity of

locations?

50

Page 51: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

Isis: average pause time in a cell

51

Page 52: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

pick supernodes from sticky location?

52

Page 53: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

Isis: average speed in a cell

53

Page 54: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

mobility model:random walk +

pathway ?

54

Page 55: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

churn rate

55

Page 56: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

56

Page 57: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

57

Page 58: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

Reasonably high churn (up to 6/min)

58

Page 59: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

1 min 10 min

1 hr 2 hr

Highly skewed. Some stay for hours.

59

Page 60: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

cannot pick supernodes uniformly

60

Page 61: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

clustering of avatars

61

Page 62: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

meeting: encounter between two avatars

(within each other AoI)

62

Page 63: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

Meet many different avatars.

63

Page 64: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

1 min

10 min

1 hr

2 hr

Most meetings are short.

64

Page 65: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

Meeting size is large.

65

Page 66: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

high overhead in maintaining AoI

neighbors

66

Page 67: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

meeting stability:

avg meeting sizeover

num of avatars met

67

Page 68: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

Wide range of stability

68

Page 69: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

other tidbits

69

Page 70: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

little temporal variations

can use historical information to predict future

70

Page 71: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

rotate 18% of the time

Second Life’s prefetching is wasteful

71

Page 72: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

25-35% revisits the same region in a day

region-based caching?

72

Page 73: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

proxy-based texture caching

73

Page 74: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

why textures?

74

Page 75: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

62 - 81%of traffic are textures

75

Page 76: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

316 MBof textures in Isis

76

Page 77: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

64m

80o

77

Page 78: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

64m

80o

78

Page 79: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

403 TBof textures retrieved

in Isis in a day

79

Page 80: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

SL servers texture proxy

clients

80

Page 81: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

what caching algorithm to used?

81

Page 82: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

2Q

82

Page 83: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

FIFO

LRU

83

Page 84: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

FIFO

LRU

cache miss

84

Page 85: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

FIFO

LRU

cache hit

85

Page 86: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

FIFO

LRU

cache hit

86

Page 87: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

FIFO

LRU

scan resistant

87

Page 88: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

88

Page 89: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

3Q

89

Page 90: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

FIFO

LRU

Victim Buffer

90

Page 91: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

FIFO

LRU

cache hit

Victim Buffer

(sorted by popularity)

91

Page 92: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

how to define popularity of texture?

92

Page 93: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

Freebies: number of visits to a cell

93

Page 94: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

little temporal variations

can use historical information to predict future

94

Page 95: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

popularity of texture = popularity of cell

95

Page 96: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

2Q 3Q OPT

Ross 50 MB 0.58 0.62 0.70

Ross 25 MB 0.28 0.36 0.47

Freebies 50 MB 0.48 0.50 0.68

Freebies 25 MB 0.21 0.33 0.50

Per-byte Hit Rate

96

Page 97: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

conclusion

97

Page 98: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

understanding real avatar mobility is crucial to design good NVEs

98

Page 99: Avatar Mobility in - NUS Computingooiwt/slides/2008-taiwan-sl.pdf · 2008. 7. 8. · How to partition a world into regions and assign regions to servers considering - communication

謝謝歡迎發問及指教

99

99