@@ -53,6 +53,8 @@ $graph:
53
53
54
54
* `coresMin` and `coresMax` of
55
55
[ResourceRequirement](#ResourceRequirement) may now request fractional CPUs.
56
+ * `ramMin`, `ramMax`, `tmpdirMin`, `tmpdirMax`, `outdirMin`, and `outdirMax` of
57
+ [ResourceRequirement](#ResourceRequirement) now accept floating point values.
56
58
* (CommandLineTool)[#CommandLineTool] can now express `intent`
57
59
with an identifier for the type of computational operation.
58
60
* Added conformance tests for order of operations evaluating `secondaryFiles` on input
@@ -1100,15 +1102,20 @@ $graph:
1100
1102
doc : |
1101
1103
Specify basic hardware resource requirements.
1102
1104
1103
- "min" is the minimum amount of a resource that must be reserved to schedule
1104
- a job. If "min" cannot be satisfied, the job should not be run.
1105
+ "min" is the minimum amount of a resource that must be reserved to
1106
+ schedule a job. If "min" cannot be satisfied, the job should not
1107
+ be run.
1105
1108
1106
- "max" is the maximum amount of a resource that the job shall be permitted
1107
- to use. If a node has sufficient resources, multiple jobs may be scheduled
1108
- on a single node provided each job's "max" resource requirements are
1109
- met. If a job attempts to exceed its "max" resource allocation, an
1110
- implementation may deny additional resources, which may result in job
1111
- failure.
1109
+ "max" is the maximum amount of a resource that the job shall be
1110
+ allocated. If a node has sufficient resources, multiple jobs may
1111
+ be scheduled on a single node provided each job's "max" resource
1112
+ requirements are met. If a job attempts to exceed its resource
1113
+ allocation, an implementation may deny additional resources, which
1114
+ may result in job failure.
1115
+
1116
+ If both "min" and "max" are specified, an implementation may
1117
+ choose to allocate any amount between "min" and "max", with the
1118
+ actual allocation provided in the `runtime` object.
1112
1119
1113
1120
If "min" is specified but "max" is not, then "max" == "min"
1114
1121
If "max" is specified by "min" is not, then "min" == "max".
@@ -1163,28 +1170,58 @@ $graph:
1163
1170
See `coresMin` for discussion about fractional CPU requests.
1164
1171
1165
1172
- name : ramMin
1166
- type : ["null", long, Expression]
1167
- doc : Minimum reserved RAM in mebibytes (2**20) (default is 256)
1173
+ type : ["null", long, float, Expression]
1174
+ doc : |
1175
+ Minimum reserved RAM in mebibytes (2**20) (default is 256)
1176
+
1177
+ May be a fractional value. If so, the actual RAM request must
1178
+ be rounded up to the next whole number. The reported amount of
1179
+ RAM reserved for the process, which is available to
1180
+ expressions on the CommandLineTool as `runtime.ram`, must be a
1181
+ non-zero integer.
1168
1182
1169
1183
- name : ramMax
1170
- type : ["null", long, Expression]
1171
- doc : Maximum reserved RAM in mebibytes (2**20)
1184
+ type : ["null", long, float, Expression]
1185
+ doc : |
1186
+ Maximum reserved RAM in mebibytes (2**20)
1187
+
1188
+ See `ramMin` for discussion about fractional RAM requests.
1172
1189
1173
1190
- name : tmpdirMin
1174
- type : ["null", long, Expression]
1175
- doc : Minimum reserved filesystem based storage for the designated temporary directory, in mebibytes (2**20) (default is 1024)
1191
+ type : ["null", long, float, Expression]
1192
+ doc : |
1193
+ Minimum reserved filesystem based storage for the designated temporary directory, in mebibytes (2**20) (default is 1024)
1194
+
1195
+ May be a fractional value. If so, the actual storage request
1196
+ must be rounded up to the next whole number. The reported
1197
+ amount of storage reserved for the process, which is available
1198
+ to expressions on the CommandLineTool as `runtime.tmpdirSize`,
1199
+ must be a non-zero integer.
1176
1200
1177
1201
- name : tmpdirMax
1178
- type : ["null", long, Expression]
1179
- doc : Maximum reserved filesystem based storage for the designated temporary directory, in mebibytes (2**20)
1202
+ type : ["null", long, float, Expression]
1203
+ doc : |
1204
+ Maximum reserved filesystem based storage for the designated temporary directory, in mebibytes (2**20)
1205
+
1206
+ See `tmpdirMin` for discussion about fractional storage requests.
1180
1207
1181
1208
- name : outdirMin
1182
- type : ["null", long, Expression]
1183
- doc : Minimum reserved filesystem based storage for the designated output directory, in mebibytes (2**20) (default is 1024)
1209
+ type : ["null", long, float, Expression]
1210
+ doc : |
1211
+ Minimum reserved filesystem based storage for the designated output directory, in mebibytes (2**20) (default is 1024)
1212
+
1213
+ May be a fractional value. If so, the actual storage request
1214
+ must be rounded up to the next whole number. The reported
1215
+ amount of storage reserved for the process, which is available
1216
+ to expressions on the CommandLineTool as `runtime.outdirSize`,
1217
+ must be a non-zero integer.
1184
1218
1185
1219
- name : outdirMax
1186
- type : ["null", long, Expression]
1187
- doc : Maximum reserved filesystem based storage for the designated output directory, in mebibytes (2**20)
1220
+ type : ["null", long, float, Expression]
1221
+ doc : |
1222
+ Maximum reserved filesystem based storage for the designated output directory, in mebibytes (2**20)
1223
+
1224
+ See `outdirMin` for discussion about fractional storage requests.
1188
1225
1189
1226
1190
1227
- type : record
0 commit comments