Skip to content

Commit deeb1ee

Browse files
728: simplify platforms section
1 parent abf960d commit deeb1ee

File tree

1 file changed

+26
-53
lines changed

1 file changed

+26
-53
lines changed

src/7-to-8/major-changes/platforms.rst

Lines changed: 26 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -6,46 +6,11 @@ Platforms
66
.. admonition:: Does This Change Affect Me?
77
:class: tip
88

9-
.. cylc-scope:: flow.cylc
9+
Cylc platforms are a new feature which replace the task ``job`` and
10+
``remote`` configuration sections:
1011

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]`
4914

5015

5116
Overview
@@ -57,23 +22,17 @@ Overview
5722
- The terms :term:`job runner` (in Cylc 8 configurations) and batch system
5823
(in Cylc 7 configurations) are equivalent.
5924

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.
6726

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``).
6929

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.
7233

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.
7736

7837
.. seealso::
7938

@@ -92,6 +51,20 @@ a single platform. Such platforms can be set up to be ``platform groups``
9251
Deprecated settings will be removed in a later release of Cylc.
9352

9453

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+
9568
Examples
9669
--------
9770

0 commit comments

Comments
 (0)