----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/70409/ -----------------------------------------------------------
Review request for mesos and Benjamin Mahler. Repository: mesos Description ------- Parameterized some allocator benchmarks for DRF and random sorters. Diffs ----- src/tests/hierarchical_allocator_benchmarks.cpp a240a2bd51be5bda7f230c37c86431a0aff9173c Diff: https://reviews.apache.org/r/70409/diff/1/ Testing ------- make check Benchmark result with optimized build TL;DR: Currently, the random sorter is much slower than DRF. In the steady state, where no allocations are made (and thus on fair ground), random sorter can be twice as slower as DRF. And the Geo-mean of all the results below (if it means anything) is: **Random is 56% slower than DRF**. ## BENCHMARK_HierarchicalAllocator_WithQuotaParam.LargeAndSmallQuota ### DRF Added 30 agents in 1.392422ms Added 30 frameworks in 7.724456ms Benchmark setup: 30 agents, 30 roles, 30 frameworks, with drf sorter Made 36 allocations in 7.851884ms Made 0 allocation in 3.102969ms Added 300 agents in 10.252311ms Added 300 frameworks in 307.372697ms Benchmark setup: 300 agents, 300 roles, 300 frameworks, with drf sorter Made 350 allocations in 179.977552ms Made 0 allocation in 119.256302ms Added 3000 agents in 84.523515ms Added 3000 frameworks in 20.026577907secs Benchmark setup: 3000 agents, 3000 roles, 3000 frameworks, with drf sorter Made 3500 allocations in 14.054427554secs Made 0 allocation in 9.833201145secs ### Random Added 30 agents in 44.185761ms Added 30 frameworks in 9.911124ms Benchmark setup: 30 agents, 30 roles, 30 frameworks, with random sorter Made 40 allocations in 6.776869ms Made 0 allocation in 3.893328ms Added 300 agents in 8.416072ms Added 300 frameworks in 283.036985ms Benchmark setup: 300 agents, 300 roles, 300 frameworks, with random sorter Made 383 allocations in 230.376393ms Made 0 allocation in 178.068443ms Added 3000 agents in 98.593695ms Added 3000 frameworks in 19.533776725secs Benchmark setup: 3000 agents, 3000 roles, 3000 frameworks, with random sorter Made 3865 allocations in 15.980519031secs Made 0 allocation in 16.991084682secs ## BENCHMARK_HierarchicalAllocator_WithNonQuotaVsQuotaParam.NonQuotaVsQuota ### DRF Added 20 agents in 1.325004ms Added 20 frameworks in 3.299965ms Nonquota run setup: 20 agents, 10 roles, 20 frameworks, with drf sorter Made 20 allocations in 2.622706ms Made 0 allocation in 1.431925ms Added 20 agents in 993319ns Added 20 frameworks in 2.705544ms Quota run setup: 20 agents, 10 roles, 20 frameworks, with drf sorter Made 20 allocations in 2.769981ms Made 0 allocation in 1.546198ms Added 200 agents in 6.465386ms Added 200 frameworks in 92.599204ms Nonquota run setup: 200 agents, 100 roles, 200 frameworks, with drf sorter Made 200 allocations in 16.849375ms Made 0 allocation in 7.103731ms Added 200 agents in 7.213524ms Added 200 frameworks in 97.207735ms Quota run setup: 200 agents, 100 roles, 200 frameworks, with drf sorter Made 200 allocations in 31.746068ms Made 0 allocation in 13.463503ms Added 2000 agents in 63.492793ms Added 2000 frameworks in 5.497572945secs Nonquota run setup: 2000 agents, 1000 roles, 2000 frameworks, with drf sorter Made 2000 allocations in 724.310139ms Made 0 allocation in 579.387343ms Added 2000 agents in 64.445124ms Added 2000 frameworks in 5.140273309secs Quota run setup: 2000 agents, 1000 roles, 2000 frameworks, with drf sorter Made 2000 allocations in 1.076597059secs Made 0 allocation in 886.381921ms ### Random Added 20 agents in 15.791371ms Added 20 frameworks in 3.631405ms Nonquota run setup: 20 agents, 10 roles, 20 frameworks, with random sorter Made 20 allocations in 2.615553ms Made 0 allocation in 1.575244ms Added 20 agents in 990663ns Added 20 frameworks in 2.512379ms Quota run setup: 20 agents, 10 roles, 20 frameworks, with random sorter Made 20 allocations in 3.564547ms Made 0 allocation in 1.691739ms Added 200 agents in 7.420338ms Added 200 frameworks in 77.987593ms Nonquota run setup: 200 agents, 100 roles, 200 frameworks, with random sorter Made 200 allocations in 25.26035ms Made 0 allocation in 15.715339ms Added 200 agents in 8.107327ms Added 200 frameworks in 90.610819ms Quota run setup: 200 agents, 100 roles, 200 frameworks, with random sorter Made 200 allocations in 47.804156ms Made 0 allocation in 24.579104ms Added 2000 agents in 60.38782ms Added 2000 frameworks in 5.169120074secs Nonquota run setup: 2000 agents, 1000 roles, 2000 frameworks, with random sorter Made 2000 allocations in 1.048805121secs Made 0 allocation in 959.389901ms Added 2000 agents in 62.258101ms Added 2000 frameworks in 5.762369459secs Quota run setup: 2000 agents, 1000 roles, 2000 frameworks, with random sorter Made 2000 allocations in 1.825850875secs Made 0 allocation in 1.873957753secs Thanks, Meng Zhu
