<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing with OASIS Tables v3.0 20080202//EN" "https://jats.nlm.nih.gov/nlm-dtd/publishing/3.0/journalpub-oasis3.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:oasis="http://docs.oasis-open.org/ns/oasis-exchange/table" xml:lang="en" dtd-version="3.0" article-type="research-article">
  <front>
    <journal-meta><journal-id journal-id-type="publisher">GMD</journal-id><journal-title-group>
    <journal-title>Geoscientific Model Development</journal-title>
    <abbrev-journal-title abbrev-type="publisher">GMD</abbrev-journal-title><abbrev-journal-title abbrev-type="nlm-ta">Geosci. Model Dev.</abbrev-journal-title>
  </journal-title-group><issn pub-type="epub">1991-9603</issn><publisher>
    <publisher-name>Copernicus Publications</publisher-name>
    <publisher-loc>Göttingen, Germany</publisher-loc>
  </publisher></journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.5194/gmd-18-9709-2025</article-id><title-group><article-title>Evaluating the impact of task aggregation in workflows with shared resource environments: use case for the MONARCH application</article-title><alt-title>Evaluating the impact of task aggregation in workflows</alt-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes" rid="aff1 aff2">
          <name><surname>Marciani</surname><given-names>Manuel G.</given-names></name>
          <email>manuel.gimenez@bsc.es</email>
        <ext-link>https://orcid.org/0000-0002-9852-3322</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Castrillo</surname><given-names>Miguel</given-names></name>
          
        <ext-link>https://orcid.org/0000-0003-1826-623X</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2 aff1">
          <name><surname>Utrera</surname><given-names>Gladys</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="yes" rid="aff1">
          <name><surname>Acosta</surname><given-names>Mario C.</given-names></name>
          <email>mario.acosta@bsc.es</email>
        <ext-link>https://orcid.org/0000-0001-7054-8168</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Kinoshita</surname><given-names>Bruno P.</given-names></name>
          
        <ext-link>https://orcid.org/0000-0001-8250-4074</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1 aff3">
          <name><surname>Doblas-Reyes</surname><given-names>Francisco</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-6622-4280</ext-link></contrib>
        <aff id="aff1"><label>1</label><institution>Barcelona Supercomputing Center (BSC), Plaça Eusebi Güell, 1–3, Barcelona, Spain</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>Universitat Politècnica de Catalunya (UPC), Carrer Jordi Girona, 1–3, Barcelona, Spain</institution>
        </aff>
        <aff id="aff3"><label>3</label><institution>Institució Catalana de Recerca i Estudis Avançats (ICREA), Barcelona, Spain</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Manuel G. Marciani (manuel.gimenez@bsc.es) and Mario C. Acosta (mario.acosta@bsc.es)</corresp></author-notes><pub-date><day>5</day><month>December</month><year>2025</year></pub-date>
      
      <volume>18</volume>
      <issue>23</issue>
      <fpage>9709</fpage><lpage>9721</lpage>
      <history>
        <date date-type="received"><day>7</day><month>March</month><year>2025</year></date>
           <date date-type="rev-request"><day>20</day><month>May</month><year>2025</year></date>
           <date date-type="rev-recd"><day>29</day><month>August</month><year>2025</year></date>
           <date date-type="accepted"><day>3</day><month>November</month><year>2025</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2025 Manuel G. Marciani et al.</copyright-statement>
        <copyright-year>2025</copyright-year>
      <license license-type="open-access"><license-p>This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this licence, visit <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link></license-p></license></permissions><self-uri xlink:href="https://gmd.copernicus.org/articles/18/9709/2025/gmd-18-9709-2025.html">This article is available from https://gmd.copernicus.org/articles/18/9709/2025/gmd-18-9709-2025.html</self-uri><self-uri xlink:href="https://gmd.copernicus.org/articles/18/9709/2025/gmd-18-9709-2025.pdf">The full text article is available as a PDF file from https://gmd.copernicus.org/articles/18/9709/2025/gmd-18-9709-2025.pdf</self-uri>
      <abstract><title>Abstract</title>

      <p id="d2e142">High Performance Computing (HPC) is commonly employed to run high-impact Earth System Model (ESM) simulations, such as those for climate change. However, running workflows of ESM simulations on cutting-edge platforms can take a long time due to the congestion of the system and the lack of coordination between current HPC schedulers and workflow manager systems (WfMS). The Earth Sciences community has estimated the time in queue to be between 10 % to 20 % of the runtime in climate prediction experiments, the most time-consuming exercise. To address this issue, the developers of Autosubmit, a WfMS tailored for climate and air quality sciences, have developed wrappers to submit multiple subsequent workflow tasks – the indivisible unit of compute as defined by the workflow – in a single remote job, without altering any of the tasks. However, although wrappers are widely used in production for community models such as EC-Earth3, MONARCH, and Destination Earth simulations, to our knowledge, the benefits and potential drawbacks have never been rigorously evaluated. Later, the developers of Autosubmit noticed that the impact of using wrappers was related to the past utilization of the user and its group, which the popular scheduler Slurm uses to compute the priority of the queueing jobs. In Slurm's methodology, this past utilization is quantified in the fair share factor. The objective of this paper is to quantify the impact of wrapping subsequent tasks on queue time and understand its relationship with the fair share and the job's CPU and runtime request. To do this, we used a Slurm simulator to reproduce the behavior of the scheduler and, to recreate a representative usage of an HPC platform, we generated synthetic static workloads from data of the LUMI supercomputer and a dynamic workload from a past flagship HPC platform. As an example, we introduced jobs modeled after the MONARCH air quality application in these workloads, and we tracked their queue time. We found that, by simply joining tasks, the total time-to-solution of the simulation reduces up to 7 % with respect to the runtime of the simulations, and we believe that this value is larger the longer the workflow, since longer wrappers could be created and hence less jobs are submitted to the scheduler. This saving translates to absolute terms of about eight days less wasted in queue time for half of the simulations from the IS-ENES3 consortium of CMIP6 simulations. We also identified in the static experiments a high inverse correlation of <inline-formula><mml:math id="M1" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.87</mml:mn></mml:mrow></mml:math></inline-formula>, between the queue time and the fair share factor.</p>
  </abstract>
    
<funding-group>
<award-group id="gs1">
<funding-source>Ministerio de Ciencia e Innovación</funding-source>
<award-id>CEX2021-001148-S-20-5</award-id>
</award-group>
<award-group id="gs2">
<funding-source>Consejo Superior de Investigaciones Científicas</funding-source>
<award-id>PID2020-116324RA-I00</award-id>
</award-group>
</funding-group>
</article-meta>
  </front>
<body>
      

<sec id="Ch1.S1" sec-type="intro">
  <label>1</label><title>Introduction</title>
      <p id="d2e164">High-impact Earth System Model (ESM) simulations are normally executed in cutting-edge High Performance Computing (HPC) resources. In these environments, they typically entail several steps, including model compilation, data movement, model execution, and post-processing. Furthermore, the execution of the model is often divided into multiple segments, which we refer to as “chunks” of simulated time, which is done to provide natural checkpoints for the simulations and to comply with maximum execution time constraints imposed by the system administrators (i.e., the wallclock). This results in workflows of up to thousands of individual tasks – the workflow's indivisible unit of compute –, as is the case with Destination Earth digital twin's <xref ref-type="bibr" rid="bib1.bibx8" id="paren.1"/>. To handle all of this complexity, ESM simulations are automated with workflows.</p>
      <p id="d2e170">Given the high cost associated with running such simulations, the Earth Sciences community has always been looking for ways of reducing the time-to-solution, which is the total time spanning from the first submission to the finish of the latest. The traditional front is to minimize the execution time of the most computationally intensive code within the model, such as the work of <xref ref-type="bibr" rid="bib1.bibx10" id="text.2"/>.</p>
      <p id="d2e176">However, lately the community has drawn attention to the efficiency of the simulations, taking into account not only the runtime of the simulation but also the time spent with the postprocessing, failures, and in the queue. With this in mind, <xref ref-type="bibr" rid="bib1.bibx2" id="text.3"/> proposed a set of performance metrics for Earth system model simulations. Among these metrics, the authors proposed the simulated years per day (SYPD), which is the ratio of the time simulated in years with respect to the runtime of the simulation in days, as well as the actual simulated years per day (ASYPD), which is the simulated time in years divided by the time-to-solution of the simulation, therefore also accounting for time in queue and failures.</p>
      <p id="d2e182">In <xref ref-type="bibr" rid="bib1.bibx1" id="text.4"/>, the authors computed these metrics for 33 CMIP6 simulations executed on 14 machines. Their analysis showed that the difference between ASYPD and SYPD ranged from 0 % to 78 %. But, they noted that not all institutions reported ASYPD consistently. Some accounted for both interruptions and queue time, while others accounted only for queue time. For those institutions that only accounted for queue time, the spread was between 10 % and 20 %. The authors therefore concluded “that queuing time represents an increment of around 10 %–20 % of the speed of the ESM”.</p>
      <p id="d2e189">The software that handles the queue of resource requests in HPC platforms is called workload manager, or scheduler. We call each resource request a job. The development of schedulers is an active area of research within the HPC scheduler community, focusing on optimizing job scheduling policies to minimize queue time, while keeping a high utilization of the machine <xref ref-type="bibr" rid="bib1.bibx3" id="paren.5"/>. Some examples of these policies are: first-come, first-served, least processing time, and priority-based. This last one is called <italic>multifactor</italic> in the ubiquitous Slurm workload manager <xref ref-type="bibr" rid="bib1.bibx12" id="paren.6"/>.</p>
      <p id="d2e201">In Slurm, under the multifactor policy, jobs are ordered decreasingly by an integer called “priority”, which is computed from “factors” that come from the job request (“size”, “partition”, “QoS”), time in queue (“age”), and the user's “fair share”. The purpose of this last factor, which is typically prioritized by system administrators, is to balance the responsiveness of the machine by favoring users who have not used their quota of the resources while penalizing those who overuse the machine. Besides the job's priority, Slurm also aims to maximize system utilization by implementing a technique called backfill <xref ref-type="bibr" rid="bib1.bibx33" id="paren.7"/>. This technique allows jobs with less priority to use free spots in the machine, as long as they do not interfere with the jobs ahead of them.</p>
      <p id="d2e207">Observing the impact of fair share on the priority, the developers of Autosubmit <xref ref-type="bibr" rid="bib1.bibx16" id="paren.8"/>, a Workflow Manager System (WfMS) designed for climate and air-quality applications, have implemented a task aggregation technique called “wrappers”. The idea is that Autosubmit aggregates, or wraps, multiple subsequent tasks into a single job submission to save the users from queuing multiple jobs under a low priority. No changes are done to the tasks, therefore the natural checkpointing is still maintained, and the dependencies are ensured among the tasks. Additionally, wrapping is also employed for concurrent tasks in order to comply with the maximum number of jobs in the queue.</p>
      <p id="d2e213">Aggregation was implemented in other fields, with different degrees of sophistication. In Earth Sciences, <xref ref-type="bibr" rid="bib1.bibx27" id="text.9"/> suggested using Cylc's feature to submit multiple jobs to reduce the queue time. Both Aiida <xref ref-type="bibr" rid="bib1.bibx9" id="paren.10"/> and Snakemake <xref ref-type="bibr" rid="bib1.bibx28" id="paren.11"/> – from the material and life sciences fields, respectively – provide a way of submitting multiple workflow tasks as a single job. The former implements this via a “metascheduler” plugin (HyperQueue plugin), while the latter refers to aggregation as “grouping”.</p>
      <p id="d2e225">Moreover, pilot-job systems were developed to increase workflow throughput with more sophisticated solutions <xref ref-type="bibr" rid="bib1.bibx35" id="paren.12"/>. These systems are characterized by implementing “resource placeholders, multi-level scheduling, and coordination patterns to enable task-level distribution and parallelism on multi-tenant resources”. One major example of a modern pilot-job system is Radical-PILOT <xref ref-type="bibr" rid="bib1.bibx26" id="paren.13"/>.</p>
      <p id="d2e234">Wrappers share some of the features of a typical pilot-job system. Wrappers provide a simpler “resource placeholder”, where all the task requests are added into a large submission. However, their objective is to either increase throughput by reducing submissions or to comply with maximum job restrictions. Therefore, besides fault tolerance, wrappers do not improve task scheduling and coordination within the allocation.</p>
      <p id="d2e238">Currently, in our field, wrappers are used to reduce the queue time in the MONARCH <xref ref-type="bibr" rid="bib1.bibx14" id="paren.14"/> application, in the climate model EC-Earth3 <xref ref-type="bibr" rid="bib1.bibx6" id="paren.15"/>. They are also employed in the Destination Earth digital twin, to both reduce queue time and to comply with the platforms' policy regarding maximum jobs queuing per user.</p>
      <p id="d2e247">Although aggregation is utilized by Autosubmit users and also in other fields, with positive impact reported, there is a lack of understanding of the reasons and conditions under which aggregating reduces queue time. Therefore, in this work, we tested whether wrapping subsequent tasks together reduces queue time and if the fair share is the most important factor in reducing queue time.</p>
      <p id="d2e250">To test both theses, we measured queue time by simulating the HPC environment using a Slurm simulator <xref ref-type="bibr" rid="bib1.bibx13" id="paren.16"/>. We modeled a congested workload of an HPC platform and use the workflow of the MONARCH air-quality application. Then, we ran under the same conditions a simulation with wrappers and without.</p>
      <p id="d2e256">We found that combining tasks into one submission reduces the queue time by at most 7 % of the total workflow runtime, and we observe gains across all the tested fair share values. Moreover, this reduction can be greater for longer workflows due to the many times less tasks being submitted. In the context of the CMIP6 runs of the IS-ENES3, this reduction equates to at least eight fewer days of queue time for half of the runs. Additionally, we found a high inverse correlation of <inline-formula><mml:math id="M2" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.87</mml:mn></mml:mrow></mml:math></inline-formula> between the fair share factor and time in the queue.</p>
      <p id="d2e269">Our study provides a quantification of the reduction of queue time achieved by aggregating tasks of air quality applications that use HPC resources on congested platforms. This approach can also be applied to other simulations with temporal constraints that require a large amount of resources for a sustained time. Our results help to advance the understanding, from the user side, of how to optimize the submission in order to reduce the total queue time of their workflows.</p>
      <p id="d2e272">This paper is organized as follows: the background (Sect. <xref ref-type="sec" rid="Ch1.S2"/>) defines wrapping and introduces major points of the scheduling policy of Slurm. The methodology (Sect. <xref ref-type="sec" rid="Ch1.S3"/>) provides a detailed explanation of the experimentation. This includes how we introduce the workflow onto the workload files, how we control the fair share, and the software we used and implemented to run the simulations. The results section (Sect. <xref ref-type="sec" rid="Ch1.S4"/>) exposes the output of the experiments. This leads to the discussion (Sect. <xref ref-type="sec" rid="Ch1.S5"/>) chapter, where we comment our findings and the relation between fair share and queue time. Finally, in the conclusions, we evaluate if our findings support our theses.</p>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Background</title>
      <p id="d2e291">In this section, we start with an overview on Slurm's scheduling in Sect. <xref ref-type="sec" rid="Ch1.S2.SS1"/> because of its wide adoption across HPC platforms. Then, we explain why and how wrappers are used in Sect. <xref ref-type="sec" rid="Ch1.S2.SS3"/>.</p>
