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

Refactoring, bug fixes and adding tests #18

Draft
wants to merge 14 commits into
base: main
Choose a base branch
from

Conversation

unkcpz
Copy link
Member

@unkcpz unkcpz commented Jun 5, 2024

This PR is open since I use the branch to test the demo server lightweight scheduler integration. The PR bundles bunch of things include:

  • correctly support memory setup for resources.
  • support turn on hyperthreading with latest version of hyperqueue.
  • Use ruff to lint
  • Fix the submit bug for hq > 0.12 that resources are configured twice in job script and submit command.
  • Support install hq to remote computer over CLI.
  • WIP adding unit tests with submit to real hq using the fixture from hyperqueue repo.

The major change I made in terms of resource setting is I didn't use num_mpiprocs and rename num_cores -> num_cpus, rename memory_Mb -> memory_mb.
The reason is that I think this kind of "meta-scheduler" for task farming is not inherit from either ParEnvJobResource as SGE type scheduler nor NodeNumberJobResource. When we use hyperqueue for task farming or for local machine as light-weight scheduler we only set number of cpus and size of memory to allocate for each job. The multi-node support of hyperqueue is under experiments and will not cover our use case from what I can expect. But this is the point worth to discuss, looking forward to see your opinions @giovannipizzi @mbercx

Issues:

Must have features:

  • Use NodeNumberJobResource as parent and provide option for use case on LUMI that will require multinode functionality of HQ.
    • how to tell alloc to fire workers in the same group? Every new multinode run is managed to a certain group. Which means if -N is passed to alloc, the group name should be always exclusive. We don't want HQ to mess around to have many unbalanced jobs in different compute nodes.

@unkcpz unkcpz marked this pull request as draft June 5, 2024 08:24
@unkcpz unkcpz force-pushed the fea/mem-allocation branch 5 times, most recently from 5b56629 to 56f8345 Compare June 6, 2024 09:51
- Change command to aiida-hq
- add aiida-hq install <computer>
- fix start server timeout problem
- pre-commit lint
@unkcpz unkcpz force-pushed the fea/mem-allocation branch 3 times, most recently from 58e77e3 to d525ff1 Compare June 7, 2024 20:06
@unkcpz unkcpz force-pushed the fea/mem-allocation branch 2 times, most recently from fef7c55 to 8bffb31 Compare June 7, 2024 20:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant