Skip to content

Conversation

shayne-fletcher
Copy link
Contributor

Summary:
fbcode//monarch/hyperactor_mesh:hyperactor_mesh_proxy_test is a standalone self bootstrapping program that uses ProcessAllocator to do the following:

  • the driver creates a proc/process to host a ProxyActor
  • initialization of the ProxyActor on the new proc/process creates a proc/process to host a TestActor

so, executing this program creates a 3 level process hierarchy driver -> parent -> grandchild where the parent process hosts a single proc (rank = 0) with one ProxyActor and the grandchild a single proc/process with a single proc (rank = 0).

using this program, i observe that as things stand, logs from the parent and the grandchild (since they share a common rank) are merged in the one file /tmp/$USER/monarch_log_0.stdout.

this diff disambiguates proc logs by incorporating the process ID of the mesh owner into the proc's log file name.

so, for example, now there will be logs monarch_log_3529266_0.stdout (capturing the logs of the parent proc) and monarch_log_3530444_0.stdout (capturing the logs of the grandchild proc).

Differential Revision: D80349615

@meta-cla meta-cla bot added the CLA Signed This label is managed by the Meta Open Source bot. label Aug 15, 2025
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D80349615

shayne-fletcher added a commit to shayne-fletcher/monarch-1 that referenced this pull request Aug 15, 2025
Summary:

`fbcode//monarch/hyperactor_mesh:hyperactor_mesh_proxy_test` is a standalone self bootstrapping program that uses `ProcessAllocator` to do the following:
- the driver creates a proc/process to host a `ProxyActor`
- initialization of the `ProxyActor` on the new proc/process creates a proc/process to host a `TestActor`

so, executing this program creates a 3 level process hierarchy  `driver -> parent -> grandchild` where the `parent` process hosts a single proc/process (rank = 0) with one `ProxyActor` and the `grandchild` a single proc/process (rank = 0) with one `TestActor`.

using this program, i observe that as things stand, logs from the parent and the grandchild (since they share a common rank) are merged in the one file `/tmp/$USER/monarch_log_0.stdout`.

this diff disambiguates proc logs by incorporating the process ID of the mesh owner into the proc's log file name.

so, for example, now there will be logs `monarch_log_3529266_0.stdout` (capturing the logs of the parent proc) and `monarch_log_3530444_0.stdout` (capturing the logs of the grandchild proc).

Differential Revision: D80349615
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D80349615

shayne-fletcher added a commit to shayne-fletcher/monarch-1 that referenced this pull request Aug 15, 2025
Summary:

`fbcode//monarch/hyperactor_mesh:hyperactor_mesh_proxy_test` is a standalone self bootstrapping program that uses `ProcessAllocator` to do the following:
- the driver creates a proc/process to host a `ProxyActor`
- initialization of the `ProxyActor` on the new proc/process creates a proc/process to host a `TestActor`

so, executing this program creates a 3 level process hierarchy  `driver -> parent -> grandchild` where the `parent` process hosts a single proc/process (rank = 0) with one `ProxyActor` and the `grandchild` a single proc/process (rank = 0) with one `TestActor`.

using this program, i observe that as things stand, logs from the parent and the grandchild (since they share a common rank) are merged in the one file `/tmp/$USER/monarch_log_0.stdout`.

this diff disambiguates proc logs by incorporating the process ID of the mesh owner into the proc's log file name.

so, for example, now there will be logs `monarch_log_3529266_0.stdout` (capturing the logs of the parent proc) and `monarch_log_3530444_0.stdout` (capturing the logs of the grandchild proc).

Differential Revision: D80349615
shayne-fletcher added a commit to shayne-fletcher/monarch-1 that referenced this pull request Aug 15, 2025
Summary:

`fbcode//monarch/hyperactor_mesh:hyperactor_mesh_proxy_test` is a standalone self bootstrapping program that uses `ProcessAllocator` to do the following:
- the driver creates a proc/process to host a `ProxyActor`
- initialization of the `ProxyActor` on the new proc/process creates a proc/process to host a `TestActor`

so, executing this program creates a 3 level process hierarchy  `driver -> parent -> grandchild` where the `parent` process hosts a single proc/process (rank = 0) with one `ProxyActor` and the `grandchild` a single proc/process (rank = 0) with one `TestActor`.

using this program, i observe that as things stand, logs from the parent and the grandchild (since they share a common rank) are merged in the one file `/tmp/$USER/monarch_log_0.stdout`.