<sec id="Ch1.S2.SS1">
  <label>2.1</label><title>Scheduling algorithms of Slurm</title>
      <p id="d2e305">When a job is submitted, Slurm immediately attempts to allocate resources to it. If no resources are available, the job will be placed in the queue. This queue is sorted in descending order according to the priority integer, which updates periodically.</p>
      <p id="d2e308">Slurm's scheduling design consists of two coordinated algorithms that traverse the ordered list of queued jobs and attempt to allocate resources to them. The main algorithm tries to schedule as many jobs as possible from the queue. If it fails because of a lack of resources, it breaks the loop and sleeps. There are two options for the second algorithm: built-in and backfill. The first option works like the main algorithm. The second option is the backfill algorithm <xref ref-type="bibr" rid="bib1.bibx33" id="paren.17"/>.</p>
      <p id="d2e314">The backfill algorithm is an optimization technique that allows jobs with lower priority to be scheduled before higher-priority jobs, as long as they do not interfere with the start time of the higher-priority jobs. Therefore, the smaller the job is in terms of wallclock and/or CPUs requested, the more likely it is to be backfilled. Without considering the effects of the backfill algorithm, jobs with higher priority are scheduled earlier.</p>
      <p id="d2e317">Slurm uses the multifactor policy by default to compute the priority integer. In Slurm terminology, factors are always floats stored in double-precision between zero and one. The priority of the job is computed as a weighted sum of the following factors: age, size, association, fair share, and quality of service (QoS). A 32-bit encoded integer weight is associated with each of these values.</p>
      <p id="d2e321">The age factor, which is the one related to the time in queue, starts at zero and linearly grows until reaching the maximum, which is configured by setting the flag <italic>PriorityMaxAge</italic> in the Slurm configuration file. The default is seven days. In Eq. (<xref ref-type="disp-formula" rid="Ch1.E1"/>) we have the expression used to compute the factor where <inline-formula><mml:math id="M3" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> is the time elapsed from submission, discounted by the time voluntarily held by user and waiting for its dependencies to finish, and <inline-formula><mml:math id="M4" display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> is the total amount of seconds set by the administrator with flag <italic>PriorityMaxAge</italic>.

            <disp-formula id="Ch1.E1" content-type="numbered"><label>1</label><mml:math id="M5" display="block"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mfenced close="" open="{"><mml:mtable class="array" columnalign="left left"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi>t</mml:mi><mml:mi>T</mml:mi></mml:mfrac></mml:mstyle></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>t</mml:mi><mml:mo>≤</mml:mo><mml:mi>T</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>t</mml:mi><mml:mo>≥</mml:mo><mml:mi>T</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:math></disp-formula>

          By default, the size factor is the proportion of CPUs used by the job with respect to the total available. Therefore, when the whole machine is requested, the maximum is reached. System administrators can invert this by setting the flag <italic>PriorityFavorSmall</italic> to true, which would give job requesting a single CPU the maximum value.</p>
      <p id="d2e406">The size factor is computed as in Eq. (<xref ref-type="disp-formula" rid="Ch1.E2"/>), where <inline-formula><mml:math id="M6" display="inline"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the number of CPUs requested by job <inline-formula><mml:math id="M7" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M8" display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula> is the total number of CPUs on the machine.

            <disp-formula id="Ch1.E2" content-type="numbered"><label>2</label><mml:math id="M9" display="block"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mi>S</mml:mi></mml:mfrac></mml:mstyle><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mi mathvariant="normal">or</mml:mi><mml:mspace width="0.25em" linebreak="nobreak"/><mml:msub><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi>S</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>S</mml:mi></mml:mfrac></mml:mstyle></mml:mrow></mml:math></disp-formula>

          QoS stands for quality of service. It normally used by system administrators to benefit smaller jobs (such as debugging jobs), since by default Slurm gives more priority to larger jobs. From the user side, this means higher priority upon submission, hence less waiting time, at the cost of a more constrained job submission. System administrators typically create different QoSs according to job length and size – for example, standard, debug, xlarge, and xlong.</p>
      <p id="d2e488">Each QoS is configured with an associated priority, which is another integer value. Then the factor is computed as the proportion with respect to the largest priority of all QoSs. Therefore, if the job <inline-formula><mml:math id="M10" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula> is submitted to QoS <inline-formula><mml:math id="M11" display="inline"><mml:mi>u</mml:mi></mml:math></inline-formula> with priority <inline-formula><mml:math id="M12" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>u</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, its QoS factor is calculated according to Eq. (<xref ref-type="disp-formula" rid="Ch1.E3"/>), where <inline-formula><mml:math id="M13" display="inline"><mml:mi>Q</mml:mi></mml:math></inline-formula> is the set of the priorities of all QoSs configured by the system administrator.

            <disp-formula id="Ch1.E3" content-type="numbered"><label>3</label><mml:math id="M14" display="block"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>u</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi mathvariant="normal">max</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mo>∈</mml:mo><mml:mi>Q</mml:mi></mml:mrow></mml:msub><mml:mi>q</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></disp-formula>

          The fair share factor is the one that aims to balance the resources among users. It is computed in two different ways, which will be addressed in its separate Sect. <xref ref-type="sec" rid="Ch1.S2.SS2"/>.</p>
      <p id="d2e563">Finally, the job's priority is computed according to Eq. (<xref ref-type="disp-formula" rid="Ch1.E4"/>). <inline-formula><mml:math id="M15" display="inline"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> the priority of job <inline-formula><mml:math id="M16" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula>'s at time <inline-formula><mml:math id="M17" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>. <inline-formula><mml:math id="M18" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the age factor and <inline-formula><mml:math id="M19" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">a</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is its weight, <inline-formula><mml:math id="M20" display="inline"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the size factor and <inline-formula><mml:math id="M21" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> its weight, <inline-formula><mml:math id="M22" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the fair share of the user that submitted job <inline-formula><mml:math id="M23" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M24" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the fair share weight, and finally <inline-formula><mml:math id="M25" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M26" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">q</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are the QoS factor and its weight.

            <disp-formula id="Ch1.E4" content-type="numbered"><label>4</label><mml:math id="M27" display="block"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>⋅</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">a</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>⋅</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>⋅</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">q</mml:mi></mml:msub></mml:mrow></mml:math></disp-formula></p>
</sec>
<sec id="Ch1.S2.SS2">
  <label>2.2</label><title>Fair share factor</title>
      <p id="d2e781">The fair share factor is the quantification of a user's right to the machine, which is used to balance the responsiveness of the machine among all users according to their entitlement to it.</p>
      <p id="d2e784">There are two ways to calculate the fair share factor: the <italic>Classic</italic> method and the <italic>Fair Tree</italic> method <xref ref-type="bibr" rid="bib1.bibx30" id="paren.18"/>. We will focus on the Fair Tree method because it is the one used by default.</p>
      <p id="d2e796">In the Fair Tree algorithm, users are associated with an account, which is typically created for each project. Accounts can also be associated to an account. Both users and accounts are given an integer value called <italic>RawShare</italic>, usually related to their budget for the machine. Then, the usage of both user and account is tracked via the <italic>RawUsage</italic> integer. Normally, the <italic>RawUsage</italic> is the cores per seconds utilization of the user or account. Succinctly, this algorithm does a depth-first traversal of the tree of users and accounts, ordering decreasingly the users or accounts of each account by the quotient of their <italic>RawShare</italic> and <italic>RawUsage</italic>. It then evaluates if it is an account or a user. If it is an account, it does a recursive call on it. If it is a user, it assigns the fair share and returns.</p>
      <p id="d2e814">The fair share is assigned by taking into account the total number of users, <inline-formula><mml:math id="M28" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula>, and the position in which the user was evaluated, <inline-formula><mml:math id="M29" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula>. The computation is just <inline-formula><mml:math id="M30" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mi>N</mml:mi><mml:mo>-</mml:mo><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:mfrac></mml:mstyle></mml:math></inline-formula>, which means that the lower bound, that is, the worst fair share possible, is <inline-formula><mml:math id="M31" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mi>N</mml:mi></mml:mfrac></mml:mstyle></mml:math></inline-formula>, when <inline-formula><mml:math id="M32" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mi>N</mml:mi></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e875">This method is meant to have shared accountability of the users for their entitlement to the machine. For example, if there are two sibling accounts, A and B, and A has a higher level fair share than B, then all users and accounts under A will have a higher fair share than B. So users are impacted not only by their own usage, but also the sum of their peers' usage.</p>
</sec>
<sec id="Ch1.S2.SS3">
  <label>2.3</label><title>Wrappers</title>
      <p id="d2e887">In a shared HPC environment, queuing for resources is ever so frequent <xref ref-type="bibr" rid="bib1.bibx29" id="paren.19"/>, and users have a limited impact on the priority of their jobs given the importance of fair share.</p>
      <p id="d2e893">To reduce the time-to-solution of an Earth System Model (ESM) simulation workflow, the Autosubmit developers came up with a technique called task aggregation or wrapping. Their idea was to increase throughput by avoiding queuing subsequent tasks. For this reason they implemented vertical wrappers, which append workflow tasks into a longer submission.</p>
      <p id="d2e896">In addition to vertical wrappers, horizontal wrappers were developed to comply with the platform's policy regarding the maximum number of jobs in the queue.</p>
      <p id="d2e899">Finally, there is also the combination of the two types: vertical-horizontal and horizontal-vertical. A vertical-horizontal is made of multiple vertical wrappers running concurrently. Similarly, the horizontal-vertical is a single job made of multiple subsequent horizontal wrappers.</p>
      <p id="d2e903">In all wrapper types, the dependencies among the tasks are respected and the underlying application task is not altered by their employment. Tasks are just submitted together to the remote platform. Therefore, all steps normally performed, such as saving the restart conditions (or checkpointing), are still executed. Moreover, if a task fails within the aggregated job, Autosubmit will relaunch the failed task without the need of a new job submission.</p>
      <p id="d2e906">In this work, we will focus on vertical wrappers, as they are the proposed solution for the long queue times.</p>
