Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated glossary: clarified Future, AppFuture, and DataFuture; added … #3789

Closed
wants to merge 4 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 24 additions & 1 deletion docs/userguide/glossary.rst
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,30 @@ An executor is a manager that determines which app runs on which resource and wh
Future
------

A future is a placeholder for the result of a task that hasn't finished yet. Both AppFuture and DataFuture are types of Futures. You can use the ``.result()`` method to get the actual result when it's ready.
A future is a placeholder for the result of a task that hasn't finished yet. Parsl provides two specialized types of futures: **AppFuture** and **DataFuture**.

- **AppFuture** represents the result of an app (function execution) that runs in the background. You can retrieve the result using `.result()`.
- **DataFuture** represents a **file-based dependency** produced by an app. You can retrieve it using `.fetch()`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The fetch here should also be replaced with result

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe also mention that the DataFutures are part of the outputs of an AppFuture, and that calling .result() gives you a path of a file holding the data.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thankyou so much for your feedback I have made the changes further,Kindly review and merge my PR.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fetch in the above documentation is wrong. No such command exists in Parsl. Could you change it and also describe that DataFutures are always created as part of an AppFuture?


Both types allow Parsl to manage and track asynchronous computations efficiently.

Comparison: AppFuture vs. DataFuture
++++++++++++++++++++++++++++++++++++

The following table highlights the differences between AppFuture and DataFuture:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure if the table adds much more over the bullet point list. Do you think the two provide different information?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have added a table because I thought it adds more readability and understanding. Let me know if you want me to do any changes.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd suggest removing the table, as it duplicates information from the above paragraph and implies that the output of a Parsl function could be either App or Data. It's always App


+---------------+----------------------+------------------------+
| Feature | AppFuture | DataFuture |
+===============+======================+========================+
| Represents | Function execution | File produced by an app|
| Use Case | Track function call | Track data dependency |
| Access Method | `.result()` | `.result()` |
| Example | `future = my_func()` | `data_future = write()`|
+---------------+----------------------+------------------------+

This distinction helps users understand when to use **AppFuture** versus **DataFuture** in Parsl workflows.



.. _jobglossary:

Expand Down
Loading