Skip to content
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

SIGTERM handling is now unrelated to fault tolerance #16501

Merged
merged 6 commits into from
Jan 27, 2023

Conversation

carmocca
Copy link
Contributor

What does this PR do?

Fault-tolerance is composed of several items:

  1. Automatic DataLoader state serialization
  2. Manual DataLoader state serialization
  3. Metrics/Logging results state
  4. Sigterm handling to signal to terminate gracefully
  5. Save a checkpoint when it is signaled to terminate gracefully

This PR changes (4) so it is not tied to the fault-tolerance feature, as it doesn't need to be and could be used for other purposes, or for manual fault-tolerance.

Does your PR introduce any breaking changes? If yes, please list them.

None

cc @Borda @carmocca @justusschock @awaelchli

@carmocca carmocca added feature Is an improvement or enhancement refactor fault tolerance pl Generic label for PyTorch Lightning package labels Jan 25, 2023
@carmocca carmocca added this to the 2.0 milestone Jan 25, 2023
@carmocca carmocca self-assigned this Jan 25, 2023
@carmocca carmocca marked this pull request as ready for review January 25, 2023 16:50
@github-actions
Copy link
Contributor

github-actions bot commented Jan 25, 2023

⚡ Required checks status: All passing 🟢

Groups summary

🟢 pytorch_lightning: Tests workflow
Check ID Status
pl-cpu (macOS-11, pytorch, 3.8, 1.11) success
pl-cpu (macOS-11, pytorch, 3.9, 1.12) success
pl-cpu (macOS-11, pytorch, 3.10, 1.13) success
pl-cpu (macOS-11, pytorch, 3.8, 1.10, oldest) success
pl-cpu (ubuntu-20.04, pytorch, 3.8, 1.10) success
pl-cpu (ubuntu-20.04, pytorch, 3.9, 1.11) success
pl-cpu (ubuntu-20.04, pytorch, 3.10, 1.12) success
pl-cpu (ubuntu-20.04, pytorch, 3.10, 1.13) success
pl-cpu (ubuntu-20.04, pytorch, 3.7, 1.10, oldest) success
pl-cpu (windows-2022, pytorch, 3.9, 1.11) success
pl-cpu (windows-2022, pytorch, 3.10, 1.12) success
pl-cpu (windows-2022, pytorch, 3.10, 1.13) success
pl-cpu (windows-2022, pytorch, 3.7, 1.10, oldest) success
pl-cpu (slow, macOS-11, pytorch, 3.7, 1.11) success
pl-cpu (slow, ubuntu-20.04, pytorch, 3.7, 1.11) success
pl-cpu (slow, windows-2022, pytorch, 3.7, 1.11) success
pl-cpu (macOS-11, lightning, 3.8, 1.13) success
pl-cpu (ubuntu-20.04, lightning, 3.8, 1.13) success
pl-cpu (windows-2022, lightning, 3.8, 1.13) success

These checks are required after the changes to src/pytorch_lightning/loops/epoch/evaluation_epoch_loop.py, src/pytorch_lightning/loops/epoch/training_epoch_loop.py, src/pytorch_lightning/loops/fit_loop.py, src/pytorch_lightning/trainer/connectors/signal_connector.py, src/pytorch_lightning/trainer/trainer.py, src/pytorch_lightning/utilities/exceptions.py, tests/tests_pytorch/trainer/connectors/test_signal_connector.py, tests/tests_pytorch/utilities/test_auto_restart.py.

🟢 pytorch_lightning: Azure GPU
Check ID Status
pytorch-lightning (GPUs) success

These checks are required after the changes to examples/pl_fault_tolerant/automatic.py, src/pytorch_lightning/loops/epoch/evaluation_epoch_loop.py, src/pytorch_lightning/loops/epoch/training_epoch_loop.py, src/pytorch_lightning/loops/fit_loop.py, src/pytorch_lightning/trainer/connectors/signal_connector.py, src/pytorch_lightning/trainer/trainer.py, src/pytorch_lightning/utilities/exceptions.py, tests/tests_pytorch/trainer/connectors/test_signal_connector.py, tests/tests_pytorch/utilities/test_auto_restart.py.

🟢 pytorch_lightning: Azure HPU
Check ID Status
pytorch-lightning (HPUs) success

These checks are required after the changes to src/pytorch_lightning/loops/epoch/evaluation_epoch_loop.py, src/pytorch_lightning/loops/epoch/training_epoch_loop.py, src/pytorch_lightning/loops/fit_loop.py, src/pytorch_lightning/trainer/connectors/signal_connector.py, src/pytorch_lightning/trainer/trainer.py, src/pytorch_lightning/utilities/exceptions.py, tests/tests_pytorch/trainer/connectors/test_signal_connector.py, tests/tests_pytorch/utilities/test_auto_restart.py.

