Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Fixed
-
1.3.0
Description
The addition of hierarchical roles to the framework sorter (https://github.com/apache/mesos/commit/e5ef1992b2b8e84b5d1487f1578f18f2291cd082) has introduced a major performance regression to 1.2. Suppressing offers for frameworks does not seem to reduce allocation time anymore, like it used to in 1.2. Here are some relevant benchmark results:
Mesos 1.2:
[ RUN ] SlaveAndFrameworkCount/HierarchicalAllocator_BENCHMARK_Test.SuppressOffers/7 Using 1000 agents and 6000 frameworks Added 6000 frameworks in 105957us Added 1000 agents in 34.937438secs allocate() took 27.408828secs to make 1000 offers with 1200 out of 6000 frameworks suppressing offers allocate() took 20.121897secs to make 1000 offers with 2400 out of 6000 frameworks suppressing offers allocate() took 12.964302secs to make 1000 offers with 3600 out of 6000 frameworks suppressing offers allocate() took 6.534221secs to make 1000 offers with 4800 out of 6000 frameworks suppressing offers allocate() took 8953us to make 0 offers with 6000 out of 6000 frameworks suppressing offers [ OK ] SlaveAndFrameworkCount/HierarchicalAllocator_BENCHMARK_Test.SuppressOffers/7 (106198 ms)
Mesos 1.3:
[ RUN ] SlaveAndFrameworkCount/HierarchicalAllocator_BENCHMARK_Test.SuppressOffers/7 Using 1000 agents and 6000 frameworks Added 6000 frameworks in 1.036217secs Added 1000 agents in 10.093938secs allocate() took 10.629448secs to make 1000 offers with 1200 out of 6000 frameworks suppressing offers allocate() took 11.607185secs to make 1000 offers with 2400 out of 6000 frameworks suppressing offers allocate() took 12.896578secs to make 1000 offers with 3600 out of 6000 frameworks suppressing offers allocate() took 14.162431secs to make 1000 offers with 4800 out of 6000 frameworks suppressing offers allocate() took 257060us to make 0 offers with 6000 out of 6000 frameworks suppressing offers [ OK ] SlaveAndFrameworkCount/HierarchicalAllocator_BENCHMARK_Test.SuppressOffers/7 (64011 ms)