From 0e5de7766173a2812183c5c26759c1c27e8d8e40 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Wed, 2 Oct 2024 01:07:28 +0100 Subject: propnet: Explain in detail why we never cancel running propagators. * ravanan/propnet.scm (poll-propnet): Add detailed comment elaborating on why we never cancel or forget about running propagators. --- ravanan/propnet.scm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/ravanan/propnet.scm b/ravanan/propnet.scm index ca5c629..e6155d8 100644 --- a/ravanan/propnet.scm +++ b/ravanan/propnet.scm @@ -210,8 +210,15 @@ add to the inbox." cell-values-inbox other-propagators ;; We don't need to cancel or forget about previous runs of the - ;; same propagator because cells only "accumulate" information; - ;; they never remove it. + ;; same propagator because cells only *accumulate* information; + ;; they never remove it. Any previous runs of the same + ;; propagator will only *add to* the information in the output + ;; cells. Previous runs may be closer to completion and taking + ;; advantage of their output may allow later stages to start + ;; running sooner, thus improving throughput. In our CWL + ;; application of propnets, this will never result in the same + ;; step being recomputed; so this approach does not come at a + ;; higher computational cost. (append (maybe-alist (cons (propagator-name propagator) (activate-propagator -- cgit v1.2.3