-
Notifications
You must be signed in to change notification settings - Fork 326
Ignore fetch operands when assign initial nodes #2929
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
648762b to
f2407c4
Compare
9d608ca to
e319ab0
Compare
mars/services/task/execution/api.py
Outdated
| """Get available band slots.""" | ||
|
|
||
| @abstractmethod | ||
| async def get_chunk_bands(self, chunk_keys: List[str]) -> Dict[str, BandType]: |
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.
About if it is reasonable to add this API to execution, what's your opinion? @fyrestone
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.
The API is a bit wired for execution. From the title of the PR, I think may be the changes are related to graph construction not the execution?
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.
Can you use the chunk to bands info for the graph assigner? https://github.com/mars-project/mars/blob/master/mars/services/task/supervisor/processor.py#L241
qinxuye
left a comment
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.
LGTM
wjsi
left a comment
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.
LGTM
(cherry picked from commit 1c4fbf7)
(cherry picked from commit 1c4fbf7)
What do these changes do?
When trigger iterative tiling, subtask's graph may has fetch operand, and we treat them as initial nodes and assign them in
GraphAnalyzer, it will result in losing locality and bad performance. This PR try to solve this issue by ignoring fetch chunks when assign chunk graph.Related issue number
Fixes #xxxx
Check code requirements