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

Review request for Aurora, Bill Farner and Zameer Manji.


Bugs: AURORA-1219
    https://issues.apache.org/jira/browse/AURORA-1219


Repository: aurora


Description
-------

This is addressing the preemption efficiency loss due to making preemptor 
async. Summary:
- Implemented fair task processing by evaluating pending tasks in the order of 
their TaskGroupKeys (largest count first)
- Inverted the traversal of pending tasks to better reuse loop invariants. 
Every slave is sized up against all pending tasks until a match is found
- Moved relevant functionality from PreemptionSlotFinder (now 
PreemptionVictimFilter) into PendingTaskProcessor.

The bulk of new functionality is in PendingTaskIterator and 
PendingTaskProcessor. The rest is refactoring to adjust to the new traversal 
approach.

Will not apply cleanly. Diffed against https://reviews.apache.org/r/32352/


Diffs
-----

  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PendingTaskIterator.java
 PRE-CREATION 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PendingTaskProcessor.java
 PRE-CREATION 
  src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlot.java 
PRE-CREATION 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCache.java
 4ca36e5fe2cfd326f4d4f37f70dbcd0060109e73 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotFinder.java
 84bcdc57d798aca229d4f184cae065ec4dcf8fc5 
  src/main/java/org/apache/aurora/scheduler/async/preemptor/Preemptor.java 
84791a272f245c729706af95d70c7f1631bfe99c 
  
src/main/java/org/apache/aurora/scheduler/async/preemptor/PreemptorModule.java 
7034a07eae1f94d7a0bbccdf8146cf3ed0a5424e 
  src/main/java/org/apache/aurora/scheduler/base/TaskGroupKey.java 
6af3949b85297043640edccc1a490906c0fcff6c 
  src/test/java/org/apache/aurora/scheduler/app/SchedulerIT.java 
d212bbdf3c37be8e1e00eb169cf40b90fe69ed5f 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PendingTaskIteratorTest.java
 PRE-CREATION 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PendingTaskProcessorTest.java
 PRE-CREATION 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptionSlotCacheTest.java
 80bd13a192bda64759b5a93749ec47ddfeae504a 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorImplTest.java
 d17c4fb513afdb7d8ef6d7c2b0aef86c1f47c082 
  
src/test/java/org/apache/aurora/scheduler/async/preemptor/PreemptorSlotFinderTest.java
 b80e558f18b817814e4768b13ff94aa816d28543 

Diff: https://reviews.apache.org/r/32597/diff/


Testing
-------

./gradlew -Pq build
Manual testing in vagrant


Thanks,

Maxim Khutornenko

Reply via email to