-
Notifications
You must be signed in to change notification settings - Fork 29k
[SPARK-3957]: show broadcast variable resource usage info in UI #2851
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
|
QA tests have started for PR 2851 at commit
|
|
QA tests have finished for PR 2851 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.
Would this send a BlockStatus for each broadcast variable on a heartbeat ? If we have hundreds or thousands of broadcast variables I wonder if the message size will become huge. Could we send deltas somehow ?
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.
good point, I will make this PR this evening
|
QA tests have started for PR 2851 at commit
|
|
QA tests have started for PR 2851 at commit
|
|
QA tests have finished for PR 2851 at commit
|
|
QA tests have finished for PR 2851 at commit
|
|
Can't we just have a general block reporting mechanism rather than special casing for broadcast? |
|
QA tests have started for PR 2851 at commit
|
|
@rxin I'm not sure, maybe we don't need that, because currently all RDD blocks are not reported via network, but by calling post(...) from the driver |
|
QA tests have finished for PR 2851 at commit
|
|
QA tests have started for PR 2851 at commit
|
|
QA tests have finished for PR 2851 at commit
|
|
QA tests have started for PR 2851 at commit
|
|
QA tests have finished for PR 2851 at commit
|
|
@andrewor14 do you want to take a look at this patch? |
|
Hi @CodingCat - This is a great & handy feature, but what I meant was that we should NOT have custom code that tracks broadcast blocks. We can have special UIs for reporting broadcast blocks for convenience, but the underlying reporting mechanism should be the same across all block types. BlockManager and the associated code are complicated enough (pretty terribly designed by us already), and we should not further complicate it by adding custom code for x, y, and z. We should make this reporting general enough (or use existing general reporting code path) so we can easily report other blocks in the future. |
|
@rxin, I see then I will try to refactor the reporting mechanism (currently piggyback in heartbeat) to make it more general.... |
|
@rxin - Here is a simpler design -- What if we report all broadcast blocks to the master when they are added to a block manager as well (tellMaster = true instead of false in https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/broadcast/TorrentBroadcast.scala#L95 ) It might be the same network traffic as any reporting mechanism we come up with -- The only concern then is to make sure that we don't wait for the master RPC, and we could do that if |
|
Sorry that link should have been https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/broadcast/TorrentBroadcast.scala#L181 |
|
Hi, @shivaram, do you mean we send the report with tell instead of askDriverWithReply....hmmm... what's the original motivation to send BlockInfo "synchronously"? |
|
I mean Akka's tell, not (.....why we have such a method....) |
|
haven't forgotten this, I will make it done tomorrow |
|
Test build #22766 has finished for PR 2851 at commit
|
|
Hi, @squito , would you mind taking further review when you have time? |
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.
did you mean to remove the update of executorLastSeen? seems like maybe a mistake in the merge?
|
Hi @CodingCat , I took another look through everything. My comments are all very minor. But I think I'd still like to get some more thoughts from others on how the broadcast block info is passed along. As I mentioned earlier, it is also possible to get it into |
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.
by worker, not by block
|
Test build #28577 has finished for PR 2851 at commit
|
|
Test build #28585 has finished for PR 2851 at commit
|
|
Test build #28601 has finished for PR 2851 at commit
|
|
Hi, @squito , thanks for the comments, I made some revision on the patch |
|
thanks for the updates! just one small style comment. lgtm (with the minor style update) |
|
Test build #28626 has finished for PR 2851 at commit
|
|
thanks @squito I updated that again |
|
Hey @CodingCat, it looks like this PR is significantly out of date. Do you mind closing it for now? You can always re-open / re-submit once we're ready to work on this feature again. Thanks! |
|
sure, I will close this temporarily |


show the broadcast variables resource usage in UI