Sanidhya Kashyap * Irina Calciu Xiaohe Cheng Changwoo Min - - PowerPoint PPT Presentation

sanidhya kashyap irina calciu xiaohe cheng changwoo min
SMART_READER_LITE
LIVE PREVIEW

Sanidhya Kashyap * Irina Calciu Xiaohe Cheng Changwoo Min - - PowerPoint PPT Presentation

Sanidhya Kashyap * Irina Calciu Xiaohe Cheng Changwoo Min Taesoo Kim 1 Operations / second # threads 2 Operations / second # threads 3 Operations / second # threads 4 5 1 socket > 1 socket Oversubscribed


slide-1
SLIDE 1

Sanidhya Kashyap* Irina Calciu Xiaohe Cheng Changwoo Min Taesoo Kim

1

slide-2
SLIDE 2

2

# threads Operations / second

slide-3
SLIDE 3

3

# threads Operations / second

slide-4
SLIDE 4

4

# threads Operations / second

slide-5
SLIDE 5

5

slide-6
SLIDE 6

6

Operations / second # threads

1 socket > 1 socket

Stock

Oversubscribed

slide-7
SLIDE 7

7

Operations / second # threads

1 socket > 1 socket

Stock

Oversubscribed

slide-8
SLIDE 8

8

Operations / second # threads

1 socket > 1 socket

Stock

Oversubscribed

slide-9
SLIDE 9

9

Operations / second # threads

1 socket > 1 socket

Stock

Oversubscribed

slide-10
SLIDE 10

  • 10
slide-11
SLIDE 11

11

Operations / second # threads

  • Oversubscribed

> 1 socket 1 socket

  • Stock

CST

slide-12
SLIDE 12

12

Operations / second # threads

  • Oversubscribed

> 1 socket 1 socket

  • Stock

CST

slide-13
SLIDE 13

13

Operations / second # threads

  • Stock

CST

Oversubscribed > 1 socket 1 socket

slide-14
SLIDE 14

14

Operations / second # threads

  • Stock

CST

Oversubscribed > 1 socket 1 socket

slide-15
SLIDE 15

15

  • Locks’ memory footprint

140 # threads 18 Stock CST

slide-16
SLIDE 16

16

  • Stock

CST Locks’ memory footprint 140 # threads 18 820 Hierarchical lock

slide-17
SLIDE 17

17

  • Stock

CST Locks’ memory footprint 140 # threads 18 820 Hierarchical lock

slide-18
SLIDE 18

18

slide-19
SLIDE 19

19

slide-20
SLIDE 20

20

t1 shuffler:

Socket ID tail

waiter’s qnode:

slide-21
SLIDE 21

21

shuffler:

Socket ID tail

waiter’s qnode: t1 t2

slide-22
SLIDE 22

22

shuffler:

Socket ID tail

waiter’s qnode: t1 t2 t3 t4

slide-23
SLIDE 23

23

shuffler:

Socket ID tail

waiter’s qnode: t1 t2 t3 t4

slide-24
SLIDE 24

24

t1 t2 t3 t4

slide-25
SLIDE 25

25

slide-26
SLIDE 26

26

slide-27
SLIDE 27

27

slide-28
SLIDE 28

28

slide-29
SLIDE 29

29

slide-30
SLIDE 30

30

slide-31
SLIDE 31

31

slide-32
SLIDE 32

32

○ unlock(): lock():

slide-33
SLIDE 33

33

slide-34
SLIDE 34

34

○ ★

slide-35
SLIDE 35

35

unlocked locked t0 shuffler:

Socket ID tail

waiter’s qnode:

slide-36
SLIDE 36

36

unlocked locked t0 t0 shuffler:

Socket ID tail

waiter’s qnode:

slide-37
SLIDE 37

37

unlocked locked t0 t1 t2 t3 t4 shuffler:

Socket ID tail

waiter’s qnode:

slide-38
SLIDE 38

38

unlocked locked t0 t1 t2 t3 t4 shuffler:

Socket ID tail

waiter’s qnode:

slide-39
SLIDE 39

39

unlocked locked t0 t1 t3 t2 t4 shuffler:

Socket ID tail

waiter’s qnode:

slide-40
SLIDE 40

40

unlocked locked t0 t1 t3 t2 t4 shuffler:

Socket ID tail

waiter’s qnode:

slide-41
SLIDE 41

41

unlocked locked t0 t1 t3 t2 t4 shuffler:

Socket ID tail

waiter’s qnode:

slide-42
SLIDE 42

42

unlocked locked t0 t1 t3 t2 t4 shuffler:

Socket ID tail

waiter’s qnode:

slide-43
SLIDE 43

43

unlocked locked t1 t3 t2 t4 shuffler:

Socket ID tail

waiter’s qnode:

slide-44
SLIDE 44

44

unlocked locked t1 t3 t2 t4 shuffler:

Socket ID tail

waiter’s qnode:

slide-45
SLIDE 45

45

unlocked locked t1 t1 t3 t2 t4 shuffler:

Socket ID tail

waiter’s qnode:

slide-46
SLIDE 46

46

unlocked locked t1 t1 t3 t2 t4 t1 t3 t2 t4 shuffler:

Socket ID tail

waiter’s qnode:

slide-47
SLIDE 47

47

https://github.com/sslab-gatech/shfllock

slide-48
SLIDE 48

48

slide-49
SLIDE 49

49

Operations / second # threads Stock CST

Oversubscribed > 1 socket 1 socket

  • SHFLLOCK
slide-50
SLIDE 50

50

Operations / second # threads

Oversubscribed > 1 socket 1 socket

Stock CST SHFLLOCK

slide-51
SLIDE 51

51

Operations / second # threads

Oversubscribed > 1 socket 1 socket

Stock CST SHFLLOCK

slide-52
SLIDE 52

52

Operations / second # threads

Oversubscribed > 1 socket 1 socket

Stock CST SHFLLOCK

slide-53
SLIDE 53

53

Stock CST 140 # threads SHFLLOCK 11 18

Locks’ memory footprint

slide-54
SLIDE 54

54

140 # threads 11 18

Locks’ memory footprint Stock CST SHFLLOCK

slide-55
SLIDE 55

55

Stock SHFLLOCK

Improves throughput by up to 1.5x Decreases memory footprint up to 93%

Lock’s memory Messages / second # threads # threads CST

slide-56
SLIDE 56

56

Stock SHFLLOCK

Improves throughput by up to 1.5x Decreases memory footprint up to 93%

Lock’s memory Messages / second # threads # threads CST

slide-57
SLIDE 57

57

slide-58
SLIDE 58

58