-
Notifications
You must be signed in to change notification settings - Fork 28.9k
[SPARK-5337][Standalone] respect spark.task.cpus when scheduling Applications #8610
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Test build #42037 has finished for PR 8610 at commit
|
|
retest this please |
|
Jenkins, retest this please. |
|
....first time to know I have the permission to |
|
Test build #42055 has finished for PR 8610 at commit
|
|
Test build #42054 has finished for PR 8610 at commit
|
|
Test build #42059 has finished for PR 8610 at commit
|
|
Test build #42060 has finished for PR 8610 at commit
|
|
Hi, @andrewor14 , I just added some test cases here, would you mind taking the review? |
|
Test build #42094 has finished for PR 8610 at commit
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this error message is super clear, what is meant by "no less than and folds of spark.task.cups"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@holdenk how about now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clearer, thanks :)
|
Test build #42211 has finished for PR 8610 at commit
|
|
Jenkins, retest this please |
|
Test build #42217 has finished for PR 8610 at commit
|
|
Jenkins, retest this please |
1 similar comment
|
Jenkins, retest this please |
|
Test build #42229 has finished for PR 8610 at commit
|
|
@andrewor14 would you have some chance to review this? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nitpick: coreNumPerTask sounds weird. coresPerTaks is what you've used everywhere else, and the name above is coresPerExecutor.
|
Test build #46536 has finished for PR 8610 at commit
|
|
Jenkins, retest this please |
1 similar comment
|
Jenkins, retest this please |
|
Hi, @dragos , thanks for the comments, just sync the patch with master and addressed your comments @andrewor14 any plan to fix this in the coming 1.6? |
|
OK, thx One more question, am I supposed to have the permission to trigger Jenkins to retest the patch, I thought I was once able to do that...or it is due to the weird status of the bot? |
|
Jenkins, retest this please |
|
nvm, the bot fixed the relationship with me ..... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMO it's not clear what the relationship between coresPerTask and coresPerExecutor. Looking at the scheduling requirement we just need the maximum of the set to be able to schedule, and I thought cores per task is additional cpu resources on top of the executor.
Can we perhaps comment where this is introduced what these two are? Or point to documentation?
|
Test build #46549 has finished for PR 8610 at commit
|
|
I'll have a look at it tomorrow, thanks for pinging me. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
don't remove this...
|
By the way, I think it's totally fine to just do this for standalone mode first, since Mesos doesn't yet read |
8232a80 to
0526706
Compare
|
Test build #50715 has finished for PR 8610 at commit
|
|
@andrewor14 thanks for reviewing this, I'm currently in traveling, I will move #4123 and the check here to SparkSubmit later (tomorrow) I think we need to check whether CoresPerExecutor is no less than CoresPerTask in SparkSubmit The reason is that when the user does not explicitly specify coresPerExecutor (the worker will start an executor whenever there is a free core), there are still |
|
Test build #50719 has finished for PR 8610 at commit
|
|
Jenkins, retest it please |
|
Jenkins, retest this please |
|
Test build #50743 has finished for PR 8610 at commit
|
2b3fef5 to
8286e97
Compare
|
Test build #50817 has finished for PR 8610 at commit
|
|
Hi, @andrewor14, when I had a second think about your suggestion that we shall put parameter checking in SparkSubmit, I found that it may not be the right way to do this Because the users are always able to set the parameters by code, instead of through spark-submit. Reading the parameters set in a programmable way happens after reading the parameters set through spark-submit. In this case, we have to check whether the parameters are making sense right before we use them to create the application descriptor, e.g. ApplicationDescription in standalone mode. Otherwise, we may miss the parameters which are set after spark-submit parameter reading... |
|
Test build #50847 has finished for PR 8610 at commit
|
|
Jenkins, retest this please |
|
Test build #50853 has finished for PR 8610 at commit
|
|
Thanks for the pull request. I'm going through a list of pull requests to cut them down since the sheer number is breaking some of the tooling we have. Due to lack of activity on this pull request, I'm going to push a commit to close it. Feel free to reopen it or create a new one. We can also continue the discussion on the JIRA ticket. |
https://issues.apache.org/jira/browse/SPARK-5337
Currently, we didn't consider spark.task.cpus when scheduling the applications in Master, so that we may fall into one of the following cases
the executor gets N cores but we need M cores to run a single task, where N < M
the executor gets N cores, we need M cores to run a single task, where N % M != 0 && N > M; so that we waste some cores in the executor
Patch for YARN is in submitted by @WangTaoTheTonic : #4123