🟢 pytorch_lightning: Azure IPU
Check ID Status
pytorch-lightning (IPUs) success

These checks are required after the changes to src/pytorch_lightning/loops/epoch/evaluation_epoch_loop.py, src/pytorch_lightning/loops/epoch/training_epoch_loop.py, src/pytorch_lightning/loops/fit_loop.py, src/pytorch_lightning/trainer/connectors/signal_connector.py, src/pytorch_lightning/trainer/trainer.py, src/pytorch_lightning/utilities/exceptions.py, tests/tests_pytorch/trainer/connectors/test_signal_connector.py, tests/tests_pytorch/utilities/test_auto_restart.py.

🟢 pytorch_lightning: Docs
Check ID Status
make-doctest (pytorch) success
make-html (pytorch) success

These checks are required after the changes to src/pytorch_lightning/loops/epoch/evaluation_epoch_loop.py, src/pytorch_lightning/loops/epoch/training_epoch_loop.py, src/pytorch_lightning/loops/fit_loop.py, src/pytorch_lightning/trainer/connectors/signal_connector.py, src/pytorch_lightning/trainer/trainer.py, src/pytorch_lightning/utilities/exceptions.py.

🟢 mypy
Check ID Status
mypy success

These checks are required after the changes to src/pytorch_lightning/loops/epoch/evaluation_epoch_loop.py, src/pytorch_lightning/loops/epoch/training_epoch_loop.py, src/pytorch_lightning/loops/fit_loop.py, src/pytorch_lightning/trainer/connectors/signal_connector.py, src/pytorch_lightning/trainer/trainer.py, src/pytorch_lightning/utilities/exceptions.py.

🟢 install
Check ID Status
install-pkg (ubuntu-22.04, app, 3.7) success
install-pkg (ubuntu-22.04, app, 3.10) success
install-pkg (ubuntu-22.04, fabric, 3.7) success
install-pkg (ubuntu-22.04, fabric, 3.10) success
install-pkg (ubuntu-22.04, pytorch, 3.7) success
install-pkg (ubuntu-22.04, pytorch, 3.10) success
install-pkg (ubuntu-22.04, lightning, 3.7) success
install-pkg (ubuntu-22.04, lightning, 3.10) success
install-pkg (ubuntu-22.04, notset, 3.7) success
install-pkg (ubuntu-22.04, notset, 3.10) success
install-pkg (macOS-12, app, 3.7) success
install-pkg (macOS-12, app, 3.10) success
install-pkg (macOS-12, fabric, 3.7) success
install-pkg (macOS-12, fabric, 3.10) success
install-pkg (macOS-12, pytorch, 3.7) success
install-pkg (macOS-12, pytorch, 3.10) success
install-pkg (macOS-12, lightning, 3.7) success
install-pkg (macOS-12, lightning, 3.10) success
install-pkg (macOS-12, notset, 3.7) success
install-pkg (macOS-12, notset, 3.10) success
install-pkg (windows-2022, app, 3.7) success
install-pkg (windows-2022, app, 3.10) success
install-pkg (windows-2022, fabric, 3.7) success
install-pkg (windows-2022, fabric, 3.10) success
install-pkg (windows-2022, pytorch, 3.7) success
install-pkg (windows-2022, pytorch, 3.10) success
install-pkg (windows-2022, lightning, 3.7) success
install-pkg (windows-2022, lightning, 3.10) success
install-pkg (windows-2022, notset, 3.7) success
install-pkg (windows-2022, notset, 3.10) success

These checks are required after the changes to src/pytorch_lightning/loops/epoch/evaluation_epoch_loop.py, src/pytorch_lightning/loops/epoch/training_epoch_loop.py, src/pytorch_lightning/loops/fit_loop.py, src/pytorch_lightning/trainer/connectors/signal_connector.py, src/pytorch_lightning/trainer/trainer.py, src/pytorch_lightning/utilities/exceptions.py.

🟢 link-check
Check ID Status
markdown-link-check success

These checks are required after the changes to src/pytorch_lightning/CHANGELOG.md.


Thank you for your contribution! 💜

Note
This comment is automatically generated and updates for 60 minutes every 180 seconds. If you have any other questions, contact carmocca for help.

@carmocca carmocca force-pushed the feat/received-sigterm branch from 9afe053 to 9e85132 Compare January 26, 2023 13:47
Copy link
Contributor

@tchaton tchaton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM !

@mergify mergify bot added the ready PRs ready to be merged label Jan 26, 2023
@carmocca carmocca enabled auto-merge (squash) January 27, 2023 02:58
@carmocca carmocca merged commit c854e4d into master Jan 27, 2023
@carmocca carmocca deleted the feat/received-sigterm branch January 27, 2023 02:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fault tolerance feature Is an improvement or enhancement pl Generic label for PyTorch Lightning package ready PRs ready to be merged refactor
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants