Skip to content

Commit 2474c95

Browse files
committed
rfc26: add background section
Problem: the dependency representation is explained with much context, making it a bit unclear. Add a background section that summarizes the DEPEND job state and the dependency-add and dependency-remove events described in RFC 21.
1 parent b99f6b7 commit 2474c95

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

spec_26.rst

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ Related Standards
2424

2525
- :doc:`14/Canonical Job Specification <spec_14>`
2626
- :doc:`19/Flux Locally Unique ID <spec_19>`
27+
- :doc:`21/Job States and Events <spec_21>`
2728
- `OpenMP Specification <https://www.openmp.org/wp-content/uploads/OpenMP-API-Specification-5.0.pdf>`__
2829
- `IETF RFC3986: Uniform Resource Identifier (URI) <https://tools.ietf.org/html/rfc3986>`__
2930

@@ -39,6 +40,31 @@ Goals
3940
(DAG).
4041
- Describe a mechanism for specifying more advanced, runtime dependencies.
4142

43+
44+
Background
45+
----------
46+
47+
RFC 21 defines a DEPEND state for jobs, which is exited once all job
48+
dependencies have been satisfied, or a fatal exception has occurred.
49+
The job must progress through DEPEND and PRIORITY states before reaching
50+
SCHED state, therefore, dependency processing is independent of the scheduler.
51+
52+
When a job enters DEPEND state, job manager plugins post ``dependency-add``
53+
events to the job eventlog, as described in RFC 21. Plugins may add
54+
dependencies based on explicit user requests in the jobspec, or based on
55+
other implementation-dependent criteria.
56+
57+
As dependencies are satisfied, job manager plugins post ``dependency-remove``
58+
events to the job eventlog, as described in RFC 21. The job may leave DEPEND
59+
state once all added dependencies have been removed.
60+
61+
Built-in job manager plugins handle the simple dependency schemes described
62+
below. Job manager plugins may be added to handle new schemes as needed.
63+
Plugins may be self contained, or may outsource dependency processing to a
64+
service outside of the job manager; for example, a separate broker module
65+
or an entity that is not part of Flux.
66+
67+
4268
Job Dependency Definition
4369
-------------------------
4470

0 commit comments

Comments
 (0)