</sec>
</sec>
<sec id="Ch1.S3">
  <label>3</label><title>Methods</title>
      <p id="d2e918">In this section, we explain the methodology employed in this study. First, in Sect. <xref ref-type="sec" rid="Ch1.S3.SS1"/>, we provide a description of the HPC platforms we simulate and the hardware we used to run the simulations. Then we give an overview of the simulator in Sect. <xref ref-type="sec" rid="Ch1.S3.SS2"/>. We cover the scheduling policy utilized in our experimentation in Sect. <xref ref-type="sec" rid="Ch1.S3.SS3"/>. In Sect. <xref ref-type="sec" rid="Ch1.S3.SS4"/>, we explain how we carried out simulations with synthetic static workloads modeled after the <xref ref-type="bibr" rid="bib1.bibx15" id="paren.20"/> supercomputer to address the modern job demands. In Sect. <xref ref-type="sec" rid="Ch1.S3.SS5"/>, we ran a dynamic simulation utilizing a real workload from a long decommissioned system to have a representative daily usage pattern. Finally, for modeling the workflow, we use the allocated CPUs and runtime of the job running the Nonhydrostatic Multiscale Model on the B-grid (NMMB) within the MONARCH application <xref ref-type="bibr" rid="bib1.bibx14" id="paren.21"/>.</p>
      <p id="d2e938">We perform a two-fold experimentation because we wanted to capture both a representative daily usage pattern (arrival times) and modern HPC job demands (requested CPUs, wallclock, user, and group identification).</p>
<sec id="Ch1.S3.SS1">
  <label>3.1</label><title>HPC platforms and execution framework</title>
      <p id="d2e949">We wanted to model a large, shared, and general-purpose scientific machine. For that, we gathered data from the Large Unified Modern Infrastructure (LUMI) supercomputer <xref ref-type="bibr" rid="bib1.bibx15" id="paren.22"/> operated by the EuroHPC and the Finnish Center for Science (CSC). This is a flagship, modern, highly utilized, and scientific platform, within the top five machines according to the TOP500 list <xref ref-type="bibr" rid="bib1.bibx34" id="paren.23"/>. Also, given the sheer quantity of HPC resources, it is the center pillar for many European projects, such as Destination Earth <xref ref-type="bibr" rid="bib1.bibx8" id="paren.24"/>. We used this data to build synthetic workloads because we are confident that the job geometry (allocated CPUs and runtime) is representative.</p>
      <p id="d2e961">For the dynamic workloads, we utilized the workload from the decommissioned Curie machine, which was operated by the <italic>Commissariat a l'Energie Atomic</italic>, available in <xref ref-type="bibr" rid="bib1.bibx7" id="text.25"/> online repository.</p>
      <p id="d2e970">Regarding the execution framework of this work, all simulations were carried out using our laptop computer, with an Intel i5-1135G7 and 16 GB of RAM.</p>
</sec>
<sec id="Ch1.S3.SS2">
  <label>3.2</label><title>Slurm simulator</title>
      <p id="d2e982">We employed the BSC Slurm simulator <xref ref-type="bibr" rid="bib1.bibx13" id="paren.26"/> to recreate the scheduler behavior. This simulator is made of the same executables that make up Slurm, with only minimal changes to control the pace of time and the input data.</p>
      <p id="d2e988">We implemented a prologue to the original run script <xref ref-type="bibr" rid="bib1.bibx18" id="paren.27"/> to use Slurm's account manager tool, <italic>sacctmgr</italic>, to include users and accounts, which were determined from the input workload file and configured before running the simulation. All users and accounts were given the same entitlement to the machine, in other words, the same <italic>RawShares</italic> value.</p>
      <p id="d2e1000">Since the usage impacts the fair share value <xref ref-type="bibr" rid="bib1.bibx30" id="paren.28"/>, it was important for us to ensure that all users have nil registered before the simulation. So we developed a Docker <xref ref-type="bibr" rid="bib1.bibx25" id="paren.29"/> image <xref ref-type="bibr" rid="bib1.bibx19" id="paren.30"/> that ensures that the environment is clean, on top of being lightweight compared with using a virtual machine.</p>
      <p id="d2e1012">Finally, the simulator outputs a list of all the jobs that it processed, with the submit, start, end, and priority upon finish.</p>
</sec>
<sec id="Ch1.S3.SS3">
  <label>3.3</label><title>Slurm configuration</title>
      <p id="d2e1023">In all of our experiments, we used MareNostrum 4's <xref ref-type="bibr" rid="bib1.bibx4" id="paren.31"/> scheduling configuration and priority weights, which are included in our repository <xref ref-type="bibr" rid="bib1.bibx18" id="paren.32"/>. The scheduling configurations are specified in Table <xref ref-type="table" rid="T1"/>, where those configurations starting with “bf” apply to the backfill algorithm.</p>

<table-wrap id="T1"><label>Table 1</label><caption><p id="d2e1037">Main and backfill scheduler configuration <xref ref-type="bibr" rid="bib1.bibx31" id="paren.33"/>. Configurations starting with “bf” apply to the backfill algorithm. These are used in MareNostrum 4, and we use them in all of our experiments.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="2">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Option</oasis:entry>
         <oasis:entry colname="col2">Value</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">default_queue_depth</oasis:entry>
         <oasis:entry colname="col2">10 000 jobs</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">defer</oasis:entry>
         <oasis:entry colname="col2">True</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">sched_interval</oasis:entry>
         <oasis:entry colname="col2">60 s</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">bf_interval</oasis:entry>
         <oasis:entry colname="col2">60 s</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">bf_max_time</oasis:entry>
         <oasis:entry colname="col2">30 s</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">bf_resolution</oasis:entry>
         <oasis:entry colname="col2">1800 s</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">bf_window</oasis:entry>
         <oasis:entry colname="col2">10 080 min</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">bf_continue</oasis:entry>
         <oasis:entry colname="col2">True</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">PriorityMaxAge</oasis:entry>
         <oasis:entry colname="col2">10 d</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e1149">This policy uses the <italic>multifactors</italic> policy <xref ref-type="bibr" rid="bib1.bibx32" id="paren.34"/>, where the fair share and age factor weights are 100 000 and the size factor is 10 000. The fair share factor is computed with the <italic>Fair Tree</italic> algorithm and with <italic>backfill</italic> as the secondary scheduler. We only adapted the total number of physical cores available for each platform we model: 360 448 for LUMI and 93 312 for CEA-Curie.</p>
      <p id="d2e1166">We chose this system's policy because it is from a large and general-purpose machine, besides it provided HPC resources to many groups across Spain and Europe, making it a highly demanded system.</p>
</sec>
<sec id="Ch1.S3.SS4">
  <label>3.4</label><title>Static workloads</title>
      <p id="d2e1177">Static workloads are those where all jobs in the description are submitted at the same time. We made this decision to simplify the modeling, since we disregard the complex modeling of the arrival time <xref ref-type="bibr" rid="bib1.bibx5" id="paren.35"/>. We chose the number of jobs to be generated so that we stress the system but still within plausible bounds. This methodology was also employed by <xref ref-type="bibr" rid="bib1.bibx11" id="text.36"/> to recreate a HPC environment for performance analysis of their IO optimization technique.</p>
      <p id="d2e1186">With this workload, we are unable to send workflow tasks with dependencies because of its single-submission design. Instead, we are interested in understanding how the different factors from the scheduling play a role in the queue time. So we take a single workflow task, and we vary its request, that is, its allocated CPUs, runtime, and the user's fair share. Then we track its wait time in the queue.</p>
      <p id="d2e1189">In this section, we explain how we analyzed and fit distributions to data from the LUMI supercomputer <xref ref-type="bibr" rid="bib1.bibx15" id="paren.37"/>, in Sect. <xref ref-type="sec" rid="Ch1.S3.SS4.SSS1"/>, and we describe how we set up the experimentation in Sect. <xref ref-type="sec" rid="Ch1.S3.SS4.SSS2"/>.</p>
<sec id="Ch1.S3.SS4.SSS1">
  <label>3.4.1</label><title>Workload generator</title>
      <p id="d2e1206">We start by analyzing the data by computing the mean, standard deviation, minimum, maximum, and quartiles of the allocated CPUs, runtime, and core seconds in Table <xref ref-type="table" rid="T2"/>. We observed a large difference between the median and the mean, indicating a skewed distribution in all attributes. This means that the vast majority of jobs are small, but there are a few extremely large jobs, causing the average to rise. We generated workloads by fitting a log-normal distribution to both the runtime and the allocated CPUs to the observed distribution using a script we developed <xref ref-type="bibr" rid="bib1.bibx21" id="paren.38"/>. We achieved the following fitted values, in SciPy's nomenclature, for the allocated CPUs: <inline-formula><mml:math id="M33" display="inline"><mml:mrow><mml:mi mathvariant="normal">loc</mml:mi><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">9.8930</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M34" display="inline"><mml:mrow><mml:mi mathvariant="normal">scale</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.9930</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M35" display="inline"><mml:mrow><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.7195</mml:mn></mml:mrow></mml:math></inline-formula>; and, for the runtime: <inline-formula><mml:math id="M36" display="inline"><mml:mrow><mml:mi mathvariant="normal">loc</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">9.5007</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M37" display="inline"><mml:mrow><mml:mi mathvariant="normal">scale</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.6506</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M38" display="inline"><mml:mrow><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2.6766</mml:mn></mml:mrow></mml:math></inline-formula>; with a sum squared error of, <inline-formula><mml:math id="M39" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.5213</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">07</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M40" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.4533</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">09</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> respectively. In Figs. <xref ref-type="fig" rid="F1"/> and <xref ref-type="fig" rid="F2"/>, we have respectively the log allocated CPUs and log runtime cumulative distribution of the observed and generated data, in orange dashed line and blue solid, respectively.</p>

      <fig id="F1"><label>Figure 1</label><caption><p id="d2e1372">Cumulative distribution function of the log normal distribution for the allocated CPUs at LUMI. The orange dashed line is the log observed cumulative allocated CPUs and the blue solid line is a random sample generated with the parameters <inline-formula><mml:math id="M41" display="inline"><mml:mrow><mml:mi mathvariant="normal">loc</mml:mi><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">9.8930</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M42" display="inline"><mml:mrow><mml:mi mathvariant="normal">scale</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.9930</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M43" display="inline"><mml:mrow><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.7195</mml:mn></mml:mrow></mml:math></inline-formula>.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/18/9709/2025/gmd-18-9709-2025-f01.png"/>

          </fig>

      <fig id="F2"><label>Figure 2</label><caption><p id="d2e1441">Cumulative distribution function of the log normal distribution for the runtime at LUMI. The orange dashed line is the observed cumulative log runtime of jobs, with runtime different than 0, and the blue solid line is the cumulative distribution of a random sample generated with the parameters <inline-formula><mml:math id="M44" display="inline"><mml:mrow><mml:mi mathvariant="normal">loc</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">9.5007</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M45" display="inline"><mml:mrow><mml:mi mathvariant="normal">scale</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.6506</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M46" display="inline"><mml:mrow><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2.6766</mml:mn></mml:mrow></mml:math></inline-formula>.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/18/9709/2025/gmd-18-9709-2025-f02.png"/>

          </fig>

      <p id="d2e1507">Because the log normal distribution is unbounded, to generate the allocated CPUs we need to truncate it. Finally, for both the runtime and allocated CPUs the generated values were rounded to the nearest lower integer.</p>
      <p id="d2e1510">Once we generated the job's request, that is its runtime and allocated CPUs, we assigned it to one of the hundred users uniformly at random. We did the same for assigning users to accounts. If a task was attributed to a user without an account, we assigned it to one out of a hundred uniformly at random. We generated ten workloads to account for the variability of the job's characteristics. And we drew 1000 jobs for each workload because it provided a congested yet plausible scenario.</p>

<table-wrap id="T2"><label>Table 2</label><caption><p id="d2e1516">Number of allocated CPUs, runtime, and core seconds statistics on the dataset captured in LUMI. 25 % refers to the first quartile, 50 %, the median, and 75 %, the third quartile.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="4">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Statistic</oasis:entry>
         <oasis:entry colname="col2">CPUs</oasis:entry>
         <oasis:entry colname="col3">Runtime (s)</oasis:entry>
         <oasis:entry colname="col4">CPU <inline-formula><mml:math id="M47" display="inline"><mml:mo>⋅</mml:mo></mml:math></inline-formula> s</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Mean</oasis:entry>
         <oasis:entry colname="col2">774.2</oasis:entry>
         <oasis:entry colname="col3">3952.7</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M48" display="inline"><mml:mrow><mml:mn mathvariant="normal">3.4207</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">06</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Std</oasis:entry>
         <oasis:entry colname="col2">4493.4</oasis:entry>
         <oasis:entry colname="col3">19 617.9</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M49" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.3920</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">08</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Min</oasis:entry>
         <oasis:entry colname="col2">1</oasis:entry>
         <oasis:entry colname="col3">0</oasis:entry>
         <oasis:entry colname="col4">0</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">25 %</oasis:entry>
         <oasis:entry colname="col2">48</oasis:entry>
         <oasis:entry colname="col3">23</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M50" display="inline"><mml:mrow><mml:mn mathvariant="normal">3.5330</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">03</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">50 %</oasis:entry>
         <oasis:entry colname="col2">256</oasis:entry>
         <oasis:entry colname="col3">125</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M51" display="inline"><mml:mrow><mml:mn mathvariant="normal">3.9424</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">04</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">75 %</oasis:entry>
         <oasis:entry colname="col2">1024</oasis:entry>
         <oasis:entry colname="col3">902</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M52" display="inline"><mml:mrow><mml:mn mathvariant="normal">2.1504</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">05</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Max</oasis:entry>
         <oasis:entry colname="col2">325 120</oasis:entry>
         <oasis:entry colname="col3">4 604 100</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M53" display="inline"><mml:mrow><mml:mn mathvariant="normal">9.5056</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
