Skip to content
Snippets Groups Projects
Commit 4643780e authored by Ali Mohammed's avatar Ali Mohammed
Browse files

Update FAQs with more questions and answers from...

Update FAQs with more questions and answers from https://gitlab.version.fz-juelich.de/maestro/maestro-core/-/issues/29
in README.md
parent 4eb66845
Branches
Tags
No related merge requests found
...@@ -196,6 +196,23 @@ Doxygen documentation is available and compiled in [docs](./docs) folder. ...@@ -196,6 +196,23 @@ Doxygen documentation is available and compiled in [docs](./docs) folder.
is a chance that your firewalling intercepts the packages. is a chance that your firewalling intercepts the packages.
* ##### Is it safe to invalidate the pointer to data wrapped by an offered cdo, given that ownership has passed to maestro core? (We keep hold onto the cdo handle itself of course.)
No, the allocation that was captured in the cdo handle must not be touched until after DISPOSE. Of course you can forget the pointer you have, but you must not re-use the allocation or free it.
* ##### Does a producer have to check whether an offered cdo has been consumed (DEMANDed), and wait until it is, before calling (withdraw followed by) dispose?
A producer cannot directly figure that out (unless you do complicated event ops). The idea is: The consumer must submit the REQUIRE before the WITHDRAW occurs. This can be accomplished by
1. pre-posting the REQUIRE, or
2. by posting it after observing an OFFER:before or OFFER:after event (for safety with a 'require-ack' flag or any earlier event, like DECLARE or SEAL),
3. by posting it in a WITHDRAW:before with require-ack set.
In all these cases Maestro will ensure that the REQUIRE can be satisfied, by taking a copy (more or less eagerly, this is to be tuned], or by blocking WITHDRAW.
* ##### Should withdraw be needed at all if an offered cdo is consumed by another application?
Every OFFER must be followed by WITHDRAW (and DISPOSE); every REQUIRE must be followed by RETRACT or DEMAND (and DISPOSE). Remember that one OFFER can satisfy many REQUIRES for the same CDO; WITHDRAW indicates that you're no longer ready to do so (and maestro needs to ensure outstanding REQUIRES can still be satisfied if their DEMAND comes in)
* ##### Should dispose block until an offered cdo is consumed by another? Or will it only block if there has already been a require posted?
WITHDRAW may block if maestro decides that it cannot or does not want to take a copy and there is at least one outstanding REQUIRE for the CDO, or a DEMAND is still in progress. DISPOSE should never block (but may take some time -- but not related to the pool protocol).
# Authors and acknowledgment # Authors and acknowledgment
[Data Orchestration in High Performance Computing](https://www.maestro-data.eu/) project has received funding from the European Union’s Horizon 2020 research and innovation program through grant agreement 801101. [Data Orchestration in High Performance Computing](https://www.maestro-data.eu/) project has received funding from the European Union’s Horizon 2020 research and innovation program through grant agreement 801101.
... ...
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment