[ 
https://issues.apache.org/jira/browse/MESOS-621?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16928909#comment-16928909
 ] 

Meng Zhu commented on MESOS-621:
--------------------------------

Added tracking of allocated or offered resources in the allocator:

{noformat}
commit 783fd45c548fdff0c5c4812bc8e92c3aed202e06
Author: Meng Zhu m...@mesosphere.io
Date:   Sat Sep 7 16:01:51 2019 -0700


Tracked offered and allocated resources in the role tree.

This helpers simplify the quota tracking logic and also paves
the way to reduce duplicated states in the sorter.

Also documented that shared resources must be uniquely
identifiable.

Small performance degradation when making allocations due to
duplicated map construction in `(un)trackAllocatedResources`.
This will be removed once embeded the sorter in the role tree.

Benchmark `LargeAndSmallQuota/2`:

Master:

Added 3000 agents in 80.648188ms
Added 3000 frameworks in 19.7006984secs
Benchmark setup: 3000 agents, 3000 roles, 3000 frameworks,
with drf sorter
Made 3500 allocations in 16.044274434secs
Made 0 allocation in 14.476429451secs

Master + this patch:
Added 3000 agents in 80.110817ms
Added 3000 frameworks in 17.25974094secs
Benchmark setup: 3000 agents, 3000 roles, 3000 frameworks,
with drf sorter
Made 3500 allocations in 16.91971379secs
Made 0 allocation in 13.784476154secs

Review: https://reviews.apache.org/r/71460
commit 2ec34ca5951a5a8da3d1ab93839cce68e815c1d5
Author: Meng Zhu <m...@mesosphere.io>
Date:   Tue Sep 3 13:31:36 2019 -0700

    Added tracking of framework allocations in the allocator Slave class.

    This would simplify the tracking logic regarding
    resource allocations in the allocator. See MESOS-9182.

    Negligible performance impact:

    Master:

    BENCHMARK_HierarchicalAllocator_WithQuotaParam.LargeAndSmallQuota/2
    Added 3000 agents in 77.999483ms
    Added 3000 frameworks in 16.736076171secs
    Benchmark setup: 3000 agents, 3000 roles, 3000 frameworks,
    with drf sorter
    Made 3500 allocations in 15.342376944secs
    Made 0 allocation in 13.96720191secs

    Master + this patch:

    BENCHMARK_HierarchicalAllocator_WithQuotaParam.LargeAndSmallQuota/2
    Added 3000 agents in 83.597048ms
    Added 3000 frameworks in 16.757011745secs
    Benchmark setup: 3000 agents, 3000 roles, 3000 frameworks,
    with drf sorter
    Made 3500 allocations in 15.566366241secs
    Made 0 allocation in 14.022591871secs

    Review: https://reviews.apache.org/r/68508
{noformat}


> `HierarchicalAllocatorProcess::removeSlave` doesn't properly handle framework 
> allocations/resources
> ---------------------------------------------------------------------------------------------------
>
>                 Key: MESOS-621
>                 URL: https://issues.apache.org/jira/browse/MESOS-621
>             Project: Mesos
>          Issue Type: Bug
>          Components: allocation
>            Reporter: Vinod Kone
>            Assignee: Meng Zhu
>            Priority: Major
>              Labels: mesosphere, resource-management, tech-debt
>
> Currently a slaveRemoved() simply removes the slave from 'slaves' map and 
> slave's resources from 'roleSorter'. Looking at resourcesRecovered(), more 
> things need to be done when a slave is removed (e.g., framework 
> unallocations).
> It would be nice to fix this and have a test for this.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to