X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/88ba6cd5952a9a7a58a8a0d9c5ae0691a1fdc5e1..3547772c2f2424e6b3f7d4b7414e939947e7c3f4:/NOTES diff --git a/NOTES b/NOTES index 079372b..53bce11 100644 --- a/NOTES +++ b/NOTES @@ -35,6 +35,7 @@ thread, and a load-balancer thread. | if we received some real load, get it (data messages) | if there is some real load to send, send it | if we own some load, simulate some computing on it + | sleep a bit if we are looping too fast +- send CLOSE on data for all neighbors wait for CLOSE on data from all neighbors @@ -48,6 +49,7 @@ thread, and a load-balancer thread. Loop | call load-balancing algorithm | send ctrl messages + | sleep (min_lb_iter_duration) | receive ctrl messages +- send CLOSE on ctrl for all neighbors @@ -56,10 +58,20 @@ thread, and a load-balancer thread. The loop terminates when process::still_running() returns false. (read the source for full details...) -Open questions -============== - * definition of load on heterogeneous hosts? - * how to detect convergence? - : No need to detect convergence. Computation stops when there - nothing more to do. - * how to manage link failures? +Some notes about *load attributes +================================= +process::real_load Current *real* load. + Used for the computations. + Displayed in log messages. + +process::expected_load Current load estimation. + Used for load-balancing estimation, and for + diffusing to neighbors. + * Without bookkeeping, it equals real_load + minus pending sends. + * With bookkeeping, it corresponds to the + "virtual load". + +process::received_load Real load received from neighbors. + Used when receiveing data messages, and then + added to real_load.