this diff disambiguates proc logs by incorporating the process ID of the mesh owner into the proc's log file name.

so, for example, now there will be logs `monarch_log_3529266_0.stdout` (capturing the logs of the parent proc) and `monarch_log_3530444_0.stdout` (capturing the logs of the grandchild proc).

Differential Revision: D80349615
shayne-fletcher added a commit to shayne-fletcher/monarch-1 that referenced this pull request Aug 15, 2025
Summary:

`fbcode//monarch/hyperactor_mesh:hyperactor_mesh_proxy_test` is a standalone self bootstrapping program that uses `ProcessAllocator` to do the following:
- the driver creates a proc/process to host a `ProxyActor`
- initialization of the `ProxyActor` on the new proc/process creates a proc/process to host a `TestActor`

so, executing this program creates a 3 level process hierarchy  `driver -> parent -> grandchild` where the `parent` process hosts a single proc/process (rank = 0) with one `ProxyActor` and the `grandchild` a single proc/process (rank = 0) with one `TestActor`.

using this program, i observe that as things stand, logs from the parent and the grandchild (since they share a common rank) are merged in the one file `/tmp/$USER/monarch_log_0.stdout`.

this diff disambiguates proc logs by incorporating the process ID of the mesh owner into the proc's log file name.

so, for example, now there will be logs `monarch_log_3529266_0.stdout` (capturing the logs of the parent proc) and `monarch_log_3530444_0.stdout` (capturing the logs of the grandchild proc).

Differential Revision: D80349615
shayne-fletcher added a commit to shayne-fletcher/monarch-1 that referenced this pull request Aug 15, 2025
Summary:

`fbcode//monarch/hyperactor_mesh:hyperactor_mesh_proxy_test` is a standalone self bootstrapping program that uses `ProcessAllocator` to do the following:
- the driver creates a proc/process to host a `ProxyActor`
- initialization of the `ProxyActor` on the new proc/process creates a proc/process to host a `TestActor`

so, executing this program creates a 3 level process hierarchy  `driver -> parent -> grandchild` where the `parent` process hosts a single proc/process (rank = 0) with one `ProxyActor` and the `grandchild` a single proc/process (rank = 0) with one `TestActor`.

using this program, i observe that as things stand, logs from the parent and the grandchild (since they share a common rank) are merged in the one file `/tmp/$USER/monarch_log_0.stdout`.

this diff disambiguates proc logs by incorporating the process ID of the mesh owner into the proc's log file name.

so, for example, now there will be logs `monarch_log_3529266_0.stdout` (capturing the logs of the parent proc) and `monarch_log_3530444_0.stdout` (capturing the logs of the grandchild proc).

Differential Revision: D80349615
shayne-fletcher added a commit to shayne-fletcher/monarch-1 that referenced this pull request Aug 17, 2025
Summary:

`fbcode//monarch/hyperactor_mesh:hyperactor_mesh_proxy_test` is a standalone self bootstrapping program that uses `ProcessAllocator` to do the following:
- the driver creates a proc/process to host a `ProxyActor`
- initialization of the `ProxyActor` on the new proc/process creates a proc/process to host a `TestActor`

so, executing this program creates a 3 level process hierarchy  `driver -> parent -> grandchild` where the `parent` process hosts a single proc/process (rank = 0) with one `ProxyActor` and the `grandchild` a single proc/process (rank = 0) with one `TestActor`.

using this program, i observe that as things stand, logs from the parent and the grandchild (since they share a common rank) are merged in the one file `/tmp/$USER/monarch_log_0.stdout`.

this diff disambiguates proc logs by incorporating the process ID of the mesh owner into the proc's log file name.

so, for example, now there will be logs `monarch_log_3529266_0.stdout` (capturing the logs of the parent proc) and `monarch_log_3530444_0.stdout` (capturing the logs of the grandchild proc).

Reviewed By: highker

Differential Revision: D80349615
shayne-fletcher added a commit to shayne-fletcher/monarch-1 that referenced this pull request Aug 18, 2025
Summary:

`fbcode//monarch/hyperactor_mesh:hyperactor_mesh_proxy_test` is a standalone self bootstrapping program that uses `ProcessAllocator` to do the following:
- the driver creates a proc/process to host a `ProxyActor`
- initialization of the `ProxyActor` on the new proc/process creates a proc/process to host a `TestActor`

so, executing this program creates a 3 level process hierarchy  `driver -> parent -> grandchild` where the `parent` process hosts a single proc/process (rank = 0) with one `ProxyActor` and the `grandchild` a single proc/process (rank = 0) with one `TestActor`.

using this program, i observe that as things stand, logs from the parent and the grandchild (since they share a common rank) are merged in the one file `/tmp/$USER/monarch_log_0.stdout`.

this diff disambiguates proc logs by incorporating the process ID of the mesh owner into the proc's log file name.

so, for example, now there will be logs `monarch_log_3529266_0.stdout` (capturing the logs of the parent proc) and `monarch_log_3530444_0.stdout` (capturing the logs of the grandchild proc).

Reviewed By: highker

Differential Revision: D80349615
shayne-fletcher added a commit to shayne-fletcher/monarch-1 that referenced this pull request Aug 18, 2025
Summary:

`fbcode//monarch/hyperactor_mesh:hyperactor_mesh_proxy_test` is a standalone self bootstrapping program that uses `ProcessAllocator` to do the following:
- the driver creates a proc/process to host a `ProxyActor`
- initialization of the `ProxyActor` on the new proc/process creates a proc/process to host a `TestActor`

so, executing this program creates a 3 level process hierarchy  `driver -> parent -> grandchild` where the `parent` process hosts a single proc/process (rank = 0) with one `ProxyActor` and the `grandchild` a single proc/process (rank = 0) with one `TestActor`.

using this program, i observe that as things stand, logs from the parent and the grandchild (since they share a common rank) are merged in the one file `/tmp/$USER/monarch_log_0.stdout`.

this diff disambiguates proc logs by incorporating the process ID of the mesh owner into the proc's log file name.

so, for example, now there will be logs `monarch_log_3529266_0.stdout` (capturing the logs of the parent proc) and `monarch_log_3530444_0.stdout` (capturing the logs of the grandchild proc).

Reviewed By: highker

Differential Revision: D80349615
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D80349615

shayne-fletcher added a commit to shayne-fletcher/monarch-1 that referenced this pull request Aug 18, 2025
Summary:
Pull Request resolved: meta-pytorch#892

`fbcode//monarch/hyperactor_mesh:hyperactor_mesh_proxy_test` is a standalone self bootstrapping program that uses `ProcessAllocator` to do the following:
- the driver creates a proc/process to host a `ProxyActor`
- initialization of the `ProxyActor` on the new proc/process creates a proc/process to host a `TestActor`

so, executing this program creates a 3 level process hierarchy  `driver -> parent -> grandchild` where the `parent` process hosts a single proc/process (rank = 0) with one `ProxyActor` and the `grandchild` a single proc/process (rank = 0) with one `TestActor`.

using this program, i observe that as things stand, logs from the parent and the grandchild (since they share a common rank) are merged in the one file `/tmp/$USER/monarch_log_0.stdout`.

this diff disambiguates proc logs by incorporating the process ID of the mesh owner into the proc's log file name.

so, for example, now there will be logs `monarch_log_3529266_0.stdout` (capturing the logs of the parent proc) and `monarch_log_3530444_0.stdout` (capturing the logs of the grandchild proc).

Reviewed By: highker

Differential Revision: D80349615
Summary:
Pull Request resolved: meta-pytorch#892

`fbcode//monarch/hyperactor_mesh:hyperactor_mesh_proxy_test` is a standalone self bootstrapping program that uses `ProcessAllocator` to do the following:
- the driver creates a proc/process to host a `ProxyActor`
- initialization of the `ProxyActor` on the new proc/process creates a proc/process to host a `TestActor`

so, executing this program creates a 3 level process hierarchy  `driver -> parent -> grandchild` where the `parent` process hosts a single proc/process (rank = 0) with one `ProxyActor` and the `grandchild` a single proc/process (rank = 0) with one `TestActor`.

using this program, i observe that as things stand, logs from the parent and the grandchild (since they share a common rank) are merged in the one file `/tmp/$USER/monarch_log_0.stdout`.

this diff disambiguates proc logs by incorporating the process ID of the mesh owner into the proc's log file name.

so, for example, now there will be logs `monarch_log_3529266_0.stdout` (capturing the logs of the parent proc) and `monarch_log_3530444_0.stdout` (capturing the logs of the grandchild proc).

Reviewed By: highker

Differential Revision: D80349615
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D80349615

@facebook-github-bot
Copy link
Contributor

This pull request has been merged in 09bddbb.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Meta Open Source bot. fb-exported Merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants