1. 21 Aug, 2018 2 commits
  2. 15 Aug, 2018 2 commits
  3. 13 Aug, 2018 2 commits
  4. 09 Aug, 2018 4 commits
    • Anton Burtsev's avatar
      Re-write bqueue again · 1818877e
      Anton Burtsev authored
      1818877e
    • Anton Burtsev's avatar
      Ignore *~ · aa7139b6
      Anton Burtsev authored
      aa7139b6
    • Anton Burtsev's avatar
    • Anton Burtsev's avatar
      Do touch every prefetched node · df589479
      Anton Burtsev authored
      -- Latency goes up by 15-20 cycles on d820 16x16 test from 185 to 205
      
      Consumer 5 finished, receiving 15092532 messages (cycles per message 213) (cons sum:263896812917431)
      Consumer 12 finished, receiving 16047618 messages (cycles per message 200) (cons sum:263897834676311)
      Consumer 3 finished, receiving 18123632 messages (cycles per message 177) (cons sum:263895785672343)
      Consumer 15 finished, receiving 15629198 messages (cycles per message 205) (cons sum:263897833671191)
      Consumer 13 finished, receiving 15546079 messages (cycles per message 207) (cons sum:263898857656695)
      Consumer 6 finished, receiving 15851056 messages (cycles per message 203) (cons sum:263897833671191)
      Consumer 2 finished, receiving 18925136 messages (cycles per message 170) (cons sum:263895785672343)
      Consumer 0 finished, receiving 19037776 messages (cycles per message 169) (cons sum:263895785672343)
      Consumer 11 finished, receiving 13546228 messages (cycles per message 237) (cons sum:263897833671191)
      Consumer 8 finished, receiving 13952432 messages (cycles per message 230) (cons sum:263898854998263)
      Consumer 7 finished, receiving 15131120 messages (cycles per message 212) (cons sum:263897833671191)
      Consumer 4 finished, receiving 15646640 messages (cycles per message 205) (cons sum:263896811561655)
      Consumer 9 finished, receiving 13587824 messages (cycles per message 236) (cons sum:263897833671191)
      Consumer 10 finished, receiving 14136560 messages (cycles per message 227) (cons sum:263898857656695)
      Consumer 14 finished, receiving 16053007 messages (cycles per message 200) (cons sum:263897833671191)
      Consumer 1 finished, receiving 18114576 messages (cycles per message 177) (cons sum:263897833671191)
      df589479
  5. 26 Jul, 2018 5 commits
  6. 24 Jul, 2018 4 commits
    • Anton Burtsev's avatar
      More BQueue links · 5c89bb2f
      Anton Burtsev authored
      5c89bb2f
    • Anton Burtsev's avatar
      Prefetch value first before touching it · 41743953
      Anton Burtsev authored
      -- This is a good result that drops the cost of access to a value
      from 750-900 cycles to 135
      
      node:507-/10:33>./queue_spsc_bqueue 16 16 1000000 128
      ...
      onsumer 7 finished, receiving 14783488 messages (cycles per message 143) (cons sum:491687000088320)
      Consumer 4 finished, receiving 15190912 messages (cycles per message 139) (cons sum:491689034587776)
      Consumer 11 finished, receiving 14872576 messages (cycles per message 142) (cons sum:491689042861696)
      Consumer 6 finished, receiving 14947840 messages (cycles per message 142) (cons sum:491689042861696)
      Consumer 0 finished, receiving 17284480 messages (cycles per message 122) (cons sum:491689035882112)
      Consumer 2 finished, receiving 17138944 messages (cycles per message 124) (cons sum:491691083570688)
      Consumer 3 finished, receiving 17046784 messages (cycles per message 124) (cons sum:491691085340160)
      Consumer 1 finished, receiving 17051648 messages (cycles per message 124) (cons sum:491691085340160)
      Consumer 12 finished, receiving 16659712 messages (cycles per message 127) (cons sum:491691085340160)
      Consumer 10 finished, receiving 15036160 messages (cycles per message 141) (cons sum:491689042861696)
      Consumer 9 finished, receiving 14971264 messages (cycles per message 141) (cons sum:491691085340160)
      Consumer 8 finished, receiving 15057280 messages (cycles per message 141) (cons sum:491691085340160)
      Consumer 14 finished, receiving 16537088 messages (cycles per message 128) (cons sum:491691086175744)
      Consumer 5 finished, receiving 14968064 messages (cycles per message 141) (cons sum:491689034587776)
      Consumer 15 finished, receiving 16260224 messages (cycles per message 130) (cons sum:491691085340160)
      Consumer 13 finished, receiving 16556800 messages (cycles per message 128) (cons sum:491689034587776)
      Test finished
      																																																																																																																																																																																																								      finished
      41743953
    • Anton Burtsev's avatar
      Align all queues · 4021eac6
      Anton Burtsev authored
      4021eac6
    • Anton Burtsev's avatar
      ff2674dc
  7. 23 Jul, 2018 7 commits
  8. 22 Jul, 2018 2 commits
  9. 19 Jul, 2018 10 commits
    • Anton Burtsev's avatar
      Make the object pool smaller (less virtual memory), rings larger · 7ac703ad
      Anton Burtsev authored
      -- No radical effect
      7ac703ad
    • Anton Burtsev's avatar
      Scale to 32 nodes · ac3990b6
      Anton Burtsev authored
      node:535-/23:00>./queue_spsc_fipc 16 16 1000000 10
      Starting test with prod count 16, cons count 16, 1000000 transactions, and batch size 10
      Pinning thread to cpu:15
      Pinning thread to cpu:0
      Producer 0 starting...
      Pinning thread to cpu:4
      Producer 1 starting...
      Pinning thread to cpu:8
      Producer 2 starting...
      Pinning thread to cpu:12
      Producer 3 starting...
      Pinning thread to cpu:1
      Pinning thread to cpu:5
      Producer 4 starting...
      Producer 6 starting...
      Producer 5 starting...
      Pinning thread to cpu:9
      Pinning thread to cpu:13
      Producer 7 starting...
      Pinning thread to cpu:2
      Producer 8 starting...
      Pinning thread to cpu:6
      Producer 9 starting...
      Pinning thread to cpu:10
      Producer 10 starting...
      Pinning thread to cpu:14
      Producer 11 starting...
      Producer 12 starting...
      Pinning thread to cpu:3
      Pinning thread to cpu:7
      Producer 13 starting...
      Pinning thread to cpu:11
      Producer 14 starting...
      Pinning thread to cpu:16
      Consumer 0 starting
      Pinning thread to cpu:20
      Consumer 1 starting
      Pinning thread to cpu:24
      Consumer 2 starting
      Pinning thread to cpu:28
      Consumer 3 starting
      Pinning thread to cpu:17
      Consumer 4 starting
      Pinning thread to cpu:21
      Consumer 5 starting
      Pinning thread to cpu:25
      Consumer 6 starting
      Consumer 7 starting
      Pinning thread to cpu:29
      Pinning thread to cpu:18
      Consumer 8 starting
      Consumer 9 starting
      Pinning thread to cpu:22
      Pinning thread to cpu:26
      Consumer 10 starting
      Pinning thread to cpu:30
      Consumer 11 starting
      Pinning thread to cpu:19
      Consumer 12 starting
      Pinning thread to cpu:23
      Consumer 13 starting
      Pinning thread to cpu:27
      Consumer 14 starting
      Consumer 15 starting
      Pinning thread to cpu:31
      Producer 15 starting...
      Producer 14 finished, sending 16000008 messages (cycles per message 317)
      Producer 15 finished, sending 16000006 messages (cycles per message 325)
      Producer 13 finished, sending 16000000 messages (cycles per message 335)
      Producer 12 finished, sending 16000004 messages (cycles per message 387)
      Producer 11 finished, sending 16000000 messages (cycles per message 676)
      Producer 10 finished, sending 16000000 messages (cycles per message 679)
      Producer 6 finished, sending 16000000 messages (cycles per message 682)
      Producer 9 finished, sending 16000000 messages (cycles per message 685)
      Producer 7 finished, sending 16000000 messages (cycles per message 686)
      Producer 8 finished, sending 16000000 messages (cycles per message 688)
      Producer 5 finished, sending 16000000 messages (cycles per message 694)
      Producer 4 finished, sending 16000000 messages (cycles per message 704)
      Producer 0 finished, sending 16000000 messages (cycles per message 727)
      Producer 1 finished, sending 16000000 messages (cycles per message 740)
      Producer 3 finished, sending 16000000 messages (cycles per message 740)
      Producer 2 finished, sending 16000000 messages (cycles per message 742)
      Consumer 14 finished, receiving 16073800 messages (cycles per message 739) (PASSED)
      Consumer 1 finished, receiving 15606532 messages (cycles per message 761) (PASSED)
      Consumer 2 finished, receiving 16073840 messages (cycles per message 739) (PASSED)
      Consumer 3 finished, receiving 16064444 messages (cycles per message 739) (PASSED)
      Consumer 0 finished, receiving 15369422 messages (cycles per message 773) (PASSED)
      Consumer 5 finished, receiving 16073830 messages (cycles per message 739) (PASSED)
      Consumer 6 finished, receiving 16073820 messages (cycles per message 739) (PASSED)
      Consumer 7 finished, receiving 16073820 messages (cycles per message 739) (PASSED)
      Consumer 4 finished, receiving 16073830 messages (cycles per message 739) (PASSED)
      Consumer 8 finished, receiving 16073820 messages (cycles per message 739) (PASSED)
      Consumer 11 finished, receiving 16073810 messages (cycles per message 739) (PASSED)
      Consumer 10 finished, receiving 16073820 messages (cycles per message 739) (PASSED)
      Consumer 9 finished, receiving 16073820 messages (cycles per message 739) (PASSED)
      Consumer 15 finished, receiving 16073800 messages (cycles per message 739) (PASSED)
      Consumer 12 finished, receiving 16073810 messages (cycles per message 739) (PASSED)
      Consumer 13 finished, receiving 16073800 messages (cycles per message 739) (PASSED)
      Test finished
      ac3990b6
    • Anton Burtsev's avatar
      Back to explicit halt · 615c93f6
      Anton Burtsev authored
      -- I believe I've fixed all race conditions at the moment
      -- The last one is was that with non-blocking enqueue() and dequeue() the
      producers and consumers are not uniformely loaded... some might get more messages
      than other since we move from one queue to another if we find the first queue full
      
      // Batch of 1
      node:519-/22:44>./queue_spsc_fipc 2 3 10000000 1
      Starting test with prod count 2, cons count 3, 10000000 transactions, and batch size 1
      Pinning thread to cpu:0
      Allocating 268435456 bytes for the pool of 4194304 objects (pool order:22)
      Allocating 268435456 bytes for the pool of 4194304 objects (pool order:22)
      Pinning thread to cpu:8
      Producer 0 starting...
      Pinning thread to cpu:12
      Consumer 0 starting
      Pinning thread to cpu:4
      Consumer 1 starting
      Pinning thread to cpu:20
      Consumer 2 starting
      Producer 1 starting...
      Producer 0 finished, sending 30000000 messages (cycles per message 237)
      Producer 1 finished, sending 30000000 messages (cycles per message 249)
      Consumer 0 finished, receiving 14998079 messages (cycles per message 498) (PASSED)
      Consumer 1 finished, receiving 29995899 messages (cycles per message 249) (PASSED)
      Consumer 2 finished, receiving 14998177 messages (cycles per message 498) (PASSED)
      Test finished
      
      // Batch of 10
      node:520-/22:45>./queue_spsc_fipc 2 3 10000000 10
      Starting test with prod count 2, cons count 3, 10000000 transactions, and batch size 10
      Pinning thread to cpu:0
      Allocating 268435456 bytes for the pool of 4194304 objects (pool order:22)
      Allocating 268435456 bytes for the pool of 4194304 objects (pool order:22)
      Pinning thread to cpu:8
      Producer 0 starting...
      Pinning thread to cpu:12
      Consumer 0 starting
      Pinning thread to cpu:4
      Consumer 1 starting
      Pinning thread to cpu:20
      Consumer 2 starting
      Producer 1 starting...
      Producer 1 finished, sending 30000003 messages (cycles per message 134)
      Producer 0 finished, sending 30000007 messages (cycles per message 140)
      Consumer 2 finished, receiving 14999112 messages (cycles per message 280) (PASSED)
      Consumer 0 finished, receiving 14998171 messages (cycles per message 280) (PASSED)
      Consumer 1 finished, receiving 29995880 messages (cycles per message 140) (PASSED)
      Test finished
      615c93f6
    • Anton Burtsev's avatar
      Seemingly correct logic for producers and consumers to finish · 27e32145
      Anton Burtsev authored
      -- Also fixed bug in how cycles/message
      27e32145
    • Anton Burtsev's avatar
      Add batch option · 2ebd2c82
      Anton Burtsev authored
      --Run it like (4 producers, 4 consumers, 100000000 transactions, and a
      		batch of 10)
      
        ./queue_spsc_fipc 4 4 100000000 10
      2ebd2c82
    • Anton Burtsev's avatar
      Better N to N test... still a bit broken · 377166ef
      Anton Burtsev authored
      377166ef
    • Anton Burtsev's avatar
      596a7601
    • Anton Burtsev's avatar
      For now use usleep() to avoid spinning in the main() · ad28ea48
      Anton Burtsev authored
      -- Don't use an extra core for spinning
      ad28ea48
    • Anton Burtsev's avatar
      Fix the order bug · 06337d2e
      Anton Burtsev authored
      06337d2e
    • Anton Burtsev's avatar
      96e0e65f
  10. 18 Jul, 2018 2 commits