> On May 18, 2017, 5:03 p.m., James Peach wrote:
> > src/master/allocator/sorter/drf/sorter.cpp
> > Lines 478 (patched)
> > <https://reviews.apache.org/r/59355/diff/1/?file=1723478#file1723478line478>
> >
> >     I'd prefer this:
> >     
> >     ```
> >     if (child->active || !child->children.empty()) {
> >       ...
> >     }
> >     ```

Sure -- if we go ahead with this approach we'll probably want to refactor a 
bunch of things. Just posting to get perf feedback at the moment.


- Neil


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


On May 18, 2017, 10:40 p.m., Neil Conway wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/59355/
> -----------------------------------------------------------
> 
> (Updated May 18, 2017, 10:40 p.m.)
> 
> 
> Review request for mesos, Benjamin Mahler and Michael Park.
> 
> 
> Bugs: MESOS-7521
>     https://issues.apache.org/jira/browse/MESOS-7521
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Rearrange the `children` vector so that inactive leaves are always at
> the end of the vector. This makes it easy to skip processing of inactive
> leaves.
> 
> 
> Diffs
> -----
> 
>   src/master/allocator/sorter/drf/sorter.hpp 
> fee58d6d1f08163e2a06a4a20c891fe535c3dcff 
>   src/master/allocator/sorter/drf/sorter.cpp 
> 26b77f578f3235a8792c72d4575d607cdb2c7de7 
> 
> 
> Diff: https://reviews.apache.org/r/59355/diff/2/
> 
> 
> Testing
> -------
> 
> Initial perf testing:
> 
> MESOS 1.2.0:
> ===================
> ```
> [ RUN      ] 
> SlaveAndFrameworkCount/HierarchicalAllocator_BENCHMARK_Test.SuppressOffers/15
> Using 5000 agents and 6000 frameworks
> Added 6000 frameworks in 73.164389ms
> Added 5000 agents in 39.148832702secs
> allocate() took 31.824026984secs to make 5000 offers with 1200 out of 6000 
> frameworks suppressing offers
> allocate() took 23.467935579secs to make 5000 offers with 2400 out of 6000 
> frameworks suppressing offers
> allocate() took 15.528170646secs to make 5000 offers with 3600 out of 6000 
> frameworks suppressing offers
> allocate() took 7.746030551secs to make 5000 offers with 4800 out of 6000 
> frameworks suppressing offers
> allocate() took 25.867454ms to make 0 offers with 6000 out of 6000 frameworks 
> suppressing offers
> [       OK ] 
> SlaveAndFrameworkCount/HierarchicalAllocator_BENCHMARK_Test.SuppressOffers/15 
> (121894 ms)
> [----------] 1 test from 
> SlaveAndFrameworkCount/HierarchicalAllocator_BENCHMARK_Test (121894 ms total)
> ```
> 
> MESOS in master branch:
> ===================
> ```
> [ RUN      ] 
> SlaveAndFrameworkCount/HierarchicalAllocator_BENCHMARK_Test.SuppressOffers/15
> Using 5000 agents and 6000 frameworks
> Added 6000 frameworks in 282.858346ms
> Added 5000 agents in 16.986189021secs
> allocate() took 17.262100444secs to make 5000 offers with 1200 out of 6000 
> frameworks suppressing offers
> allocate() took 17.106477051secs to make 5000 offers with 2400 out of 6000 
> frameworks suppressing offers
> allocate() took 17.032456469secs to make 5000 offers with 3600 out of 6000 
> frameworks suppressing offers
> allocate() took 15.375699284secs to make 5000 offers with 4800 out of 6000 
> frameworks suppressing offers
> allocate() took 323.279937ms to make 0 offers with 6000 out of 6000 
> frameworks suppressing offers
> [       OK ] 
> SlaveAndFrameworkCount/HierarchicalAllocator_BENCHMARK_Test.SuppressOffers/15 
> (88780 ms)
> [----------] 1 test from 
> SlaveAndFrameworkCount/HierarchicalAllocator_BENCHMARK_Test (88781 ms total)
> ```
> 
> MESOS in master branch + this patch:
> ===================
> ```
> [ RUN      ] 
> SlaveAndFrameworkCount/HierarchicalAllocator_BENCHMARK_Test.SuppressOffers/15
> Using 5000 agents and 6000 frameworks
> Added 6000 frameworks in 290.040808ms
> Added 5000 agents in 17.406607193secs
> allocate() took 14.893550012secs to make 5000 offers with 1200 out of 6000 
> frameworks suppressing offers
> allocate() took 12.148378927secs to make 5000 offers with 2400 out of 6000 
> frameworks suppressing offers
> allocate() took 10.28024964secs to make 5000 offers with 3600 out of 6000 
> frameworks suppressing offers
> allocate() took 8.455132769secs to make 5000 offers with 4800 out of 6000 
> frameworks suppressing offers
> allocate() took 298.49347ms to make 0 offers with 6000 out of 6000 frameworks 
> suppressing offers
> [       OK ] 
> SlaveAndFrameworkCount/HierarchicalAllocator_BENCHMARK_Test.SuppressOffers/15 
> (68181 ms)
> [----------] 1 test from 
> SlaveAndFrameworkCount/HierarchicalAllocator_BENCHMARK_Test (68181 ms total)
> ```
> 
> 
> Thanks,
> 
> Neil Conway
> 
>

Reply via email to