diff --git a/autosubmit/job/job.py b/autosubmit/job/job.py index 3b9464c834a0fca20521544d1709272936b9e115..21b2b310dfa0d8f8f5cd7841de4993d8494398d3 100644 --- a/autosubmit/job/job.py +++ b/autosubmit/job/job.py @@ -92,6 +92,7 @@ class Job(object): self.name = name self.split = None self.delay = None + self.frequency = None self.synchronize = None self.repacked = 0 self._long_name = None @@ -683,6 +684,7 @@ class Job(object): parameters['CHUNK'] = chunk parameters['SPLIT'] = self.split parameters['DELAY'] = self.delay + parameters['FREQUENCY'] = self.frequency parameters['SYNCHRONIZE'] = self.synchronize parameters['PACKED'] = self.packed total_chunk = int(parameters['NUMCHUNKS']) diff --git a/docs/source/usage/wrappers.rst b/docs/source/usage/wrappers.rst index 319cfe155d9d10d06235a27f261f567ba34c548e..876e189fac9f8c5db1f9afbd7ed60185b2a3351c 100644 --- a/docs/source/usage/wrappers.rst +++ b/docs/source/usage/wrappers.rst @@ -22,7 +22,7 @@ For example: [config] EXPID = .... - AUTOSUBMIT_VERSION = 3.12.0b + AUTOSUBMIT_VERSION = 3.13.1b ... MAXWAITINGJOBS = 100 @@ -49,14 +49,17 @@ Number of jobs in a package TYPE = MIN_WRAPPED = 2 MAX_WRAPPED = 999 + POLICY = flexible #default is flexible. Values: flexible,strict - **MAX_WRAPPED** can be defined in ``jobs_cxxx.conf`` in order to limit the number of jobs wrapped for the corresponding job section - If not defined, it considers the **MAX_WRAPPED** defined under [wrapper] in ``autosubmit_cxxx.conf`` - If **MAX_WRAPPED** is not defined, then **TOTALJOBS** is used by default - - - +- **MIN_WRAPPED** can be defined in ``autosubmit_cxxx.conf`` in order to limit the minimum number of jobs that a wrapper can contain + - If not defined, it considers that **MIN_WRAPPED** is 2. + - If **POLICY** is flexible and it doesn't reach the **MIN_WRAPPED** value, it will submit the a inner job as an independent job. + - If **POLICY** is strict and it doesn't reach the **MIN_WRAPPED** value, The wrapper inner jobs will be blocked until it can contain **MIN_WRAPPED** jobs inside. + -strict policy can cause deadlocks. Wrapper check time @@ -127,13 +130,13 @@ Shared-memory Experiments There is also the possibility of setting the option **METHOD** to SRUN in the wrapper directive (**ONLY** for vertical and vertical-horizontal wrappers). -This allows to use SRUN instead of rely in machinefiles to work in parallel. +This allows to form a wrapper with shared-memory paradigm instead of rely in machinefiles to work in parallel. .. code-block:: ini [wrapper] TYPE = vertical - METHOD = srun + METHOD = srun # default ASTHREAD Hybrid wrapper ==========================