Replies: 1 comment 1 reply
-
Regarding your question: none of the existing Transformation Plugins (https://dirac.readthedocs.io/en/latest/DeveloperGuide/Systems/Transformation/transformationplugin.html) that are in Core DIRAC consider the tags. If you want to do something there you'd need to develop a new plugin. Now, TBH I am not sure that you are thinking to do with these tags is the best way to proceed. First of all, you can assign a SE to more than 1 site. But, mostly, if I was you I would make use of the
$ dirac-platform
Linux_x86_64_glibc-2.34 This
|
Beta Was this translation helpful? Give feedback.
-
Here, SE1-EL7 and SE2-EL7 are EL7 sites, and SE3-EL9 and SE4-EL9 are EL9 sites.
Assume we have two replicas for each input file and they always cover EL7 and EL9 sites.
files = {'LFN1': ['SE1-EL7', 'SE3-EL9'],
'LFN2': ['SE1-EL7', 'SE3-EL9'],
'LFN3': ['SE1-EL7', 'SE3-EL9'],
'LFN4': ['SE2-EL7', 'SE3-EL9'],
'LFN5': ['SE2-EL7', 'SE3-EL9'],
'LFN6': ['SE1-EL7', 'SE4-EL9'],
'LFN7': ['SE1-EL7', 'SE4-EL9'],
'LFN8': ['SE2-EL7', 'SE4-EL9'],
'LFN9': ['SE2-EL7', 'SE4-EL9'],
}
groupByReplicas() returns following tasks under GroupSize=3
SE3-EL9,SE1-EL7 ['LFN1', 'LFN2', 'LFN3']
SE2-EL7 ['LFN4', 'LFN5', 'LFN8']
SE4-EL9 ['LFN6', 'LFN7', 'LFN9']
Important thing is this workflow is independent from user's JDL.
In our use case, user (production requester) could prefer EL7 or EL9, then apply Tags="EL7" or "EL9" in their JDL.
Matcher can assign 1st job to both EL7 and EL9 sites even if Tags are specified (in my understanding), while the second job gets stuck if job requires EL9.
Same thing happens for the third job.
So ideally
Under Tags=['EL7']
SE1-EL7 ['LFN1', 'LFN2', 'LFN3']
SE2-EL7 ['LFN4', 'LFN5', 'LFN8']
Or, under Tags=['EL9']
SE3-EL9 ['LFN1', 'LFN2', 'LFN3']
SE4-EL9 ['LFN6', 'LFN7', 'LFN8']
(the other files could be processed by Flush)
Do you think if it is feesible? (including development for TS)
Or do we have other way to avoid such dead lock?
Beta Was this translation helpful? Give feedback.
All reactions