diff --git a/docs/userguide/execution.rst b/docs/userguide/execution.rst index 832985c164..8b190fa7b2 100644 --- a/docs/userguide/execution.rst +++ b/docs/userguide/execution.rst @@ -87,6 +87,9 @@ Parsl currently supports the following executors: 4. `parsl.executors.taskvine.TaskVineExecutor`: This executor uses `TaskVine `_ as the execution backend. TaskVine scales up to tens of thousands of cores and actively uses local storage on compute nodes to offer a diverse array of performance-oriented features, including: smart caching and sharing common large files between tasks and compute nodes, reliable execution of tasks, dynamic resource sizing, automatic Python environment detection and sharing. These executors cover a broad range of execution requirements. As with other Parsl components, there is a standard interface (ParslExecutor) that can be implemented to add support for other executors. +5. `parsl.executors.globus_compute.GlobusComputeExecutor`: This executor uses `Globus Compute `_ +as the execution backend to run functions on remote systems. + .. note:: Refer to :ref:`configuration-section` for information on how to configure these executors. diff --git a/parsl/executors/globus_compute.py b/parsl/executors/globus_compute.py index ac484beee4..685ee285e6 100644 --- a/parsl/executors/globus_compute.py +++ b/parsl/executors/globus_compute.py @@ -24,6 +24,15 @@ class GlobusComputeExecutor(ParslExecutor, RepresentationMixin): Refer to `globus-compute user documentation `_ and `reference documentation `_ for more details. + + .. note:: + As a remote execution system, Globus Compute relies on serialization to ship + tasks and results between the Parsl client side and the remote Globus Compute + Endpoint side. Serialization is unreliable across python versions, and + wrappers used by Parsl assume identical Parsl versions across on both sides. + We recommend using matching Python, Parsl and Globus Compute version on both + the client side and the endpoint side for stable behavior. + """ def __init__(