Skip to content

Commit e6eb461

Browse files
grondogarlick
andcommitted
rfc20: add optional execution.properties key to Rv1
Problem: Rv1 does not support a method for assigning properties to resources, but simple property support is a near term requirement for Flux. Add an optional properties key to the Rv1 execution dictionary which allows for the simple assignment of named properties to sets of ranks. Slightly restrict the set of valid characters in property names. Reserve the '@' character and any suffix for scheduler-specific use. Co-authored-by: Jim Garlick <[email protected]>
1 parent b578011 commit e6eb461

File tree

1 file changed

+21
-2
lines changed

1 file changed

+21
-2
lines changed

spec_20.rst

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,9 @@ Execution
128128
~~~~~~~~~
129129

130130
The value of the ``execution`` key SHALL contain at least the keys
131-
``R_lite``, and ``nodelist``, with optional keys ``starttime`` and
132-
``expiration``. Other keys are reserved for future extensions.
131+
``R_lite``, and ``nodelist``, with optional keys ``properties``,
132+
``starttime`` and ``expiration``. Other keys are reserved for future
133+
extensions.
133134

134135
``R_lite`` is a strict list of dictionaries each of which SHALL contain
135136
at least the following two keys:
@@ -162,6 +163,24 @@ contain a string in RFC 29 *Hostlist Format*, e.g. ``host[0-16]``.
162163

163164
The ``execution`` key MAY also contain any of the following optional keys:
164165

166+
**properties**
167+
The optional properties key SHALL be a dictionary where each key maps a
168+
single property name to a RFC 22 idset string. The idset string SHALL
169+
represent a set of execution target ranks. A given execution target
170+
rank MAY appear in multiple property mappings. Property names SHALL
171+
be valid UTF-8, and MUST NOT contain the following illegal characters:
172+
173+
::
174+
175+
! & ' " ^ ` | ( )
176+
177+
Additionally, the ``@`` character is reserved for scheduler specific
178+
property use. Any suffix that appears after the ``@`` character in a
179+
property name SHALL be a scheduler-specific string. For example,
180+
``amd-mi50@gpu``, ``amd-mi50`` SHALL be the property string, but a
181+
scheduler MAY use the ``gpu`` suffix to perform scheduling optimization
182+
for gpus of the corresponding ranks.
183+
165184
**starttime**
166185
The value of the ``starttime`` key, if present, SHALL
167186
encode the start time at which the resource set is valid. The

0 commit comments

Comments
 (0)