You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@mesos.apache.org by Mesos Reviewbot Windows <re...@mesos.apache.org> on 2018/08/01 21:03:17 UTC

Re: Review Request 68149: Replace exchange in MpscLinkedQueue::dequeue with load/store.

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/68149/#review206760
-----------------------------------------------------------



PASS: Mesos patch 68149 was successfully built and tested.

Reviews applied: `['68149']`

All the build artifacts available at: http://dcos-win.westus.cloudapp.azure.com/artifacts/mesos-reviewbot-testing/2022/mesos-review-68149

- Mesos Reviewbot Windows


On Aug. 1, 2018, 6:18 p.m., Dario Rexin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/68149/
> -----------------------------------------------------------
> 
> (Updated Aug. 1, 2018, 6:18 p.m.)
> 
> 
> Review request for James Peach.
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> There's only a single consumer, so we don't need to exchange
> in dequeue. Testing shows that a load/store pair is much
> more efficient, as it needs fewer CPU cycles. Especially
> in the empty queue case, where the store does not have to
> be executed at all.
> 
> 
> Diffs
> -----
> 
>   3rdparty/libprocess/src/mpsc_linked_queue.hpp fc55d4389 
>   3rdparty/libprocess/src/tests/benchmarks.cpp 0b94aaf4e 
> 
> 
> Diff: https://reviews.apache.org/r/68149/diff/1/
> 
> 
> Testing
> -------
> 
> Make check and benchmarks.
> 
> Benchmark results:
> 
> Exchange (before):
> 
> [=======] Running 3 tests from 1 test case.
> [-------] Global test environment set-up.
> [-------] 3 tests from ProcessTest
> [ RUN   ] ProcessTest.Process_BENCHMARK_MpscLinkedQueue
> Estimated producer throughput (7 threads): 38741698.929628 op/s
> Estimated consumer throughput: 15783395.811778 op/s
> Estimated total throughput: 54525094.741406 op/s
> [    OK ] ProcessTest.Process_BENCHMARK_MpscLinkedQueue (4435 ms)
> [ RUN   ] ProcessTest.Process_BENCHMARK_MpscLinkedQueueEmpty
> Estimated consumer throughput: 182175973.774530 op/s
> [    OK ] ProcessTest.Process_BENCHMARK_MpscLinkedQueueEmpty (5489 ms)
> [ RUN   ] ProcessTest.Process_BENCHMARK_MpscLinkedQueueNonContendedRead
> Estimated producer throughput (7 threads): 41807291.688699 op/s
> Estimated consumer throughput: 21925675.985841 op/s
> Estimated total throughput: 63732967.674541 op/s
> 
> 
> Load/Store (after):
> 
> [=======] Running 3 tests from 1 test case.
> [-------] Global test environment set-up.
> [-------] 3 tests from ProcessTest
> [ RUN   ] ProcessTest.Process_BENCHMARK_MpscLinkedQueue
> Estimated producer throughput (7 threads): 39972854.982381 op/s
> Estimated consumer throughput: 18090177.075559 op/s
> Estimated total throughput: 58063032.057939 op/s
> [    OK ] ProcessTest.Process_BENCHMARK_MpscLinkedQueue (3870 ms)
> [ RUN   ] ProcessTest.Process_BENCHMARK_MpscLinkedQueueEmpty
> Estimated consumer throughput: 1457824631.198832 op/s
> [    OK ] ProcessTest.Process_BENCHMARK_MpscLinkedQueueEmpty (686 ms)
> [ RUN   ] ProcessTest.Process_BENCHMARK_MpscLinkedQueueNonContendedRead
> Estimated producer throughput (7 threads): 48031578.693516 op/s
> Estimated consumer throughput: 25242881.515617 op/s
> Estimated total throughput: 73274460.209133 op/s
> 
> 
> Thanks,
> 
> Dario Rexin
> 
>