mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benjamin Mahler <bmah...@apache.org>
Subject Re: Review Request 69902: Fixed incorrect skipping in the allocation loops.
Date Fri, 08 Feb 2019 21:47:36 GMT

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

(Updated Feb. 8, 2019, 9:47 p.m.)


Review request for mesos, Benjamin Bannier and Meng Zhu.


Changes
-------

Simplified the break/continue checks further. Tested with more complete continue/break checks
but the peformance was 10-20% worse on the benchmark.


Bugs: MESOS-9554
    https://issues.apache.org/jira/browse/MESOS-9554


Repository: mesos


Description
-------

The allocation loop was breaking out of the framework loop based on
resources filtered by the framework's capabilities. This can lead
to incorrect breaking in the case that a framework is incapable of
receiving resources whereas others are capable of receiving them.


Diffs (updated)
-----

  src/master/allocator/mesos/hierarchical.cpp bb9a9c95979f36c0564af5b3babb1c43077a363b 


Diff: https://reviews.apache.org/r/69902/diff/2/

Changes: https://reviews.apache.org/r/69902/diff/1-2/


Testing (updated)
-------

make check

Ran benchmarks:

Before:
```
[ RUN      ] SlaveAndFrameworkCount/HierarchicalAllocator_BENCHMARK_Test.DeclineOffers/22
Using 10000 agents and 3000 frameworks
Added 3000 frameworks in 161.434141ms
Added 10000 agents in 3.334691038secs
round 0 allocate() took 2.770901571secs to make 10000 offers after filtering 10000 offers
round 1 allocate() took 2.470565355secs to make 10000 offers after filtering 20000 offers
round 2 allocate() took 2.594315228secs to make 10000 offers after filtering 30000 offers
round 3 allocate() took 2.389658909secs to make 10000 offers after filtering 40000 offers
round 4 allocate() took 2.580871077secs to make 10000 offers after filtering 50000 offers
round 5 allocate() took 2.522765768secs to make 10000 offers after filtering 60000 offers
round 6 allocate() took 2.513849225secs to make 10000 offers after filtering 70000 offers
round 7 allocate() took 2.500960884secs to make 10000 offers after filtering 80000 offers
round 8 allocate() took 2.52565301secs to make 10000 offers after filtering 90000 offers
round 9 allocate() took 2.445142852secs to make 10000 offers after filtering 100000 offers
round 10 allocate() took 2.450911751secs to make 10000 offers after filtering 110000 offers
```

After:
```
[ RUN      ] SlaveAndFrameworkCount/HierarchicalAllocator_BENCHMARK_Test.DeclineOffers/22
Using 10000 agents and 3000 frameworks
Added 3000 frameworks in 154.907124ms
Added 10000 agents in 3.365280696secs
round 0 allocate() took 2.592282215secs to make 10000 offers after filtering 10000 offers
round 1 allocate() took 2.397258483secs to make 10000 offers after filtering 20000 offers
round 2 allocate() took 2.616057855secs to make 10000 offers after filtering 30000 offers
round 3 allocate() took 2.416340659secs to make 10000 offers after filtering 40000 offers
round 4 allocate() took 2.507320297secs to make 10000 offers after filtering 50000 offers
round 5 allocate() took 2.406381392secs to make 10000 offers after filtering 60000 offers
round 6 allocate() took 2.709823626secs to make 10000 offers after filtering 70000 offers
round 7 allocate() took 2.620007215secs to make 10000 offers after filtering 80000 offers
round 8 allocate() took 2.421006375secs to make 10000 offers after filtering 90000 offers
round 9 allocate() took 2.549936331secs to make 10000 offers after filtering 100000 offers
round 10 allocate() took 2.480696465secs to make 10000 offers after filtering 110000 offers
```


Thanks,

Benjamin Mahler


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message