-
Notifications
You must be signed in to change notification settings - Fork 6k
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
[Datasets] Improved naming of Ray Data map
tasks
#32585
[Datasets] Improved naming of Ray Data map
tasks
#32585
Conversation
Signed-off-by: Scott Lee <sjl@anyscale.com>
Signed-off-by: Scott Lee <sjl@anyscale.com>
Signed-off-by: Scott Lee <sjl@anyscale.com>
Signed-off-by: Scott Lee <sjl@anyscale.com>
Signed-off-by: Scott Lee <sjl@anyscale.com>
Signed-off-by: Scott Lee <sjl@anyscale.com>
Signed-off-by: Scott Lee <sjl@anyscale.com>
Thanks @scottjlee! cc @clarkzinzow to review as well. |
@@ -117,7 +117,7 @@ def _dispatch_tasks(self): | |||
bundle = self._bundle_queue.popleft() | |||
input_blocks = [block for block, _ in bundle.blocks] | |||
ctx = TaskContext(task_idx=self._next_task_idx) | |||
ref = actor.submit.options(num_returns="dynamic").remote( | |||
ref = actor.submit.options(num_returns="dynamic", name=self.name).remote( |
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.
@rkooo567 - I thought you mentioned there's problem that actor should not be set name here, right?
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.
So if we look at the dash screenshot above, I believe this isn't actually setting the name of the actor -- as we can see _MapWorker
still being used in the Active Actors by Name
chart. I think this part instead sets the name of the submitted task instead (e.g. fn_actors
in above example).
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.
Also the name of actors should be unique across the cluster. So let's avoid setting the name for 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.
Yep this is just setting the name of the actor task, so this should be fine, right?
@@ -290,6 +293,9 @@ def submit( | |||
) -> Iterator[Union[Block, List[BlockMetadata]]]: | |||
yield from _map_task(fn, ctx, *blocks) | |||
|
|||
def __repr__(self): | |||
return f"MapWorker({self.src_fn_name})" |
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 am actually feeling the MapWorker
naming might be confusing for user, shall we rename it to be more specific - like MapBatchesActor
? @clarkzinzow
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.
Agreed, but I think that the current MapWorker(MapBatches(fn_name))
is pretty good!
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.
Once #32922 is implemented, this should allow us to send this actor name to the dash
Signed-off-by: Scott Lee <sjl@anyscale.com>
I don't have specific comments to the PR itself, but I'd like to do some dogfooding together with a couple of data team members after merging this PR! |
Signed-off-by: Scott Lee <sjl@anyscale.com>
Signed-off-by: Scott Lee <sjl@anyscale.com>
Assuming CI test will be fixed, the change itself looks good to me. WDYT? @clarkzinzow. |
map
tasks/actorsmap
tasks
Signed-off-by: Scott Lee <sjl@anyscale.com>
Signed-off-by: Scott Lee <sjl@anyscale.com>
Signed-off-by: Scott Lee <sjl@anyscale.com>
Signed-off-by: Scott Lee <sjl@anyscale.com>
Signed-off-by: Scott Lee <sjl@anyscale.com>
@scottjlee Ah it looks like some AIR tests that check the stats string content need to be updated as well. https://buildkite.com/ray-project/oss-ci-build-pr/builds/13201#018694ad-6e8b-4256-aba0-5a70395be959 |
Signed-off-by: Scott Lee <sjl@anyscale.com>
Signed-off-by: Scott Lee <sjl@anyscale.com>
Signed-off-by: Scott Lee <sjl@anyscale.com>
Signed-off-by: Scott Lee <sjl@anyscale.com>
Signed-off-by: Scott Lee <sjl@anyscale.com>
Signed-off-by: Scott Lee <sjl@anyscale.com>
Signed-off-by: Scott Lee <sjl@anyscale.com>
The test failure looks irrelevant. |
awesome! |
@scottjlee let's try some dogfooding? I can schedule a meeting |
On the Ray Dashboard, Data-related tasks/actors are currently summarized based on their name, which currently is generic and unhelpful in distinguishing between multiple Ray Data usages. We can include a more detailed name which contains the underlying function name when scheduling the task, so that they are easily summarized on the dashboard. Signed-off-by: Scott Lee <sjl@anyscale.com> Signed-off-by: Jack He <jackhe2345@gmail.com>
On the Ray Dashboard, Data-related tasks/actors are currently summarized based on their name, which currently is generic and unhelpful in distinguishing between multiple Ray Data usages. We can include a more detailed name which contains the underlying function name when scheduling the task, so that they are easily summarized on the dashboard. Signed-off-by: Scott Lee <sjl@anyscale.com> Signed-off-by: Edward Oakes <ed.nmi.oakes@gmail.com>
On the Ray Dashboard, Data-related tasks/actors are currently summarized based on their name, which currently is generic and unhelpful in distinguishing between multiple Ray Data usages. We can include a more detailed name which contains the underlying function name when scheduling the task, so that they are easily summarized on the dashboard. Signed-off-by: Scott Lee <sjl@anyscale.com>
On the Ray Dashboard, Data-related tasks/actors are currently summarized based on their name, which currently is generic and unhelpful in distinguishing between multiple Ray Data usages. We can include a more detailed name which contains the underlying function name when scheduling the task, so that they are easily summarized on the dashboard. Signed-off-by: Scott Lee <sjl@anyscale.com> Signed-off-by: elliottower <elliot@elliottower.com>
On the Ray Dashboard, Data-related tasks/actors are currently summarized based on their name, which currently is generic and unhelpful in distinguishing between multiple Ray Data usages. We can include a more detailed name which contains the underlying function name when scheduling the task, so that they are easily summarized on the dashboard. Signed-off-by: Scott Lee <sjl@anyscale.com> Signed-off-by: Jack He <jackhe2345@gmail.com>
Why are these changes needed?
On the Ray Dashboard, Data-related tasks/actors are currently summarized based on their name, which currently is generic and unhelpful in distinguishing between multiple Ray Data usages. We can include a more detailed name which contains the underlying function name when scheduling the task, so that they are easily summarized on the dashboard.
For example, we can run the following script:
which will yield these task names on the dashboard:
![Screenshot at Feb 17 12-22-18](https://user-images.githubusercontent.com/5122851/219786095-dd089983-d9b4-4daf-b2e8-d3feea584456.png)
Related issue number
Closes #32753
Checks
git commit -s
) in this PR.scripts/format.sh
to lint the changes in this PR.