sanidhya kashyap irina calciu xiaohe cheng changwoo min

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


  1. Sanidhya Kashyap * Irina Calciu Xiaohe Cheng Changwoo Min Taesoo Kim 1

  2. Operations / second # threads 2

  3. Operations / second # threads 3

  4. Operations / second # threads 4

  5. 5

  6. 1 socket > 1 socket Oversubscribed ● Operations / second # threads Stock 6

  7. 1 socket > 1 socket Oversubscribed ● Operations / second # threads Stock 7

  8. 1 socket > 1 socket Oversubscribed ● Operations / second ● # threads Stock 8

  9. 1 socket > 1 socket Oversubscribed ● Operations / second ● # threads Stock 9

  10. ● ○ ○ ● ○ ○ ● 10

  11. ● 1 socket > 1 socket Oversubscribed Operations / second ● # threads Stock CST 11

  12. ● 1 socket > 1 socket Oversubscribed Operations / second ● # threads Stock CST 12

  13. ● 1 socket > 1 socket Oversubscribed Operations / second ● # threads Stock CST 13

  14. ● 1 socket > 1 socket Oversubscribed Operations / second ● # threads Stock CST 14

  15. Locks’ memory footprint Stock # threads 18 140 CST ● 15

  16. 820 Locks’ memory footprint ● 140 18 # threads Stock CST Hierarchical lock 16

  17. 820 Locks’ memory footprint ● 140 18 # threads Stock CST Hierarchical lock 17

  18. 18

  19. 19

  20. t1 Socket ID shuffler: waiter’s qnode: tail 20

  21. t1 t2 Socket ID shuffler: waiter’s qnode: tail 21

  22. t1 t2 t3 t4 Socket ID shuffler: waiter’s qnode: tail 22

  23. t1 t2 t3 t4 Socket ID shuffler: waiter’s qnode: tail 23

  24. t1 t2 t3 t4 ● → 24

  25. 25

  26. 26

  27. 27

  28. 28

  29. 29

  30. 30

  31. ● ○ ○ 31

  32. ● ○ ○ lock(): unlock(): 32

  33. 33

  34. ● ○ ○ ★ ● ○ 34

  35. t0 Socket ID unlocked shuffler: waiter’s qnode: locked tail 35

  36. t0 t0 Socket ID unlocked shuffler: waiter’s qnode: locked tail 36

  37. t0 t2 t3 t4 t1 Socket ID unlocked shuffler: waiter’s qnode: locked tail 37

  38. t0 t2 t3 t4 t1 Socket ID unlocked shuffler: waiter’s qnode: locked tail 38

  39. t0 t3 t2 t4 t1 Socket ID unlocked shuffler: waiter’s qnode: locked tail 39

  40. t0 t3 t2 t4 t1 Socket ID unlocked shuffler: waiter’s qnode: locked tail 40

  41. t0 t3 t2 t4 t1 Socket ID unlocked shuffler: waiter’s qnode: locked tail 41

  42. t0 t3 t2 t4 t1 Socket ID unlocked shuffler: waiter’s qnode: locked tail 42

  43. t3 t2 t4 t1 Socket ID unlocked shuffler: waiter’s qnode: locked tail 43

  44. t3 t2 t4 t1 Socket ID unlocked shuffler: waiter’s qnode: locked tail 44

  45. t1 t3 t2 t4 t1 Socket ID unlocked shuffler: waiter’s qnode: locked tail 45

  46. t1 t3 t2 t4 t1 t1 t3 t2 t4 Socket ID unlocked shuffler: waiter’s qnode: locked tail 46

  47. ● ○ ○ ● ○ ● ○ ○ https://github.com/sslab-gatech/shfllock 47

  48. ● ○ ○ 48

  49. 1 socket > 1 socket Oversubscribed ● Operations / second # threads Stock CST S HFL L OCK 49

  50. 1 socket > 1 socket Oversubscribed ● Operations / second ● ○ # threads Stock CST S HFL L OCK 50

  51. 1 socket > 1 socket Oversubscribed ● Operations / second ● ○ ● ○ # threads Stock CST S HFL L OCK 51

  52. 1 socket > 1 socket Oversubscribed ● Operations / second ● ○ ● ○ ● # threads ○ Stock CST S HFL L OCK 52

  53. Locks’ memory footprint Stock # threads 18 140 CST 11 S HFL L OCK ● ➢ ➢ 53

  54. Locks’ memory footprint Stock # threads 18 140 CST 11 S HFL L OCK ● ➢ ➢ 54

  55. Improves throughput by Messages / second up to 1.5x Lock’s memory Decreases memory footprint up to 93% # threads # threads Stock CST S HFL L OCK 55

  56. Improves throughput by Messages / second up to 1.5x Lock’s memory Decreases memory footprint up to 93% # threads # threads Stock CST S HFL L OCK 56

  57. ● ○ ○ ● ○ ● ○ ○ 57

  58. ● ○ ○ ● ○ ● ○ ○ 58

Recommend


More recommend