<sec id="Ch1.S3.SS4.SSS2">
  <label>3.4.2</label><title>Experimental design</title>
      <p id="d2e1772">We added a single workflow task to the ten generated synthetic static workloads in order to track its queue time. With the goal of measuring the impact of the different wrapper configurations, we made the request of this single task be a multiple of 1800 s of runtime and 96 CPUs. We take these values from executions in MareNostrum 4 of the NMMB model of the MONARCH application <xref ref-type="bibr" rid="bib1.bibx14" id="paren.39"/>, simulating a single day in the reanalysis configuration.</p>
      <p id="d2e1778">In order to control the fair share, given that all the jobs of the workload are submitted at the same time, we preceded the simulation with a batch of “dummy” jobs so that all users have usage recorded. Otherwise, all users would have nil usage, therefore maximum fair share, and it would effectively remove the fair share from the scheduling. We set all the users “dummy” submission runtime to be proportional to the synthetically generated usage, except for the user employed with launching the workflow, for whom we chose its usage to control its fair share. This was done because we know that users have a recurrent pattern of utilization, as described by <xref ref-type="bibr" rid="bib1.bibx29" id="text.40"/>. Therefore, the introduction of dummy jobs made the fair share of the users coherent with respect to the synthetically generated usage.</p>
      <p id="d2e1784">We tested every combination of 1800, 3600, 7200, and 12 600 s of runtime and 96, 192, 384, 672, and 1152 CPUs. For the fair share of the user launching the workflow (Sect. <xref ref-type="sec" rid="Ch1.S2.SS2"/>), we tested 0.1, 0.2, 0.25, 0.3, 0.5, 0.7, 0.75, 0.8, and 0.9.</p>
</sec>
</sec>
<sec id="Ch1.S3.SS5">
  <label>3.5</label><title>Dynamic workload</title>
      <p id="d2e1798">Opposed to the static workloads, jobs are submitted at different times in dynamic workloads. This subsection explains how we set up the experiment for them. In Sect. <xref ref-type="sec" rid="Ch1.S3.SS5.SSS1"/> we cover the choice of workload, and in Sect. <xref ref-type="sec" rid="Ch1.S3.SS5.SSS2"/> we cover how we set up the experiment.</p>
<sec id="Ch1.S3.SS5.SSS1">
  <label>3.5.1</label><title>Workload choice</title>
      <p id="d2e1812">We used the CEA-Curie clean version 2 from <xref ref-type="bibr" rid="bib1.bibx7" id="text.41"/> repository, which only considers those jobs submitted after a major upgrade in the machine and removes those which were certainly badly logged, i.e., reported running for far too long. This dataset is one of the largest publicly available workloads for a machine following the criteria we want: a large general purpose shared scientific machine.</p>
      <p id="d2e1818">We explored the workload in search of periods of congestion, which accumulate normally on Thursdays and Fridays on this machine and last a few days. We selected one week of the trace, between 9 and 15 June 2012. The resulting workload file is found at the code snippet alongside with the script to add the workflow <xref ref-type="bibr" rid="bib1.bibx17" id="paren.42"/>.</p>
</sec>
<sec id="Ch1.S3.SS5.SSS2">
  <label>3.5.2</label><title>Experimental design</title>
      <p id="d2e1832">To test if wrappers improve the time-to-solution, we considered a seven chunk split execution of the MONARCH application, with the tasks requesting 96 CPUs and taking 1800 s to simulate a day in the reanalysis configuration, typical values of its execution in MareNostrum 4.</p>
      <p id="d2e1835">The simulator does not have support for dynamic submission times, i.e., only submit a constrained job when its dependency has finished, as it would be the case in real life with Autosubmit. Therefore, we had to specify the submission time on the workload file, prior to knowing when the tasks will be scheduled, and consequently finish.</p>
      <p id="d2e1838">Therefore, to minimize the waiting time of a constrained task from adding too much queue time, increasing its age factor, we defined its submission time as the instant its predecessor would have finished if it did not have any waiting time. That is, the second task is submitted 1800 s after the first one; the third, 3,600 seconds after the first one; and so on and so forth.</p>
      <p id="d2e1841">In order to control the fair share of the user executing the workflow, we measured the usage up until the submission instant of all users by executing the workload with no MONARCH tasks added to it. With this utilization, and taking into consideration that all accounts have the same entitlement to the resources, the fair share will be roughly one minus the percentile of the distribution of usage of the accounts. For instance, to have a fair share of 0.2 we need to match the utilization of the 80th percentile of the usage of the accounts.</p>
      <p id="d2e1845">We tested multiple fair share values: the worst, in this case is 0.01 – given the number of users in the machine (Sect. <xref ref-type="sec" rid="Ch1.S2.SS2"/>) –, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, and the best, which is 1.0.</p>
      <p id="d2e1850">Then we considered the unwrapped case, in which all the tasks are launched individually, and the wrapped case, where we created a single job adding the runtime of all of them. In the case, that meant a job of length 12 600 s and 96 CPUs.</p>
      <p id="d2e1853">We simulated both unwrapped and wrapped cases, at six different submission times: at 10, 15 and 20 of both Thursday 14th and Friday 15th. We did this to account for the variability in the utilization by the users because it is unknown and, therefore, random.</p>
      <p id="d2e1856">In Table <xref ref-type="table" rid="T3"/>, we label these submission instants and plot them in Fig. <xref ref-type="fig" rid="F3"/> as black vertical dashed lines along with the evolution of in-queue and in-use resources in orange dashed and in blue solid lines, respectively, from a simulation of the original trace with no workflow added to it. The dashed blue line is the total number of CPUs of the CEA-Curie machine. We observe two clear orange dashed peaks indicating the daily usage cycle and the blue solid line with a clear maximum, which is the total available CPUs. In all submission instants we observe jobs being queued.</p>

<table-wrap id="T3"><label>Table 3</label><caption><p id="d2e1866">Submission instants of the workflow and their corresponding label.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="2">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="center"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Label</oasis:entry>
         <oasis:entry colname="col2">Submission instant</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">A.1</oasis:entry>
         <oasis:entry colname="col2">14 June 2012 at 10</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">A.2</oasis:entry>
         <oasis:entry colname="col2">14 June 2012 at 15</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">A.3</oasis:entry>
         <oasis:entry colname="col2">14 June 2012 at 20</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">B.1</oasis:entry>
         <oasis:entry colname="col2">15 June 2012 at 10</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">B.2</oasis:entry>
         <oasis:entry colname="col2">15 June 2012 at 15</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">B.3</oasis:entry>
         <oasis:entry colname="col2">15 June 2012 at 20</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <fig id="F3"><label>Figure 3</label><caption><p id="d2e1951">Simulated usage, in blue solid, and in queue resources, in orange dashed lines, from the untouched CEA-Curie workload for the week from 9 to 15 June 2012. The vertical black dashed line indicates the instant of submissions with labels following Table <xref ref-type="table" rid="T3"/> and the blue dashed horizontal line is the total number of CPUs of the machine.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/18/9709/2025/gmd-18-9709-2025-f03.png"/>

          </fig>

</sec>
</sec>
</sec>
<sec id="Ch1.S4">
  <label>4</label><title>Results</title>
      <p id="d2e1972">In this section, we analyze the results of the runs of both types of experiments: the static workloads in Sect. <xref ref-type="sec" rid="Ch1.S4.SS1"/> and the dynamic workload in Sect. <xref ref-type="sec" rid="Ch1.S4.SS2"/>.</p>
      <p id="d2e1979">Full results tables were omitted due to space constraints, but they are available in the Zenodo platform <xref ref-type="bibr" rid="bib1.bibx22" id="paren.43"/>.</p>
<sec id="Ch1.S4.SS1">
  <label>4.1</label><title>Static workloads</title>
      <p id="d2e1992">We compute the correlation of the runtime, allocated CPUs, and fair share with the average, maximum, and minimum of both the queue time and the priority upon finishing the job, respectively <inline-formula><mml:math id="M54" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">q</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M55" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula>, in Table <xref ref-type="table" rid="T4"/>. We observe that the fair share is the dominant factor on the waiting time, with a clear inverse correlation of <inline-formula><mml:math id="M56" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.87</mml:mn></mml:mrow></mml:math></inline-formula> between the average wait time and fair share. Moreover, we observe the independence of the allocated CPUs and runtime with respect to the queue time.</p>

<table-wrap id="T4"><label>Table 4</label><caption><p id="d2e2028">Correlation table of the job and fair share with queue time and priority. <inline-formula><mml:math id="M57" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">q</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the time in queue and <inline-formula><mml:math id="M58" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> is the priority upon finishing of the job. An overline indicates the average across the ten experiments and “max” and “min” are the maximum and minimum observed across the 10 experiments of the particular quantity.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="4">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Runtime</oasis:entry>
         <oasis:entry colname="col3">CPUs</oasis:entry>
         <oasis:entry colname="col4">Fair share</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M59" display="inline"><mml:mrow><mml:mi mathvariant="normal">max</mml:mi><mml:mspace width="0.25em" linebreak="nobreak"/><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">q</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">0.0229</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M60" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.0161</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M61" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.8379</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M62" display="inline"><mml:mrow><mml:mi mathvariant="normal">min</mml:mi><mml:mspace linebreak="nobreak" width="0.25em"/><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">q</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">0</oasis:entry>
         <oasis:entry colname="col3">0</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M63" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.8572</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M64" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">q</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal">‾</mml:mo></mml:mover></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">0.0048</oasis:entry>
         <oasis:entry colname="col3">0.0007</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M65" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.8720</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M66" display="inline"><mml:mrow><mml:mi mathvariant="normal">max</mml:mi><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mi>P</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">0.0018</oasis:entry>
         <oasis:entry colname="col3">0.00623</oasis:entry>
         <oasis:entry colname="col4">0.9911</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M67" display="inline"><mml:mrow><mml:mi mathvariant="normal">min</mml:mi><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mi>P</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M68" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.0002</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.00026</oasis:entry>
         <oasis:entry colname="col4">0.9929</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M69" display="inline"><mml:mover accent="true"><mml:mi>P</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M70" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.0010</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.00128</oasis:entry>
         <oasis:entry colname="col4">0.9952</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e2284">Additionally, in Fig. <xref ref-type="fig" rid="F4"/> we plot the average wait time across all ten experiments for every job configuration in function of the fair share factor, where we see an exponential reduction in queue time as we increase the fair share, but we observe that its impact is smaller for the lower fair share values, visible from the spread of the each of the lines representing a job configuration. After all job configuration's merge into one. We fit an exponential model <xref ref-type="bibr" rid="bib1.bibx24" id="paren.44"/>, where <inline-formula><mml:math id="M71" display="inline"><mml:mi>a</mml:mi></mml:math></inline-formula> is the exponent constant and <inline-formula><mml:math id="M72" display="inline"><mml:mi>b</mml:mi></mml:math></inline-formula> is the multiplicative one.</p>

      <fig id="F4" specific-use="star"><label>Figure 4</label><caption><p id="d2e2309">Average of the queue time across all experiments with respect to the fair share value. Each color represents a different runtime from 1800, 3600, 7200, and 12 600 s, and each line style represents a different allocated CPUs configuration from 96, 192, 384, 672, and 1152.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/18/9709/2025/gmd-18-9709-2025-f04.png"/>

        </fig>

      <p id="d2e2318">As for the priority upon finishing, we observe in Table <xref ref-type="table" rid="T4"/> how the fair share is almost completely positively (0.99) correlated with the average, maximum, and minimum priority. The rest of the factors, allocated CPUs and runtime, show no correlation.</p>
      <p id="d2e2323">Analogous to the wait time, we plot in Fig. <xref ref-type="fig" rid="F5"/> the average across all ten experiments of the priority in function of the fair share, for each and every combination of allocated CPUs and runtime. There, we see how the priority grows linearly with respect to the fair share, with the largest deviations in the low fair share spectrum.</p>

      <fig id="F5" specific-use="star"><label>Figure 5</label><caption><p id="d2e2330">Average of the priority time across all experiments with respect to the fair share value. Each color represents a different runtime from 1800, 3600, 7200, and 12 600 s, and each line style represents a different allocated CPUs configuration from 96, 192, 384, 672, and 1152.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/18/9709/2025/gmd-18-9709-2025-f05.png"/>

        </fig>

