GitHub user zhan849 opened a pull request:

    https://github.com/apache/helix/pull/224

    [HELIX-718] implement ThreadCountBasedTaskAssigner

    In this RB, I implemented a thread count based task assigner that is 
optimized for short-term use cases. It assumes:
    - All tasks to assign have same quota type
    - All tasks to assign requires only 1 thread
    
    
    The algorithms did best effort that tasks with same type / same job are 
spread out: i.e.
    - if there are 3 nodes, each has 10 threads for each quota type A, B, and C
    - node1 is empty, node2 and node3 each has 5 typeB tasks and 5 typeC tasks 
running
    => when 3 typeA tasks are to be assigned, it will assign 1 typeA task to 
each node rather than squeeze all 3 typeA tasks to node1.
    
    
    
    Added tests for the assigner. Below is the profiling results, each result 
takes average of 100 trails:
    
    
    Assign 50K tasks onto 1K nodes:
    
    testing batch size: 10000
    Average time: 118ms
    testing batch size: 5000
    Average time: 114ms
    testing batch size: 2000
    Average time: 117ms
    testing batch size: 1000
    Average time: 119ms
    testing batch size: 500
    Average time: 123ms
    testing batch size: 100
    Average time: 182ms
    
    
    
    Assign 10K tasks onto 1K nodes:
    
    testing batch size: 10000
    Average time: 25ms
    testing batch size: 5000
    Average time: 21ms
    testing batch size: 2000
    Average time: 22ms
    testing batch size: 1000
    Average time: 25ms
    testing batch size: 500
    Average time: 22ms
    testing batch size: 100
    Average time: 34ms

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/zhan849/helix harry/simple-assigner

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/helix/pull/224.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #224
    
----
commit 6cb574d5aea6ca9cb9e6b5184bc80cb5e05d53b8
Author: Harry Zhang <hrzhang@...>
Date:   2018-07-09T23:04:19Z

    [HELIX-718] implement ThreadCountBasedTaskAssigner

----


---

Reply via email to