CMS would like to keep minimum idle glideins on a highly available site at all times irrespective of jobs in the queue
For certain large sites, CMS would like to keep idle glideins on all the time so that new jobs can start running right away. Investigate if this can be done using relative to the queue if not find/implement a mechanism to achieve this.
#6 Updated by Parag Mhashilkar about 4 years ago
- Assignee changed from Parag Mhashilkar to Marco Mascheroni
You are correctly changing the compute_glidein_min_idle() and compute_glidein_max_running() However, the changes wont give you the results you want.
- You are computing min_idle based on <idle_glideins_per_entry max="100" reserve="5" /> Whereas what you really want is to only consider reserve from <running_glideins_per_entry max="2000" relative_to_queue="1.15" reserve="10"/>
- If someone accidentally fat-fingers reserve in either of the above tags to be a really big number, all of a sudden you could have frontend requesting a large number of glideins without requesting any limits. You may want to consider running-reserve as if there are these many idle jobs in the queue.
I am thinking along the following lines
- If count_status[Total] or count_status[idle] (or maybe effective_idle ?? -- need more though here) is less than running-reserve, adjust these counts and consider the adjusted values accordingly. This way you will always go through the process of applying thresholds.
- self.reserve_idle has a different semantics and should not be used. What you want is, glideins are running at the site and not just sitting and accounted towards idle count.