</sec>
<sec id="Ch1.S4.SS2">
  <label>4.2</label><title>Dynamic workload</title>
      <p id="d2e2347">We gathered all six instants and made a box plot of the difference of the time-to-solution (i.e., the difference between submission time and end of the workflow) between the unwrapped and the wrapped executions. Thus, a positive value indicates that the wrapped workflow tracked less queue time than the unwrapped counterpart.</p>
      <p id="d2e2350">In Fig. <xref ref-type="fig" rid="F6"/>, we see that the difference is positive on average, indicated by the green triangle. Also, the median, indicated by the orange line, is also always positive. However, we observe fliers where the unwrapped outperformed the wrapper. This is the case for the worst fair share, 0.4, and 0.6.</p>

      <fig id="F6"><label>Figure 6</label><caption><p id="d2e2357">Box plot of the difference of the unwrapped queue time with respect to the wrapped. Green triangle indicates mean, orange horizontal line indicates the median. Circles indicate fliers, which are instants of submissions that surpass 1.5 times the interquartile difference.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/18/9709/2025/gmd-18-9709-2025-f06.png"/>

        </fig>

</sec>
</sec>
<sec id="Ch1.S5">
  <label>5</label><title>Discussion</title>
      <p id="d2e2376">As seen in Fig. <xref ref-type="fig" rid="F6"/>, we achieved a reduction in queue time across all fair share values in the dynamic results. On average, this reduction was 1 %, reaching up to a 7 % decrease in queue time relative to the total workflow runtime. These results support the hypothesis that the reduction is caused by avoiding multiple submissions.</p>
      <p id="d2e2381">Since we observed consistent (on average and on median) reductions when using aggregation, we anticipate greater gains in longer workflows running in congested environments because bigger wrappers can be created, reducing the number of submissions and therefore the time spent waiting for resources.</p>
      <p id="d2e2384">Additionally, the 7 % figure could be greater if we consider that the machine had only two days of congestion per week. Current flagship systems are usually congested, and it is not uncommon for jobs to queue for days.</p>
      <p id="d2e2387">We observed three negative outliers, that is, the instances where the unwrapped workflow stood less in queue than the wrapped. We believe those were particular instances where the combination of running jobs and queuing jobs allowed the backfill algorithm to schedule the separate tasks earlier because they were smaller. Under this scenario, as we increase the length of the job, it is less likely that the scheduler would have free spots to execute, so the job has to wait to be scheduled by its priority. But, given the few instances where we observed arrangement, we believe this scenario is unlikely.</p>
      <p id="d2e2391">As for the static results, where we captured modern job requests (i.e., the requested CPUs and wallclock) modeled after the LUMI supercomputer, these give us an idea of what are the meaningful factors that immediately impact after submission under a stressed environment. What we see is a total correlation of the queue time with respect to the fair share, and, even stronger, an exponential relationship. This means that with a fair share of just 0.5, it is enough to have more priority than all the other jobs in the queue, and therefore to be scheduled immediately.</p>
      <p id="d2e2394">This exponential relation comes from the way we set the fair share to all the synthetically generated users. Since their prior usage was set to be proportional to the generated workload, their fair share followed the log-normal distribution.</p>
      <p id="d2e2397">Regarding job requests in static executions, we observe in Table <xref ref-type="table" rid="T4"/> that both runtime and allocated CPUs are independent of queue time. This is explained because these simulations are short compared with the dynamic ones, not allowing for the age factor to build up, and neither the backfill algorithm to be noticeable.</p>
      <p id="d2e2402">Finally, Fig. <xref ref-type="fig" rid="F5"/> shows the expected linear relationship between priority and fair share. This is due to the weighted sum that Slurm uses to compute the priority in Eq. (<xref ref-type="disp-formula" rid="Ch1.E4"/>). The slope of the fitted line, 84 374, nearly matches the fair share weight of the Slurm configuration that we used, which is 100 000.</p>
      <p id="d2e2409">As is the case for the queue time, the requested CPUs and runtime are not correlated with the priority. This is due to the aforementioned shortness of the simulations and the relatively small application request with respect to the large system. Taking the maximum time that any of our tracked jobs was in the queue, 372 s, adds just 61 (372 divided by 7 d in seconds multiplied by 10<sup>5</sup>) to the priority from the age factor. And if we do the same for our largest request in CPUs, 1152, it adds just 32 (1152 divided by the total available CPUs in LUMI, 360 448, multiplied by 10<sup>4</sup>) to the priority due to the size factor. Compared with a fair share of just 0.01 that adds 1000 (<inline-formula><mml:math id="M75" display="inline"><mml:mrow><mml:mn mathvariant="normal">0.01</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">5</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>) to the priority, both the age and the size factors are marginal.</p>
<sec id="Ch1.S5.SS1">
  <label>5.1</label><title>Limitations</title>
      <p id="d2e2452">In this subsection, we discuss the major weaknesses that we identified during our work.</p>
      <p id="d2e2455">First, the Slurm simulator does not support dynamic submissions (i.e., launching a job the moment its dependency finishes). Therefore, we had to define the submission time in advance by assuming the best-case scenario, in which no task is delayed. Thus, the age factor increases while the job waits in the queue for its dependency to finish, resulting in a higher priority than they would have in reality.</p>
      <p id="d2e2458">However, with the configuration we tested, we found that the priority added by the age factor was marginal. The maximum time that a job was in the queue in any of our simulations was 1776 s, in the worst fair share case submitted at 15 June 2012 at 20 (submission instant B.3). This adds just 293 (1176 s divided by the total number of seconds in seven days multiplied by 10<sup>5</sup>) to the job's priority. This is minimal compared with the priority added by a fair share of just 0.01, which, after being multiplied by its corresponding weight of 10<sup>5</sup>, adds 1000 to the job's priority.</p>
      <p id="d2e2479">Another limitation is that the simulator does not support node sharing among jobs, as is the case in MareNostrum 4. Therefore less than a node requests would be scheduled to whole nodes, whereas, in MareNostrum 4, they would share resources. But, we have seen systems enforce node exclusivity across the board, as is the case with LUMI.</p>
      <p id="d2e2483">Finally, the Slurm simulator here employed is not determinist, although the authors of the BSC contribution to it greatly reduced it <xref ref-type="bibr" rid="bib1.bibx13" id="paren.45"/>. This is another reason to run multiple experiments and take the average.</p>
</sec>
</sec>
<sec id="Ch1.S6" sec-type="conclusions">
  <label>6</label><title>Conclusions</title>
      <p id="d2e2498">The time in queue of the simulations is a growing issue for those users utilizing highly congested machines. And it is even worse for those executing simulations with vertical workflows, where workflow tasks have to wait until their dependency is met. This paper analyzes for the first time, to the best of our knowledge, a simple but powerful solution to mitigate this issue, which is to aggregate tasks into a single submission to be sent to the HPC platform.</p>
      <p id="d2e2501">We measured the impact of aggregating tasks by running two simulations under the same conditions with a Slurm simulator, one wrapping and another with all the tasks independently submitted. We used the MONARCH air quality application as a reference for the application. To have both modern job requests and realistic behavior on the usage of the machines, we performed two experiment types: one with synthetic static workloads modeled after a current flagship system, where all the jobs are submitted at the same time, and another with a real dynamic workload, as recorded in a production machine.</p>
      <p id="d2e2504">We tied this impact with a key scheduling factor employed by system administrators of Slurm: the fair share. This factor quantifies the responsiveness of the machine to the user, and is shared with the group. This factor is normally assigned a high weight, which equates to a larger impact in the job's priority.</p>
      <p id="d2e2507">Our findings support the thesis that aggregating subsequent tasks reduces queue time. We observed a maximum difference in queue time between unwrapped and wrapped of 7 % of the total runtime of the workflow. If we put this saving in terms of the 10 % to 20 % queue overhead reported by the community, that would be a reduction of the queue time of 35 % to 70 %.</p>
      <p id="d2e2511">This result supports our thesis that, since we submit fewer jobs, we have fewer tasks of the workflow stuck in the queue, and therefore the overall time-to-solution of the simulation is improved.</p>
      <p id="d2e2514">As for the fair share, we see how a fair share factor of just 0.5 is enough for the job to be executed immediately in the static experiments. This is not as clear in the dynamic results, but we observe that with a higher fair share, the impact of using wrappers decreases.</p>
      <p id="d2e2517">Finally, this paper brings to the forefront the issue of queue time in shared HPC platforms, which is particularly acute for the climate community, but it may be shared with other communities running their applications on congested shared HPC machines. We expose the important parts of the inner workings of the scheduling algorithm of the most popular workload manager, Slurm, and relate them to the request in terms of CPUs and wallclock of the workflow. This work is of interest to all those who see the need to optimize their time-to-solution by providing recommendations on how to submit their tasks and the rationale as to why it is beneficial.</p>
</sec>

      
      </body>
    <back><notes notes-type="codedataavailability"><title>Code and data availability</title>

      <p id="d2e2524">The Slurm simulator code is available from <uri>https://earth.bsc.es/gitlab/mgimenez/ces_slurm_simulator</uri> (last access: 23 July 2024) under GPL2 license. The exact version of the simulator used to produce the results in this paper is archived on Zenodo (<ext-link xlink:href="https://doi.org/10.5281/zenodo.12800999" ext-link-type="DOI">10.5281/zenodo.12800999</ext-link>, <xref ref-type="bibr" rid="bib1.bibx18" id="altparen.46"/>).</p>

      <p id="d2e2536">The Docker image to run the Slurm simulator is available in <uri>https://earth.bsc.es/gitlab/mgimenez/docker-ubuntu-ces-slurm-sim</uri> (last access: 23 July 2024) under GPLv3 license. The exact version used in this paper is archived on Zenodo (<ext-link xlink:href="https://doi.org/10.5281/zenodo.12801138" ext-link-type="DOI">10.5281/zenodo.12801138</ext-link>, <xref ref-type="bibr" rid="bib1.bibx19" id="altparen.47"/>).</p>

      <p id="d2e2548">Analysis scripts for the workload and results are available, respectively, in <uri>https://earth.bsc.es/gitlab/mgimenez/scripts-hairball/-/snippets/128</uri> (last access: 23 July 2024) and <uri>https://earth.bsc.es/gitlab/mgimenez/scripts-hairball/-/snippets/131</uri> (last access: 23 July 2024) under GPLv2. The exact version used in this paper is available on Zenodo, respectively, (<ext-link xlink:href="https://doi.org/10.5281/zenodo.12801326" ext-link-type="DOI">10.5281/zenodo.12801326</ext-link>, <xref ref-type="bibr" rid="bib1.bibx21" id="altparen.48"/> and <ext-link xlink:href="https://doi.org/10.5281/zenodo.12801377" ext-link-type="DOI">10.5281/zenodo.12801377</ext-link>, <xref ref-type="bibr" rid="bib1.bibx24" id="altparen.49"/>).</p>

      <p id="d2e2570">Script to include workflow to Curie dynamic trace is available in <uri>https://earth.bsc.es/gitlab/mgimenez/scripts-hairball/-/snippets/125</uri> (last access: 23 July 2024). The exact version used in this paper is available on Zenodo under GPLv2 (<ext-link xlink:href="https://doi.org/10.5281/zenodo.12801281" ext-link-type="DOI">10.5281/zenodo.12801281</ext-link>, <xref ref-type="bibr" rid="bib1.bibx17" id="altparen.50"/>).</p>

      <p id="d2e2582">The results of the simulations are made available in the Zenodo platform (<ext-link xlink:href="https://doi.org/10.5281/zenodo.10818813" ext-link-type="DOI">10.5281/zenodo.10818813</ext-link>, <xref ref-type="bibr" rid="bib1.bibx22" id="altparen.51"/>).</p>

      <p id="d2e2592">The original data and the input workload files, for both static and dynamic simulation, are made available on the Zenodo platform, respectively, (<ext-link xlink:href="https://doi.org/10.5281/zenodo.10624403" ext-link-type="DOI">10.5281/zenodo.10624403</ext-link>, <xref ref-type="bibr" rid="bib1.bibx23" id="altparen.52"/> and <ext-link xlink:href="https://doi.org/10.5281/zenodo.10623439" ext-link-type="DOI">10.5281/zenodo.10623439</ext-link>, <xref ref-type="bibr" rid="bib1.bibx20" id="altparen.53"/>).</p>

      <p id="d2e2607">Due to its sensitivity, data gathered from the LUMI supercomputer is not publicly available.</p>
  </notes><notes notes-type="authorcontribution"><title>Author contributions</title>

      <p id="d2e2613">MGM has developed the methodology, the Docker image of the BSC Slurm simulator, the Python library for managing the Standard Workload Manager, ran the simulations, performed the analysis, and wrote the paper. MC has conceptualized the work, supervised the work, and revised the manuscript. GU and MCA have supervised the work and reviewed the manuscript. BPK has reviewed the manuscript. FDR has provided funds for the development of the work.</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

      <p id="d2e2619">The contact author has declared that none of the authors has any competing interests.</p>
  </notes><notes notes-type="disclaimer"><title>Disclaimer</title>

      <p id="d2e2625">Publisher's note: Copernicus Publications remains neutral with regard to jurisdictional claims made in the text, published maps, institutional affiliations, or any other geographical representation in this paper. While Copernicus Publications makes every effort to include appropriate place names, the final responsibility lies with the authors. Views expressed in the text are those of the authors and do not necessarily reflect the views of the publisher.</p>
  </notes><ack><title>Acknowledgements</title><p id="d2e2631">This work received support from grant CEX2021-001148-S-20-5 funded by MICIU/AEI/10.13039/501100011033 and by FSE<inline-formula><mml:math id="M78" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>. Mario Acosta is supported from the Spanish National Research Council through OEMES (PID2020-116324RA-I00).</p><p id="d2e2640">The authors declare they used DeepL in order to improve readability of the manuscript in all sections. After using this tool, the authors reviewed and edited the content as needed and take full responsibility for the content of the published article.</p></ack><notes notes-type="financialsupport"><title>Financial support</title>

      <p id="d2e2645">This research has been supported by the Ministerio de Ciencia e Innovación (grant no. CEX2021-001148-S-20-5) and the Consejo Superior de Investigaciones Científicas (grant no. PID2020-116324RA-I00).</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

      <p id="d2e2651">This paper was edited by Le Yu and reviewed by three anonymous referees.</p>
  </notes><ref-list>
    <title>References</title>

      <ref id="bib1.bibx1"><label>Acosta et al.(2024)Acosta, Palomas, Paronuzzi Ticco, Utrera, Biercamp, Bretonniere, Budich, Castrillo, Caubel, Doblas-Reyes, Epicoco, Fladrich, Joussaume, Kumar Gupta, Lawrence, Le Sager, Lister, Moine, Rioual, Valcke, Zadeh, and Balaji</label><mixed-citation>Acosta, M. C., Palomas, S., Paronuzzi Ticco, S. V., Utrera, G., Biercamp, J., Bretonniere, P.-A., Budich, R., Castrillo, M., Caubel, A., Doblas-Reyes, F., Epicoco, I., Fladrich, U., Joussaume, S., Kumar Gupta, A., Lawrence, B., Le Sager, P., Lister, G., Moine, M.-P., Rioual, J.-C., Valcke, S., Zadeh, N., and Balaji, V.: The computational and energy cost of simulation and storage for climate science: lessons from CMIP6, Geosci. Model Dev., 17, 3081–3098, <ext-link xlink:href="https://doi.org/10.5194/gmd-17-3081-2024" ext-link-type="DOI">10.5194/gmd-17-3081-2024</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx2"><label>Balaji et al.(2017)Balaji, Maisonnave, Zadeh, Lawrence, Biercamp, Fladrich, Aloisio, Benson, Caubel, Durachta, Foujols, Lister, Mocavero, Underwood, and Wright</label><mixed-citation>Balaji, V., Maisonnave, E., Zadeh, N., Lawrence, B. N., Biercamp, J., Fladrich, U., Aloisio, G., Benson, R., Caubel, A., Durachta, J., Foujols, M.-A., Lister, G., Mocavero, S., Underwood, S., and Wright, G.: CPMIP: measurements of real computational performance of Earth system models in CMIP6, Geosci. Model Dev., 10, 19–34, <ext-link xlink:href="https://doi.org/10.5194/gmd-10-19-2017" ext-link-type="DOI">10.5194/gmd-10-19-2017</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx3"><label>Brucker(2007)</label><mixed-citation>Brucker, P.: Scheduling Algorithms, in: 5th Edn., Springer, Berlin, Germany, <ext-link xlink:href="https://doi.org/10.1007/978-3-540-69516-5" ext-link-type="DOI">10.1007/978-3-540-69516-5</ext-link>, 2007.</mixed-citation></ref>
      <ref id="bib1.bibx4"><label>BSC-CNS(2023)</label><mixed-citation>BSC-CNS: Blog post, <uri>https://www.bsc.es/marenostrum/marenostrum</uri> (last access: 29 September 2023), 2023.</mixed-citation></ref>
      <ref id="bib1.bibx5"><label>Cirne and Berman(2000)</label><mixed-citation> Cirne, W. and Berman, F.: Adaptive selection of partition size for supercomputer requests, in: Job Scheduling Strategies for Parallel Processing: IPDPS 2000 Workshop, Proceedings 6, 1 May 2000, Cancun, Mexico, Springer, 187–207, ISBN 3540411208, 2000.</mixed-citation></ref>
      <ref id="bib1.bibx6"><label>Döscher et al.(2022)Döscher, Acosta, Alessandri, Anthoni, Arsouze, Bergman, Bernardello, Boussetta, Caron, Carver, Castrillo, Catalano, Cvijanovic, Davini, Dekker, Doblas-Reyes, Docquier, Echevarria, Fladrich, Fuentes-Franco, Gröger, Hardenberg, Hieronymus, Karami, Keskinen, Koenigk, Makkonen, Massonnet, Ménégoz, Miller, Moreno-Chamarro, Nieradzik, Van Noije, Nolan, O'donnell, Ollinaho, Van Den Oord, Ortega, Prims, Ramos, Reerink, Rousset, Ruprich-Robert, Le Sager, Schmith, Schrödner, Serva, Sicardi, Sloth Madsen, Smith, Tian, Tourigny, Uotila, Vancoppenolle, Wang, Wårlind, Willén, Wyser, Yang, Yepes-Arbós, and Zhang</label><mixed-citation>Döscher, R., Acosta, M., Alessandri, A., Anthoni, P., Arsouze, T., Bergman, T., Bernardello, R., Boussetta, S., Caron, L. P., Carver, G., Castrillo, M., Catalano, F., Cvijanovic, I., Davini, P., Dekker, E., Doblas-Reyes, F. J., Docquier, D., Echevarria, P., Fladrich, U., Fuentes-Franco, R., Gröger, M., Hardenberg, J. V., Hieronymus, J., Karami, M. P., Keskinen, J. P., Koenigk, T., Makkonen, R., Massonnet, F., Ménégoz, M., Miller, P. A., Moreno-Chamarro, E., Nieradzik, L., Van Noije, T., Nolan, P., O'donnell, D., Ollinaho, P., Van Den Oord, G., Ortega, P., Prims, O. T., Ramos, A., Reerink, T., Rousset, C., Ruprich-Robert, Y., Le Sager, P., Schmith, T., Schrödner, R., Serva, F., Sicardi, V., Sloth Madsen, M., Smith, B., Tian, T., Tourigny, E., Uotila, P., Vancoppenolle, M., Wang, S., Wårlind, D., Willén, U., Wyser, K., Yang, S., Yepes-Arbós, X., and Zhang, Q.: The EC-Earth3 Earth system model for the Coupled Model Intercomparison Project 6, Geosci. Model Dev., 15, 2973–3020, <ext-link xlink:href="https://doi.org/10.5194/gmd-15-2973-2022" ext-link-type="DOI">10.5194/gmd-15-2973-2022</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx7"><label>Feitelson and Tsafrir(2019)</label><mixed-citation>Feitelson, D. G. and Tsafrir, D.: Logs of real parallel workloads from production systems, <uri>https://www.cs.huji.ac.il/labs/parallel/workload/logs.html</uri> (last access: 29 September 2023), 2019.</mixed-citation></ref>
      <ref id="bib1.bibx8"><label>Hoffmann et al.(2023)Hoffmann, Bauer, Sandu, Wedi, Geenen, and Thiemert</label><mixed-citation>Hoffmann, J., Bauer, P., Sandu, I., Wedi, N., Geenen, T., and Thiemert, D.: Destination Earth – A digital twin in support of climate services, Clim. Serv., 30, 100394, <ext-link xlink:href="https://doi.org/10.1016/j.cliser.2023.100394" ext-link-type="DOI">10.1016/j.cliser.2023.100394</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx9"><label>Huber et al.(2020)Huber, Zoupanos, Uhrin, Talirz, Kahle, Huselmann, Gresch, Mller, Yakutovich, Andersen, Ramirez, Adorf, Gargiulo, Kumbhar, Passaro, Johnston, Merkys, Cepellotti, Mounet, Marzari, Kozinsky, and Pizzi</label><mixed-citation>Huber, S. P., Zoupanos, S., Uhrin, M., Talirz, L., Kahle, L., Häuselmann, R., Gresch, D., Müller, T., Yakutovich, A. V., Andersen, C. W., Ramirez, F. F., Adorf, C. S., Gargiulo, F., Kumbhar, S., Passaro, E., Johnston, C., Merkys, A., Cepellotti, A., Mounet, N., Marzari, N., Kozinsky, B., and Pizzi, G.: AiiDA 1.0, a scalable computational infrastructure for automated reproducible  workflows and data provenance, Sci. Data, 7, 300, <ext-link xlink:href="https://doi.org/10.1038/s41597-020-00638-4" ext-link-type="DOI">10.1038/s41597-020-00638-4</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx10"><label>Irrmann et al.(2022)Irrmann, Masson, Maisonnave, Guibert, and Raffin</label><mixed-citation>Irrmann, G., Masson, S., Maisonnave, E., Guibert, D., and Raffin, E.: Improving ocean modeling software NEMO 4.0 benchmarking and communication efficiency, Geosci. Model Dev., 15, 1567–1582, <ext-link xlink:href="https://doi.org/10.5194/gmd-15-1567-2022" ext-link-type="DOI">10.5194/gmd-15-1567-2022</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx11"><label>Jeannot et al.(2023)Jeannot, Pallez, and Vidal</label><mixed-citation>Jeannot, E., Pallez, G., and Vidal, N.: IO-aware Job-Scheduling: Exploiting the Impacts of Workload Characterizations to select the Mapping Strategy, Int. J. High Perform. Comput. Appl., 37, <ext-link xlink:href="https://doi.org/10.1177/10943420231175854" ext-link-type="DOI">10.1177/10943420231175854</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx12"><label>Jette and Wickberg(2023)</label><mixed-citation>Jette, M. A. and Wickberg, T.: Architecture of the Slurm Workload Manager, in: Job Scheduling Strategies for Parallel Processing, JSSPP 2023, Lecture Notes in Computer Science, vol. 14283, edited by: Dalibor, K., Corbalán, J., and Rodrigo Gonzalo, P., Springer Nature Switzerland, Cham, 3–23, <ext-link xlink:href="https://doi.org/10.1007/978-3-031-43943-8" ext-link-type="DOI">10.1007/978-3-031-43943-8</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx13"><label>Jokanovic et al.(2018)</label><mixed-citation>Jokanovic, A., D'Amico, M., and Corbalan, J.: Evaluating SLURM Simulator with Real-Machine SLURM and Vice Versa, Performance Modeling, Benchmarking and Simulation of High Performance Computer Systems (PMBS18) At: ACM/IEEE Supercomputing 2018, 72–82, <ext-link xlink:href="https://doi.org/10.1109/PMBS.2018.8641556" ext-link-type="DOI">10.1109/PMBS.2018.8641556</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx14"><label>Klose et al.(2021)Klose, Jorba, Gonçalves Ageitos, Escribano, Dawson, Obiso, Di Tomaso, Basart, Montané Pinto, Macchia, Ginoux, Guerschman, Prigent, Huang, Kok, Miller, and Pérez García-Pando</label><mixed-citation>Klose, M., Jorba, O., Gonçalves Ageitos, M., Escribano, J., Dawson, M. L., Obiso, V., Di Tomaso, E., Basart, S., Montané Pinto, G., Macchia, F., Ginoux, P., Guerschman, J., Prigent, C., Huang, Y., Kok, J. F., Miller, R. L., and Pérez García-Pando, C.: Mineral dust cycle in the Multiscale Online Nonhydrostatic AtmospheRe CHemistry model (MONARCH) Version 2.0, Geosci. Model Dev., 14, 6403–6444, <ext-link xlink:href="https://doi.org/10.5194/gmd-14-6403-2021" ext-link-type="DOI">10.5194/gmd-14-6403-2021</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx15"><label>LUMI(2024)</label><mixed-citation>LUMI: Blog post, <uri>https://lumi-supercomputer.eu/</uri> (last access: 29 September 2023), 2024.</mixed-citation></ref>
      <ref id="bib1.bibx16"><label>Manubens-Gil et al.(2016)Manubens-Gil, Vegas-Regidor, Prodhomme, Mula-Valls, and Doblas-Reyes</label><mixed-citation>Manubens-Gil, D., Vegas-Regidor, J., Prodhomme, C., Mula-Valls, O., and Doblas-Reyes, F. J.: Seamless management of ensemble climate prediction experiments on HPC platforms, in: 2016 International Conference on High Performance Computing and Simulation (HPCS), 895–900, <ext-link xlink:href="https://doi.org/10.1109/HPCSim.2016.7568429" ext-link-type="DOI">10.1109/HPCSim.2016.7568429</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx17"><label>Marciani(2024a)</label><mixed-citation>Marciani, G. M.: Scripts and Files to Add Workflow to Curie, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.12801281" ext-link-type="DOI">10.5281/zenodo.12801281</ext-link>, 2024a.</mixed-citation></ref>
      <ref id="bib1.bibx18"><label>Marciani(2024b)</label><mixed-citation>Marciani, G. M.: BSC Computational Earth Sciences Slurm Simulator Tools, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.12800999" ext-link-type="DOI">10.5281/zenodo.12800999</ext-link>, 2024b.</mixed-citation></ref>
      <ref id="bib1.bibx19"><label>Marciani(2024c)</label><mixed-citation>Marciani, G. M.: Docker Image of the Computational Earth Sciences Slurm Simulator, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.12801138" ext-link-type="DOI">10.5281/zenodo.12801138</ext-link>,  2024c.</mixed-citation></ref>
      <ref id="bib1.bibx20"><label>Marciani(2024d)</label><mixed-citation>Marciani, G. M.: Wrapper Impact Workloads and BSC Slurm Simulator Output of Dynamic Traces from CEA Curie, Zenodo [data set], <ext-link xlink:href="https://doi.org/10.5281/zenodo.10623439" ext-link-type="DOI">10.5281/zenodo.10623439</ext-link>, 2024d.</mixed-citation></ref>
      <ref id="bib1.bibx21"><label>Marciani(2024e)</label><mixed-citation>Marciani, G. M.: Lumi Workload Analysis Script, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.12801326" ext-link-type="DOI">10.5281/zenodo.12801326</ext-link>, 2024e.</mixed-citation></ref>
      <ref id="bib1.bibx22"><label>Marciani(2024f)</label><mixed-citation>Marciani, G. M.: Full Results from Simulations for Static and Dynamic Workloads Using BSC Slurm Simulator, Zenodo [data set], <ext-link xlink:href="https://doi.org/10.5281/zenodo.10818813" ext-link-type="DOI">10.5281/zenodo.10818813</ext-link>, 2024f.</mixed-citation></ref>
      <ref id="bib1.bibx23"><label>Marciani(2024g)</label><mixed-citation>Marciani, G. M.: Wrapper Impact Workloads and BSC Slurm Simulator Output of Static Traces based on Data from LUMI Supercomputer, Zenodo [data set], <ext-link xlink:href="https://doi.org/10.5281/zenodo.10624403" ext-link-type="DOI">10.5281/zenodo.10624403</ext-link>, 2024g.</mixed-citation></ref>
      <ref id="bib1.bibx24"><label>Marciani(2024h)</label><mixed-citation>Marciani, G. M.: Static Workload Results Analysis Scripts, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.12801377" ext-link-type="DOI">10.5281/zenodo.12801377</ext-link>, 2024h.</mixed-citation></ref>
      <ref id="bib1.bibx25"><label>Merkel(2014)</label><mixed-citation> Merkel, D.: Docker: lightweight linux containers for consistent development and deployment, Linux J., 2014, 2, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx26"><label>Merzky et al.(2021)Merzky, Turilli, Titov, Al-Saadi, and Jha</label><mixed-citation> Merzky, A., Turilli, M., Titov, M., Al-Saadi, A., and Jha, S.: Design and performance characterization of radical-pilot on leadership-class platforms, IEEE T. Parallel Distrib. Syst., 33, 818–829, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx27"><label>Mickelson et al.(2020)Mickelson, Bertini, Strand, Paul, Nienhouse, Dennis, and Vertenstein</label><mixed-citation>Mickelson, S., Bertini, A., Strand, G., Paul, K., Nienhouse, E., Dennis, J., and Vertenstein, M.: A new end-to-end workflow for the Community Earth System Model (version 2.0) for the Coupled Model Intercomparison Project Phase 6 (CMIP6), Geosci. Model Dev., 13, 5567–5581, <ext-link xlink:href="https://doi.org/10.5194/gmd-13-5567-2020" ext-link-type="DOI">10.5194/gmd-13-5567-2020</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx28"><label>Mölder et al.(2021)Mlder, Jablonski, Letcher, Hall, van Dyken, Tomkins-Tinch, Sochat, Forster, Vieira, Meesters, Lee, Twardziok, Kanitz, VanCampen, Malladi, Wilm, Holtgrewe, Rahmann, Nahnsen, and Kster</label><mixed-citation>Mölder, F., Jablonski, K., Letcher, B., Hall, M., van Dyken, P., Tomkins-Tinch, C., Sochat, V., Forster, J., Vieira, F., Meesters, C., Lee, S., Twardziok, S., Kanitz, A., VanCampen, J., Malladi, V., Wilm, A., Holtgrewe, M., Rahmann, S., Nahnsen, S., and Köster, J.: Sustainable data analysis with Snakemake, F1000Research, 10 pp. <ext-link xlink:href="https://doi.org/10.12688/f1000research.29032.3" ext-link-type="DOI">10.12688/f1000research.29032.3</ext-link>, 2021. </mixed-citation></ref>
      <ref id="bib1.bibx29"><label>Patel et al.(2020)Patel, Liu, Kettimuthu, Rich, Allcock, and Tiwari</label><mixed-citation>Patel, T., Liu, Z., Kettimuthu, R., Rich, P., Allcock, W., and Tiwari, D.: Job characteristics on large-scale systems: long-term analysis, quantification, and implications, in: IEEE SC20: International conference for high performance computing, networking, storage and analysis, 1–17, <ext-link xlink:href="https://doi.org/10.1109/SC41405.2020.00088" ext-link-type="DOI">10.1109/SC41405.2020.00088</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx30"><label>SchedMD(2019)</label><mixed-citation>SchedMD: Fair Tree Fairshare Algorithm, Blog post, <uri>https://slurm.schedmd.com/fair_tree.html</uri> (last access: 29 September 2023), 2019.</mixed-citation></ref>
      <ref id="bib1.bibx31"><label>SchedMD(2022)</label><mixed-citation>SchedMD: Scheduling Configuration Guide, <uri>https://slurm.schedmd.com/sched_config.html</uri> (last access: 29 September 2023), 2022.</mixed-citation></ref>
      <ref id="bib1.bibx32"><label>SchedMD(2023)</label><mixed-citation>SchedMD: Multifactor Priority Plugin, Blog post, <uri>https://slurm.schedmd.com/priority_multifactor.html</uri> (last access: 6 February 2024), 2023.</mixed-citation></ref>
      <ref id="bib1.bibx33"><label>Srinivasan et al.(2002)Srinivasan, Kettimuthu, Subramani, and Sadayappan</label><mixed-citation>Srinivasan, S., Kettimuthu, R., Subramani, V., and Sadayappan, P.: Selective reservation strategies for backfill job scheduling, in: Job Scheduling Strategies for Parallel Processing: 8th International Workshop, JSSPP 2002, Revised Papers 8, 24 July 2002, Edinburgh, Scotland, UK, Springer, 55–71, <ext-link xlink:href="https://doi.org/10.1007/3-540-36180-4_4" ext-link-type="DOI">10.1007/3-540-36180-4_4</ext-link>, 2002.</mixed-citation></ref>
      <ref id="bib1.bibx34"><label>Strohmaier et al.(2023)Strohmaier, Dongarra, Simon, and Meuer</label><mixed-citation>Strohmaier, E., Dongarra, J., Simon, H., and Meuer, M.: TOP500. The List, <uri>https://top500.org/</uri> (last access: 1 November 2023), 2023.</mixed-citation></ref>
      <ref id="bib1.bibx35"><label>Turilli et al.(2018)Turilli, Santcroos, and Jha</label><mixed-citation> Turilli, M., Santcroos, M., and Jha, S.: A comprehensive perspective on pilot-job systems, ACM Comput. Surv., 51, 1–32, 2018.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>Evaluating the impact of task aggregation in workflows with shared resource environments: use case for the MONARCH application</article-title-html>
<abstract-html/>
<ref-html id="bib1.bib1"><label>Acosta et al.(2024)Acosta, Palomas, Paronuzzi Ticco, Utrera,
Biercamp, Bretonniere, Budich, Castrillo, Caubel, Doblas-Reyes, Epicoco,
Fladrich, Joussaume, Kumar Gupta, Lawrence, Le Sager, Lister, Moine, Rioual, Valcke, Zadeh, and Balaji</label><mixed-citation>
      
Acosta, M. C., Palomas, S., Paronuzzi Ticco, S. V., Utrera, G., Biercamp, J.,
Bretonniere, P.-A., Budich, R., Castrillo, M., Caubel, A., Doblas-Reyes, F.,
Epicoco, I., Fladrich, U., Joussaume, S., Kumar Gupta, A., Lawrence, B.,
Le Sager, P., Lister, G., Moine, M.-P., Rioual, J.-C., Valcke, S., Zadeh, N.,
and Balaji, V.: The computational and energy cost of simulation and storage
for climate science: lessons from CMIP6, Geosci. Model Dev., 17,
3081–3098, <a href="https://doi.org/10.5194/gmd-17-3081-2024" target="_blank">https://doi.org/10.5194/gmd-17-3081-2024</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>Balaji et al.(2017)Balaji, Maisonnave, Zadeh, Lawrence, Biercamp,
Fladrich, Aloisio, Benson, Caubel, Durachta, Foujols, Lister, Mocavero,
Underwood, and Wright</label><mixed-citation>
      
Balaji, V., Maisonnave, E., Zadeh, N., Lawrence, B. N., Biercamp, J., Fladrich, U., Aloisio, G., Benson, R., Caubel, A., Durachta, J., Foujols, M.-A., Lister, G., Mocavero, S., Underwood, S., and Wright, G.: CPMIP: measurements of real computational performance of Earth system models in CMIP6, Geosci. Model Dev., 10, 19–34, <a href="https://doi.org/10.5194/gmd-10-19-2017" target="_blank">https://doi.org/10.5194/gmd-10-19-2017</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>Brucker(2007)</label><mixed-citation>
      
Brucker, P.: Scheduling Algorithms, in: 5th Edn., Springer, Berlin, Germany, <a href="https://doi.org/10.1007/978-3-540-69516-5" target="_blank">https://doi.org/10.1007/978-3-540-69516-5</a>, 2007.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>BSC-CNS(2023)</label><mixed-citation>
      
BSC-CNS: Blog post, <a href="https://www.bsc.es/marenostrum/marenostrum" target="_blank"/> (last access: 29 September 2023), 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>Cirne and Berman(2000)</label><mixed-citation>
      
Cirne, W. and Berman, F.: Adaptive selection of partition size for
supercomputer requests, in: Job Scheduling Strategies for Parallel Processing: IPDPS 2000 Workshop, Proceedings 6, 1 May 2000, Cancun, Mexico,
Springer, 187–207, ISBN 3540411208, 2000.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>Döscher et al.(2022)Döscher, Acosta, Alessandri, Anthoni,
Arsouze, Bergman, Bernardello, Boussetta, Caron, Carver, Castrillo, Catalano, Cvijanovic, Davini, Dekker, Doblas-Reyes, Docquier, Echevarria, Fladrich, Fuentes-Franco, Gröger, Hardenberg, Hieronymus, Karami, Keskinen, Koenigk, Makkonen, Massonnet, Ménégoz, Miller, Moreno-Chamarro, Nieradzik, Van Noije, Nolan, O'donnell, Ollinaho, Van Den Oord, Ortega, Prims, Ramos, Reerink, Rousset, Ruprich-Robert, Le Sager, Schmith, Schrödner, Serva, Sicardi, Sloth Madsen, Smith, Tian, Tourigny, Uotila, Vancoppenolle, Wang, Wårlind, Willén, Wyser, Yang, Yepes-Arbós, and Zhang</label><mixed-citation>
      
Döscher, R., Acosta, M., Alessandri, A., Anthoni, P., Arsouze, T.,
Bergman, T., Bernardello, R., Boussetta, S., Caron, L. P., Carver, G.,
Castrillo, M., Catalano, F., Cvijanovic, I., Davini, P., Dekker, E.,
Doblas-Reyes, F. J., Docquier, D., Echevarria, P., Fladrich, U.,
Fuentes-Franco, R., Gröger, M., Hardenberg, J. V., Hieronymus, J.,
Karami, M. P., Keskinen, J. P., Koenigk, T., Makkonen, R., Massonnet, F.,
Ménégoz, M., Miller, P. A., Moreno-Chamarro, E., Nieradzik, L.,
Van Noije, T., Nolan, P., O'donnell, D., Ollinaho, P., Van Den Oord, G.,
Ortega, P., Prims, O. T., Ramos, A., Reerink, T., Rousset, C., Ruprich-Robert, Y., Le Sager, P., Schmith, T., Schrödner, R., Serva, F., Sicardi, V., Sloth Madsen, M., Smith, B., Tian, T., Tourigny, E., Uotila, P., Vancoppenolle, M., Wang, S., Wårlind, D., Willén, U., Wyser, K., Yang, S., Yepes-Arbós, X., and Zhang, Q.: The EC-Earth3 Earth system model for the Coupled Model Intercomparison Project 6, Geosci. Model Dev., 15, 2973–3020, <a href="https://doi.org/10.5194/gmd-15-2973-2022" target="_blank">https://doi.org/10.5194/gmd-15-2973-2022</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>Feitelson and Tsafrir(2019)</label><mixed-citation>
      
Feitelson, D. G. and Tsafrir, D.: Logs of real parallel workloads from
production systems,
<a href="https://www.cs.huji.ac.il/labs/parallel/workload/logs.html" target="_blank"/> (last access: 29 September 2023), 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>Hoffmann et al.(2023)Hoffmann, Bauer, Sandu, Wedi, Geenen, and
Thiemert</label><mixed-citation>
      
Hoffmann, J., Bauer, P., Sandu, I., Wedi, N., Geenen, T., and Thiemert, D.:
Destination Earth – A digital twin in support of climate services, Clim.
Serv., 30, 100394, <a href="https://doi.org/10.1016/j.cliser.2023.100394" target="_blank">https://doi.org/10.1016/j.cliser.2023.100394</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>Huber et al.(2020)Huber, Zoupanos, Uhrin, Talirz, Kahle, Huselmann, Gresch, Mller, Yakutovich, Andersen, Ramirez, Adorf, Gargiulo, Kumbhar,
Passaro, Johnston, Merkys, Cepellotti, Mounet, Marzari, Kozinsky, and
Pizzi</label><mixed-citation>
      
Huber, S. P., Zoupanos, S., Uhrin, M., Talirz, L., Kahle, L., Häuselmann, R., Gresch, D., Müller, T., Yakutovich, A. V., Andersen, C. W., Ramirez, F. F., Adorf, C. S., Gargiulo, F., Kumbhar, S., Passaro, E., Johnston, C., Merkys, A., Cepellotti, A., Mounet, N., Marzari, N., Kozinsky, B., and Pizzi, G.: AiiDA 1.0, a scalable computational infrastructure for automated reproducible  workflows and data provenance, Sci. Data, 7, 300, <a href="https://doi.org/10.1038/s41597-020-00638-4" target="_blank">https://doi.org/10.1038/s41597-020-00638-4</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>Irrmann et al.(2022)Irrmann, Masson, Maisonnave, Guibert, and
Raffin</label><mixed-citation>
      
Irrmann, G., Masson, S., Maisonnave, E., Guibert, D., and Raffin, E.: Improving ocean modeling software NEMO 4.0 benchmarking and communication efficiency, Geosci. Model Dev., 15, 1567–1582, <a href="https://doi.org/10.5194/gmd-15-1567-2022" target="_blank">https://doi.org/10.5194/gmd-15-1567-2022</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>Jeannot et al.(2023)Jeannot, Pallez, and Vidal</label><mixed-citation>
      
Jeannot, E., Pallez, G., and Vidal, N.: IO-aware Job-Scheduling: Exploiting the Impacts of Workload Characterizations to select the Mapping Strategy,
Int. J. High Perform. Comput. Appl., 37, <a href="https://doi.org/10.1177/10943420231175854" target="_blank">https://doi.org/10.1177/10943420231175854</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>Jette and Wickberg(2023)</label><mixed-citation>
      
Jette, M. A. and Wickberg, T.: Architecture of the Slurm Workload Manager,
in: Job Scheduling Strategies for Parallel Processing, JSSPP 2023, Lecture
Notes in Computer Science, vol. 14283, edited by: Dalibor, K., Corbalán, J., and Rodrigo Gonzalo, P., Springer Nature Switzerland, Cham, 3–23, <a href="https://doi.org/10.1007/978-3-031-43943-8" target="_blank">https://doi.org/10.1007/978-3-031-43943-8</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>Jokanovic et al.(2018)</label><mixed-citation>
      
Jokanovic, A., D'Amico, M., and Corbalan, J.: Evaluating SLURM Simulator with Real-Machine SLURM and Vice Versa, Performance Modeling, Benchmarking
and Simulation of High Performance Computer Systems (PMBS18) At: ACM/IEEE
Supercomputing 2018, 72–82, <a href="https://doi.org/10.1109/PMBS.2018.8641556" target="_blank">https://doi.org/10.1109/PMBS.2018.8641556</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>Klose et al.(2021)Klose, Jorba, Gonçalves Ageitos, Escribano,
Dawson, Obiso, Di Tomaso, Basart, Montané Pinto, Macchia, Ginoux,
Guerschman, Prigent, Huang, Kok, Miller, and Pérez
García-Pando</label><mixed-citation>
      
Klose, M., Jorba, O., Gonçalves Ageitos, M., Escribano, J., Dawson, M. L., Obiso, V., Di Tomaso, E., Basart, S., Montané Pinto, G., Macchia, F., Ginoux, P., Guerschman, J., Prigent, C., Huang, Y., Kok, J. F., Miller, R. L., and Pérez García-Pando, C.: Mineral dust cycle in the Multiscale Online Nonhydrostatic AtmospheRe CHemistry model (MONARCH) Version 2.0, Geosci. Model Dev., 14, 6403–6444, <a href="https://doi.org/10.5194/gmd-14-6403-2021" target="_blank">https://doi.org/10.5194/gmd-14-6403-2021</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>LUMI(2024)</label><mixed-citation>
      
LUMI: Blog post, <a href="https://lumi-supercomputer.eu/" target="_blank"/> (last access: 29 September 2023), 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>Manubens-Gil et al.(2016)Manubens-Gil, Vegas-Regidor, Prodhomme,
Mula-Valls, and Doblas-Reyes</label><mixed-citation>
      
Manubens-Gil, D., Vegas-Regidor, J., Prodhomme, C., Mula-Valls, O., and
Doblas-Reyes, F. J.: Seamless management of ensemble climate prediction
experiments on HPC platforms, in: 2016 International Conference on High
Performance Computing and Simulation (HPCS), 895–900,
<a href="https://doi.org/10.1109/HPCSim.2016.7568429" target="_blank">https://doi.org/10.1109/HPCSim.2016.7568429</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>Marciani(2024a)</label><mixed-citation>
      
Marciani, G. M.: Scripts and Files to Add Workflow to Curie, Zenodo [code],
<a href="https://doi.org/10.5281/zenodo.12801281" target="_blank">https://doi.org/10.5281/zenodo.12801281</a>, 2024a.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>Marciani(2024b)</label><mixed-citation>
      
Marciani, G. M.: BSC Computational Earth Sciences Slurm Simulator Tools,
Zenodo [code], <a href="https://doi.org/10.5281/zenodo.12800999" target="_blank">https://doi.org/10.5281/zenodo.12800999</a>, 2024b.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>Marciani(2024c)</label><mixed-citation>
      
Marciani, G. M.: Docker Image of the Computational Earth Sciences Slurm
Simulator, Zenodo [code], <a href="https://doi.org/10.5281/zenodo.12801138" target="_blank">https://doi.org/10.5281/zenodo.12801138</a>,  2024c.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>Marciani(2024d)</label><mixed-citation>
      
Marciani, G. M.: Wrapper Impact Workloads and BSC Slurm Simulator Output of
Dynamic Traces from CEA Curie, Zenodo [data set], <a href="https://doi.org/10.5281/zenodo.10623439" target="_blank">https://doi.org/10.5281/zenodo.10623439</a>, 2024d.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>Marciani(2024e)</label><mixed-citation>
      
Marciani, G. M.: Lumi Workload Analysis Script, Zenodo [code],
<a href="https://doi.org/10.5281/zenodo.12801326" target="_blank">https://doi.org/10.5281/zenodo.12801326</a>, 2024e.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib22"><label>Marciani(2024f)</label><mixed-citation>
      
Marciani, G. M.: Full Results from Simulations for Static and Dynamic
Workloads Using BSC Slurm Simulator, Zenodo [data set], <a href="https://doi.org/10.5281/zenodo.10818813" target="_blank">https://doi.org/10.5281/zenodo.10818813</a>, 2024f.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>Marciani(2024g)</label><mixed-citation>
      
Marciani, G. M.: Wrapper Impact Workloads and BSC Slurm Simulator Output of
Static Traces based on Data from LUMI Supercomputer, Zenodo [data set],
<a href="https://doi.org/10.5281/zenodo.10624403" target="_blank">https://doi.org/10.5281/zenodo.10624403</a>, 2024g.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>Marciani(2024h)</label><mixed-citation>
      
Marciani, G. M.: Static Workload Results Analysis Scripts, Zenodo [code], <a href="https://doi.org/10.5281/zenodo.12801377" target="_blank">https://doi.org/10.5281/zenodo.12801377</a>, 2024h.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>Merkel(2014)</label><mixed-citation>
      
Merkel, D.: Docker: lightweight linux containers for consistent development and deployment, Linux J., 2014, 2, 2014.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>Merzky et al.(2021)Merzky, Turilli, Titov, Al-Saadi, and
Jha</label><mixed-citation>
      
Merzky, A., Turilli, M., Titov, M., Al-Saadi, A., and Jha, S.: Design and
performance characterization of radical-pilot on leadership-class platforms,
IEEE T. Parallel Distrib. Syst., 33, 818–829, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>Mickelson et al.(2020)Mickelson, Bertini, Strand, Paul, Nienhouse,
Dennis, and Vertenstein</label><mixed-citation>
      
Mickelson, S., Bertini, A., Strand, G., Paul, K., Nienhouse, E., Dennis, J.,
and Vertenstein, M.: A new end-to-end workflow for the Community Earth System
Model (version 2.0) for the Coupled Model Intercomparison Project Phase 6 (CMIP6), Geosci. Model Dev., 13, 5567–5581,
<a href="https://doi.org/10.5194/gmd-13-5567-2020" target="_blank">https://doi.org/10.5194/gmd-13-5567-2020</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>Mölder et al.(2021)Mlder, Jablonski, Letcher, Hall, van Dyken,
Tomkins-Tinch, Sochat, Forster, Vieira, Meesters, Lee, Twardziok, Kanitz,
VanCampen, Malladi, Wilm, Holtgrewe, Rahmann, Nahnsen, and
Kster</label><mixed-citation>
      
Mölder, F., Jablonski, K., Letcher, B., Hall, M., van Dyken, P.,
Tomkins-Tinch, C., Sochat, V., Forster, J., Vieira, F., Meesters, C., Lee,
S., Twardziok, S., Kanitz, A., VanCampen, J., Malladi, V., Wilm, A.,
Holtgrewe, M., Rahmann, S., Nahnsen, S., and Köster, J.: Sustainable data
analysis with Snakemake, F1000Research, 10 pp. <a href="https://doi.org/10.12688/f1000research.29032.3" target="_blank">https://doi.org/10.12688/f1000research.29032.3</a>, 2021.


    </mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>Patel et al.(2020)Patel, Liu, Kettimuthu, Rich, Allcock, and
Tiwari</label><mixed-citation>
      
Patel, T., Liu, Z., Kettimuthu, R., Rich, P., Allcock, W., and Tiwari, D.: Job characteristics on large-scale systems: long-term analysis, quantification, and implications, in: IEEE SC20: International conference for high performance computing, networking, storage and analysis, 1–17, <a href="https://doi.org/10.1109/SC41405.2020.00088" target="_blank">https://doi.org/10.1109/SC41405.2020.00088</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>SchedMD(2019)</label><mixed-citation>
      
SchedMD: Fair Tree Fairshare Algorithm, Blog post,
<a href="https://slurm.schedmd.com/fair_tree.html" target="_blank"/> (last access: 29 September 2023), 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>SchedMD(2022)</label><mixed-citation>
      
SchedMD: Scheduling Configuration Guide,
<a href="https://slurm.schedmd.com/sched_config.html" target="_blank"/> (last access: 29 September 2023), 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib32"><label>SchedMD(2023)</label><mixed-citation>
      
SchedMD: Multifactor Priority Plugin, Blog post,
<a href="https://slurm.schedmd.com/priority_multifactor.html" target="_blank"/> (last access: 6 February 2024), 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib33"><label>Srinivasan et al.(2002)Srinivasan, Kettimuthu, Subramani, and
Sadayappan</label><mixed-citation>
      
Srinivasan, S., Kettimuthu, R., Subramani, V., and Sadayappan, P.: Selective
reservation strategies for backfill job scheduling, in: Job Scheduling
Strategies for Parallel Processing: 8th International Workshop, JSSPP 2002, Revised Papers 8, 24 July 2002, Edinburgh, Scotland, UK, Springer, 55–71, <a href="https://doi.org/10.1007/3-540-36180-4_4" target="_blank">https://doi.org/10.1007/3-540-36180-4_4</a>, 2002.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib34"><label>Strohmaier et al.(2023)Strohmaier, Dongarra, Simon, and
Meuer</label><mixed-citation>
      
Strohmaier, E., Dongarra, J., Simon, H., and Meuer, M.: TOP500. The List,
<a href="https://top500.org/" target="_blank"/> (last access: 1 November 2023), 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib35"><label>Turilli et al.(2018)Turilli, Santcroos, and
Jha</label><mixed-citation>
      
Turilli, M., Santcroos, M., and Jha, S.: A comprehensive perspective on
pilot-job systems, ACM Comput. Surv., 51, 1–32, 2018.

    </mixed-citation></ref-html>--></article>
