NetStore Leveraging Network Optimizations to Improve Distributed - - PowerPoint PPT Presentation

netstore
SMART_READER_LITE
LIVE PREVIEW

NetStore Leveraging Network Optimizations to Improve Distributed - - PowerPoint PPT Presentation

NetStore Leveraging Network Optimizations to Improve Distributed Transaction Processing Performance Xu Cui , Michael Mior, Bernard Wong, Khuzaima Daudjee, Sajjad Rizvi ACTIVE Workshop @ Middleware 2017 Las Vegas, NV, USA December 12, 2017


slide-1
SLIDE 1

Leveraging Network Optimizations to Improve Distributed Transaction Processing Performance

PAGE 1

Xu Cui, Michael Mior, Bernard Wong, Khuzaima Daudjee, Sajjad Rizvi

NetStore

ACTIVE Workshop @ Middleware 2017 Las Vegas, NV, USA December 12, 2017

slide-2
SLIDE 2

A tremendous amount of data is generated and stored in the cloud

PAGE 2

image sources: smartbear, appian, imarticus

slide-3
SLIDE 3

A distributed query

PAGE 3

slide-4
SLIDE 4

Part of the network is congested

PAGE 4

slide-5
SLIDE 5

A flow scheduler can solve this

PAGE 5

slide-6
SLIDE 6

If the green flows are short-lived flows

PAGE 6

slide-7
SLIDE 7

A flow scheduler cannot detect the transient congestion

PAGE 7

slide-8
SLIDE 8

The transaction query may be routed on the congested paths

PAGE 8

slide-9
SLIDE 9

NetStore

▪ A transaction processing system co-designed with the network enables two network-aware

  • ptimizations

➢ Least bottlenecked path (LBP): a dynamic flow scheduler that leverages information gathered from a transaction manager ➢ Network-aware caching (NAC): a database caching optimization that makes caching decisions based on the network topology

PAGE 9

slide-10
SLIDE 10

Standard database architecture

PAGE 10

slide-11
SLIDE 11

The NetStore controller extends the transaction manager with a network manager

PAGE 11

slide-12
SLIDE 12

Least bottlenecked path (LBP)

▪ The database and network co-design enables NetStore to maintain a global view of the network ▪ LBP uses this dynamic flow information to approximate the bandwidth allocation for each new flow ▪ LBP routes the new flow through the best path

PAGE 12

slide-13
SLIDE 13

LBP can detect the transient network congestion caused by short-lived flows

PAGE 13

slide-14
SLIDE 14

LBP selects the best path for each transaction flow

PAGE 14

slide-15
SLIDE 15

NetStore configures network paths when the system bootstraps

PAGE 15

slide-16
SLIDE 16

Benefits of least bottlenecked path

▪ Makes informed routing decisions based on the dynamic flow information gathered from the transaction manager ▪ Balances the network load for short-lived transactional flows when transient network congestion is present

PAGE 16

slide-17
SLIDE 17

Network-aware caching (NAC)

▪ The co-design enables network-aware caching ▪ NAC leverages cache replicas to reduce the load on the network ▪ NAC avoids cache invalidations which can increase the network load

PAGE 17

slide-18
SLIDE 18

DataServer 2 performs a read query on Alice

PAGE 18

slide-19
SLIDE 19

The NetStore controller maintains a cache index of the cache entries

19

Key DataServer IDs Cache Version #

slide-20
SLIDE 20

The NetStore controller creates a version number for each cache entry

20

Key DataServer IDs Cache Version # Alice 2 1

slide-21
SLIDE 21

DataServer 2 fetches Alice from DataServer 3

PAGE 21

slide-22
SLIDE 22

DataServer 2 stores the cache replica and the version number locally

PAGE 22

slide-23
SLIDE 23

DataServer 1 performs a read operation

  • n Alice

PAGE 23

slide-24
SLIDE 24

The NetStore controller determines the best cache replica location for this op

24

Key DataServer IDs Cache Version # Alice 2 1

slide-25
SLIDE 25

The NetStore controller adds server id 1 to Alice’s cache index

25

Key DataServer IDs Cache Version # Alice 2 => 2, 1 1

slide-26
SLIDE 26

DataServer 1 fetches the data from DataServer 2

PAGE 26

slide-27
SLIDE 27

DataServer 1 stores the result in its local cache

PAGE 27

slide-28
SLIDE 28

A write operation is performed on Alice

PAGE 28

slide-29
SLIDE 29

The NetStore controller erases Alice

29

Key DataServer IDs Cache Version # Alice 2, 1 1

slide-30
SLIDE 30

A new version number is generated when another read operation happens

30

Key DataServer IDs Cache Version # Alice 1 2

slide-31
SLIDE 31

Benefits of network-aware caching

▪ Augments a database optimization with network-awareness ▪ Reduces the load on the network ▪ Avoids cache invalidations ▪ Performs batch-processing to further improve performance

PAGE 31

slide-32
SLIDE 32

Experimental setup

▪ We use Mininet to build a distributed virtual multi-rooted tree network ▪ 64 virtual servers ▪ Each virtual server runs a transaction client, a transaction server, a background client and a background server ▪ 1 Gbps capacity on each link

PAGE 32

slide-33
SLIDE 33

Experimental setup

▪ The controller runs on a dedicated machine ▪ We use a synthetic workload that performs read and write operations ▪ The key selection process follows a Zipfian distribution with a distribution constant of 0.99 ▪ We use ECMP as a baseline for comparison

PAGE 33

slide-34
SLIDE 34

Experimental setup: default system parameters

34

slide-35
SLIDE 35

ECMP vs NetStore: varying the size of background flows

35

slide-36
SLIDE 36

ECMP vs NetStore: varying number of

  • perations in transactions

36

slide-37
SLIDE 37

Conclusion

▪ We made the case for co-designing cloud applications with network optimizations to improve performance ▪ NetStore is distributed transaction processing system that offers network-aware

  • ptimizations

▪ NetStore significantly reduces average transaction completion time when parts of the network are saturated

PAGE 37

slide-38
SLIDE 38

PAGE 38

Thank you.

Contact: xcui@uwaterloo.ca