You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@mesos.apache.org by Neil Conway <ne...@gmail.com> on 2017/02/06 23:16:36 UTC
Review Request 56352: Optimized and simplified
`DRFSorter::allocated()`.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/56352/
-----------------------------------------------------------
Review request for mesos and Michael Park.
Repository: mesos
Description
-------
When an allocation is made to a client, we want to update the share and
the count of allocations made to that client. This was previously done
separately, resulting in two std::set lookups, removals, and
reinsertions. By improving `DRFSorter::updateShare` to support
incrementing the number of client-allocations, we can do both updates
with a single sequence of std::set lookup/remove/insert operations.
Diffs
-----
src/master/allocator/sorter/drf/sorter.hpp 5bed53a1641fee0c09862f77b394a0e9ec131990
src/master/allocator/sorter/drf/sorter.cpp 5681a5d78a7bdde820c3a8633d742d9d6412f1c7
Diff: https://reviews.apache.org/r/56352/diff/
Testing
-------
`make check`
Running the sorter benchmarks with an optimized build, this results in a modest improvement (~10%).
Thanks,
Neil Conway
Re: Review Request 56352: Optimized and simplified
`DRFSorter::allocated()`.
Posted by Neil Conway <ne...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/56352/
-----------------------------------------------------------
(Updated Feb. 6, 2017, 11:21 p.m.)
Review request for mesos and Michael Park.
Repository: mesos
Description
-------
When an allocation is made to a client, we want to update the share and
the count of allocations made to that client. This was previously done
separately, resulting in two std::set lookups, removals, and
reinsertions. By improving `DRFSorter::updateShare` to support
incrementing the number of client-allocations, we can do both updates
with a single sequence of std::set lookup/remove/insert operations.
Diffs
-----
src/master/allocator/sorter/drf/sorter.hpp 5bed53a1641fee0c09862f77b394a0e9ec131990
src/master/allocator/sorter/drf/sorter.cpp 5681a5d78a7bdde820c3a8633d742d9d6412f1c7
Diff: https://reviews.apache.org/r/56352/diff/
Testing (updated)
-------
`make check`
Running the sorter benchmarks with an optimized build, this results in a modest improvement (~10%). With the change:
```
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/0 (343 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/1 (333 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/2 (329 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/3 (331 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/4 (335 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/5 (346 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/6 (1660 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/7 (1739 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/8 (1682 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/9 (1673 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/10 (1694 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/11 (1733 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/12 (3223 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/13 (3311 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/14 (3319 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/15 (3303 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/16 (3368 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/17 (3410 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/18 (6538 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/19 (6646 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/20 (6532 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/21 (6668 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/22 (6689 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/23 (6754 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/24 (9652 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/25 (9886 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/26 (9930 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/27 (10024 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/28 (10094 ms)
```
Without the change:
```
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/0 (346 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/1 (339 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/2 (346 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/3 (352 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/4 (343 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/5 (356 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/6 (1646 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/7 (1723 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/8 (1734 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/9 (1712 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/10 (1767 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/11 (2333 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/12 (3382 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/13 (3341 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/14 (3328 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/15 (3609 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/16 (3442 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/17 (3408 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/18 (6780 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/19 (6662 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/20 (7044 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/21 (7208 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/22 (7379 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/23 (7036 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/24 (9941 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/25 (10547 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/26 (10821 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/27 (11182 ms)
[ OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/28 (11077 ms)
```
Thanks,
Neil Conway