@@ -6,46 +6,11 @@ Platforms
6
6
.. admonition :: Does This Change Affect Me?
7
7
:class: tip
8
8
9
- .. cylc-scope :: flow.cylc
9
+ Cylc platforms are a new feature which replace the task ``job `` and
10
+ ``remote `` configuration sections:
10
11
11
- Platforms replace the deprecated :cylc:conf: `[runtime][<namespace>][job] `
12
- and :cylc:conf: `[runtime][<namespace>][remote] `
13
- sections:
14
-
15
- .. code-block :: cylc
16
-
17
- [runtime]
18
- [[foo]]
19
- [[[job]]]
20
- batch system = slurm
21
- [[[remote]]]
22
- host = my_supercomputer
23
-
24
- .. cylc-scope ::
25
-
26
- Read this section if your workflow's jobs run on a remote computer or if
27
- you see the following warning on running ``cylc validate ``:
28
-
29
- .. code-block :: console
30
-
31
- WARNING - deprecated settings found (please replace with [runtime][foo]platform):
32
- [runtime][foo][remote]host
33
- [runtime][foo][job]batch system
34
-
35
- If you currently use the ``rose host-select `` utility or a similar host
36
- selection or load balancing utility the intelligent host selection
37
- functionality of Cylc 8 may be used instead:
38
-
39
- .. code-block :: cylc
40
-
41
- [runtime]
42
- [[task1]]
43
- [[[remote]]]
44
- host = $(rose host-select my-computer)
45
- [[task2]]
46
- # An example of a home-rolled host selector
47
- [[[remote]]]
48
- host = $(test $((RANDOM%2)) -eq 0 && echo "host_a" || echo "host_b")
12
+ * :cylc:conf: `[runtime][<namespace>][job] `
13
+ * :cylc:conf: `[runtime][<namespace>][remote] `
49
14
50
15
51
16
Overview
@@ -57,23 +22,17 @@ Overview
57
22
- The terms :term: `job runner ` (in Cylc 8 configurations) and batch system
58
23
(in Cylc 7 configurations) are equivalent.
59
24
60
- Cylc 7 defines settings for remote :term: `jobs <job> ` in each
61
- :term: `task's <task> ` definition.
62
-
63
- Cylc 8 allows site administrators (and users) to configure
64
- :term: `platforms <platform> ` in ``global.cylc ``. A platform can have
65
- multiple hosts with associated platform-specific settings. Users only need to
66
- select the platform for their task jobs.
25
+ Submitting a job to a :term: `job runner ` may require configuration.
67
26
68
- Platforms also define how hosts are selected from each platform:
27
+ In Cylc 7 this configuration must be provided for each task in the workflow
28
+ configuration (``suite.rc ``).
69
29
70
- - Randomly (default)
71
- - By definition order
30
+ In Cylc 8 "platforms" can be defined in the global configuration
31
+ (:cylc:conf: `global.cylc `) so that this configuration doesn't have to be
32
+ repeated for each task in each workflow.
72
33
73
- There may be cases where sets of platforms (for example a group of
74
- standalone compute servers, or a pair of mirrored HPC's) might be equally
75
- suitable for a task, but not share files systems to allow them to constitute
76
- a single platform. Such platforms can be set up to be ``platform groups ``
34
+ Cylc "platforms" may configure hostnames, job runners and more. Only the
35
+ platform name needs to be specified in the task configuration.
77
36
78
37
.. seealso ::
79
38
@@ -92,6 +51,20 @@ a single platform. Such platforms can be set up to be ``platform groups``
92
51
Deprecated settings will be removed in a later release of Cylc.
93
52
94
53
54
+ What is a Platform?
55
+ -------------------
56
+
57
+ A "platform" represents one or more hosts from which jobs can be submitted to or
58
+ polled from a common job submission system.
59
+
60
+ If a platform has multiple hosts Cylc will automatically select a host when
61
+ needed and will fallback to other hosts if it is not contactable.
62
+
63
+ A "platform group" represents a collection of independent platforms. Cylc will
64
+ automatically select a platform and will fallback to other platforms in the
65
+ group (for appropriate operations) if the platform is not contactable.
66
+
67
+
95
68
Examples
96
69
--------
97
70
0 commit comments