spark-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xianjin YE (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SPARK-24006) ExecutorAllocationManager.onExecutorAdded is an O(n) operation
Date Wed, 18 Apr 2018 10:14:00 GMT

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

Xianjin YE commented on SPARK-24006:
------------------------------------

Haven't launch a large enough job to confirm my assumption..

But roughly I guess 5_000-10_000 executors would show some impact, and 100_000 and above executors
would cause an actual problem..

> ExecutorAllocationManager.onExecutorAdded is an O(n) operation
> --------------------------------------------------------------
>
>                 Key: SPARK-24006
>                 URL: https://issues.apache.org/jira/browse/SPARK-24006
>             Project: Spark
>          Issue Type: Improvement
>          Components: Spark Core
>    Affects Versions: 2.3.0
>            Reporter: Xianjin YE
>            Priority: Major
>
> The ExecutorAllocationManager.onExecutorAdded is an O(n) operations, I believe it will
be a problem when scaling out with large number of Executors as it effectively makes adding
N executors at time complexity O(N^2).
>  
> I propose to invoke onExecutorIdle guarded by 
> {code:java}
> if (executorIds.size - executorsPendingToRemove.size >= minNumExecutors +1) { // Since
we only need to re-remark idle executors when low bound
>     executorIds.filter(listener.isExecutorIdle).foreach(onExecutorIdle)
> } else {
>     onExecutorIdle(executorId)
> }{code}
> cc [~zsxwing]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org


Mime
View raw message