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

DragonBackend refactor #590

Open
al-rigazzi opened this issue May 20, 2024 · 0 comments
Open

DragonBackend refactor #590

al-rigazzi opened this issue May 20, 2024 · 0 comments
Labels
area: Dragon repo: smartsim Issues related to SmartSim infrastructure library type: feature Issues that include feature request or feature idea type: refactor Issues focused on refactoring existing code

Comments

@al-rigazzi
Copy link
Collaborator

Description

The DragonBackend class should be refactored to ensure maintainability and readability.

Justification

The DragonBackend class contains some monolithic methods, such as _start_steps and _stop_steps that are deeply nested and complex to read or maintain. The methods manage several queues at the same time, and if new scenarios will arise, it could be difficult to ensure proper handling of workflows.

Implementation Strategy

The refactor should aim at reducing complexity, most likely by adding new single-responsibility objects, and splitting up nested and long methods. Data structures used to represent queues or data (such as _group_infos) should be examined and possibly replaced with thread-safe counterparts.

@al-rigazzi al-rigazzi added area: Dragon repo: smartsim Issues related to SmartSim infrastructure library type: feature Issues that include feature request or feature idea type: refactor Issues focused on refactoring existing code labels May 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Dragon repo: smartsim Issues related to SmartSim infrastructure library type: feature Issues that include feature request or feature idea type: refactor Issues focused on refactoring existing code
Projects
None yet
Development

No branches or pull requests

1 participant