[Feature]: Jobs match-making
- Dominant language
- Python
- Stars
- 19
- Forks
- 45
- Avg merge
- 4d 23h
- Merged PRs (30d)
- 12
Description
### User Story
**AS A** DiracX DEVELOPER
**I WANT TO** instrument diracx with a jobs match-making mechanism
**AS A** DiracX ADMIN
**I WANT** match-making to be done on at least the following fields:
- system (OS family)
- cpuwork
- CPU(s) description (type, counts, ram, architecture ...?)
- GPU(s) description (type, ram, ...?)
- generic tags (all specificity of the extensions should stay in tags)
It is unclear if the following ones would need to be added:
- IO (scratch space)
- walltime
- GPU versions, CUDA version
**AS A** DiracX ADMIN
**I WANT TO** know the reason why sometimes jobs are not matched
**AS A** DiracX DEVELOPER
**I WANT TO** test the system in the following conditions:
- 10M waiting jobs
- At least 200Hz of sustained job matching requests. 1KHz ideally
- Several hundred custom tags
- A long tail of resources and jobs which are niche
### Feature Description
A more capable and precise "Matcher" of the one in DIRAC.
### Definition of Done
_No response_
### Alternatives Considered
_No response_
### Related Issues
_No response_
### Additional Context
Note with context https://codimd.web.cern.ch/bCva5aa3SpWELiox3_yq9w
and description of matching criterias
Contributor guide
Assessment
This issue has not been assessed yet.