Skip to content

Invert rsync architecture #467

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

andrewjcg
Copy link
Contributor

Summary:
This inverts the rsync setup, so that the rsync daemon runs on the "client", and the
rsync clients run on the actors. This helps in a couple ways:

  • We don't leave a rsync daemon running on the actors.
  • We avoid spawning lots of sub-processes for each rsync client on the "client"
  • The rsync client supports reporting file changes, which subsequent changes
    can use to facilitate things like targeted module reloading (based on the actual
    things that were changed).

Differential Revision: D77952087

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Meta Open Source bot. label Jul 8, 2025
@facebook-github-bot
Copy link
Contributor

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

andrewjcg added a commit to andrewjcg/monarch that referenced this pull request Jul 8, 2025
Summary:

This inverts the rsync setup, so that the rsync daemon runs on the "client", and the
rsync clients run on the actors.  This helps in a couple ways:
- We don't leave a rsync daemon running on the actors.
- We avoid spawning lots of sub-processes for each rsync client on the "client"
- The rsync client supports reporting file changes, which subsequent changes
   can use to facilitate things like targeted module reloading (based on the actual
   things that were changed).

Differential Revision: D77952087
andrewjcg added a commit to andrewjcg/monarch that referenced this pull request Jul 8, 2025
Summary:

This inverts the rsync setup, so that the rsync daemon runs on the "client", and the
rsync clients run on the actors.  This helps in a couple ways:
- We don't leave a rsync daemon running on the actors.
- We avoid spawning lots of sub-processes for each rsync client on the "client"
- The rsync client supports reporting file changes, which subsequent changes
   can use to facilitate things like targeted module reloading (based on the actual
   things that were changed).

Differential Revision: D77952087
andrewjcg added a commit to andrewjcg/monarch that referenced this pull request Jul 8, 2025
Summary:

This inverts the rsync setup, so that the rsync daemon runs on the "client", and the
rsync clients run on the actors.  This helps in a couple ways:
- We don't leave a rsync daemon running on the actors.
- We avoid spawning lots of sub-processes for each rsync client on the "client"
- The rsync client supports reporting file changes, which subsequent changes
   can use to facilitate things like targeted module reloading (based on the actual
   things that were changed).

Differential Revision: D77952087
andrewjcg added a commit to andrewjcg/monarch that referenced this pull request Jul 8, 2025
Summary:

This inverts the rsync setup, so that the rsync daemon runs on the "client", and the
rsync clients run on the actors.  This helps in a couple ways:
- We don't leave a rsync daemon running on the actors.
- We avoid spawning lots of sub-processes for each rsync client on the "client"
- The rsync client supports reporting file changes, which subsequent changes
   can use to facilitate things like targeted module reloading (based on the actual
   things that were changed).

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

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

andrewjcg added a commit to andrewjcg/monarch that referenced this pull request Jul 8, 2025
Summary:
Pull Request resolved: pytorch-labs#467

This inverts the rsync setup, so that the rsync daemon runs on the "client", and the
rsync clients run on the actors.  This helps in a couple ways:
- We don't leave a rsync daemon running on the actors.
- We avoid spawning lots of sub-processes for each rsync client on the "client"
- The rsync client supports reporting file changes, which subsequent changes
   can use to facilitate things like targeted module reloading (based on the actual
   things that were changed).

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

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

andrewjcg added a commit to andrewjcg/monarch that referenced this pull request Jul 8, 2025
Summary:
Pull Request resolved: pytorch-labs#467

This inverts the rsync setup, so that the rsync daemon runs on the "client", and the
rsync clients run on the actors.  This helps in a couple ways:
- We don't leave a rsync daemon running on the actors.
- We avoid spawning lots of sub-processes for each rsync client on the "client"
- The rsync client supports reporting file changes, which subsequent changes
   can use to facilitate things like targeted module reloading (based on the actual
   things that were changed).

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

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

andrewjcg added a commit to andrewjcg/monarch that referenced this pull request Jul 8, 2025
Summary:
Pull Request resolved: pytorch-labs#467

This inverts the rsync setup, so that the rsync daemon runs on the "client", and the
rsync clients run on the actors.  This helps in a couple ways:
- We don't leave a rsync daemon running on the actors.
- We avoid spawning lots of sub-processes for each rsync client on the "client"
- The rsync client supports reporting file changes, which subsequent changes
   can use to facilitate things like targeted module reloading (based on the actual
   things that were changed).

Differential Revision: D77952087
Summary:
Pull Request resolved: pytorch-labs#467

This inverts the rsync setup, so that the rsync daemon runs on the "client", and the
rsync clients run on the actors.  This helps in a couple ways:
- We don't leave a rsync daemon running on the actors.
- We avoid spawning lots of sub-processes for each rsync client on the "client"
- The rsync client supports reporting file changes, which subsequent changes
   can use to facilitate things like targeted module reloading (based on the actual
   things that were changed).

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

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

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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants