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



Bad review!

Reviews applied: [71698]

Error:
2019-10-29 17:46:22 URL:https://reviews.apache.org/r/71698/diff/raw/ 
[41082/41082] -> "71698.patch" [1]
error: patch failed: src/master/allocator/mesos/hierarchical.hpp:523
error: src/master/allocator/mesos/hierarchical.hpp: patch does not apply
error: patch failed: src/master/allocator/mesos/hierarchical.cpp:537
error: src/master/allocator/mesos/hierarchical.cpp: patch does not apply
error: src/master/allocator/sorter/drf/sorter.hpp: does not exist in index
error: src/master/allocator/sorter/drf/sorter.cpp: does not exist in index
error: src/master/allocator/sorter/random/sorter.hpp: does not exist in index
error: src/master/allocator/sorter/random/sorter.cpp: does not exist in index
error: src/master/allocator/sorter/sorter.hpp: does not exist in index
error: patch failed: src/tests/sorter_tests.cpp:1613
error: src/tests/sorter_tests.cpp: patch does not apply

- Mesos Reviewbot


On Oct. 29, 2019, 4:38 p.m., Andrei Sekretenko wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/71698/
> -----------------------------------------------------------
> 
> (Updated Oct. 29, 2019, 4:38 p.m.)
> 
> 
> Review request for mesos, Benjamin Mahler and Meng Zhu.
> 
> 
> Bugs: MESOS-10015
>     https://issues.apache.org/jira/browse/MESOS-10015
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> This patch addresses poor performance of
> `HierarchicalAllocatorProcess::updateAllocation()` for agents with
> a huge number of non-addable resources in a many-framework case
> (see MESOS-10015).
> 
> Sorter methods for totals tracking that modify `Resources` of an agent
> in the Sorter are replaced with methods that add/remove resource
> quantities of an agent as a whole (which was actually the only use case
> of the old methods). Thus, subtracting/adding `Resources` of a whole
> agent no longer occurs when updating resources of an agent in a Sorter.
> 
> Further, this patch completely removes agent resource tracking logic
> from the random sorter (which by itself makes no use of them) by
> implementing cluster totals tracking in the allocator.
> 
> Results of `*BENCHMARK_WithReservationParam.UpdateAllocation*`
> (for the DRF sorter):
> 
> 1.7.x branch:
> Agent resources size: 200 (50 frameworks)
> Made 20 reserve and unreserve operations in 2.014081646secs
> Agent resources size: 400 (100 frameworks)
> Made 20 reserve and unreserve operations in 13.623513239secs
> Agent resources size: 800 (200 frameworks)
> Made 20 reserve and unreserve operations in 2.14100063438333mins
> Agent resources size: 1600 (400 frameworks)
> (killed after several minutes)
> 
> 1.7.x branch + this patch:
> Agent resources size: 200 (50 frameworks)
> Made 20 reserve and unreserve operations in 236.706615ms
> Agent resources size: 400 (100 frameworks)
> Made 20 reserve and unreserve operations in 483.544585ms
> Agent resources size: 800 (200 frameworks)
> Made 20 reserve and unreserve operations in 1.095224322secs
> ...
> Agent resources size: 6400 (1600 frameworks)
> Made 20 reserve and unreserve operations in 50.369691741secs
> 
> This is a backport of https://reviews.apache.org/r/71646
> 
> 
> Diffs
> -----
> 
>   src/master/allocator/mesos/hierarchical.hpp 
> 1fce68fbdbb36edad0425dbd0d9c818f2cd0870e 
>   src/master/allocator/mesos/hierarchical.cpp 
> 3e8a8ce728b4cf1f45947f8fb2814c87b6468d91 
>   src/master/allocator/sorter/drf/sorter.hpp 
> 75f90f331fbe2ec514daa3fe00b0b05ad55932e1 
>   src/master/allocator/sorter/drf/sorter.cpp 
> 43c97671d692675df6a347e4482126d83d7e3f24 
>   src/master/allocator/sorter/random/sorter.hpp 
> 2031cb234cc3e29723f07ec7d3a7e8671a26a97f 
>   src/master/allocator/sorter/random/sorter.cpp 
> 6fcfc41f65bb6401cfb60af88866c2b02920887e 
>   src/master/allocator/sorter/sorter.hpp 
> 25ad48dff7e624e7d25072958bdd20513ab83d12 
>   src/tests/sorter_tests.cpp 1e2791f993af2fba592b0e76493864c096a0bb5f 
> 
> 
> Diff: https://reviews.apache.org/r/71698/diff/1/
> 
> 
> Testing
> -------
> 
> make check
> 
> `*BENCHMARK_WithReservationParam.UpdateAllocation*`:
> 
> **Before:**
> Agent resources size: 200 (50 roles, 1 reservations per role, 1 port ranges)
> Made 20 reserve and unreserve operations in 2.014081646secs
> Average UNRESERVE duration: 50.561677ms
> Average RESERVE duration: 50.142404ms
> 
> Agent resources size: 400 (100 roles, 1 reservations per role, 1 port ranges)
> Made 20 reserve and unreserve operations in 13.623513239secs
> Average UNRESERVE duration: 341.008722ms
> Average RESERVE duration: 340.166939ms
> 
> Agent resources size: 800 (200 roles, 1 reservations per role, 1 port ranges)
> Made 20 reserve and unreserve operations in 2.14100063438333mins
> Average UNRESERVE duration: 3.199787095secs
> Average RESERVE duration: 3.223214807secs
> 
> Agent resources size: 1600 (400 roles, 1 reservations per role, 1 port ranges)
> (killed after several minutes)
> 
> **After:**
> Agent resources size: 200 (50 roles, 1 reservations per role, 1 port ranges)
> Made 20 reserve and unreserve operations in 236.706615ms
> Average UNRESERVE duration: 5.908221ms
> Average RESERVE duration: 5.927109ms
> 
> Agent resources size: 400 (100 roles, 1 reservations per role, 1 port ranges)
> Made 20 reserve and unreserve operations in 483.544585ms
> Average UNRESERVE duration: 12.637169ms
> Average RESERVE duration: 11.540059ms
> 
> Agent resources size: 800 (200 roles, 1 reservations per role, 1 port ranges)
> Made 20 reserve and unreserve operations in 1.095224322secs
> Average UNRESERVE duration: 27.261353ms
> Average RESERVE duration: 27.499862ms
> 
> Agent resources size: 1600 (400 roles, 1 reservations per role, 1 port ranges)
> Made 20 reserve and unreserve operations in 3.785458686secs
> Average UNRESERVE duration: 94.972666ms
> Average RESERVE duration: 94.300268ms
> 
> Agent resources size: 3200 (800 roles, 1 reservations per role, 1 port ranges)
> Made 20 reserve and unreserve operations in 13.614374427secs
> Average UNRESERVE duration: 340.791016ms
> Average RESERVE duration: 339.927704ms
> 
> Agent resources size: 6400 (1600 roles, 1 reservations per role, 1 port 
> ranges)
> Made 20 reserve and unreserve operations in 50.369691741secs
> Average UNRESERVE duration: 1.261506421secs
> Average RESERVE duration: 1.256978165secs
> 
> 
> Thanks,
> 
> Andrei Sekretenko
> 
>

Reply via email to