Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

you are right. but even in case where you have to retract prior conclusions, it is possible to to fold accumulators to maintain global consistency.

for example as you said: global_sum() = accum1.sum() + accum2.sum()

global_min():

  accum3 = [accum1.min(), accum2.min()]

  global_min = accum3.min()
any non-monotonic computation can be split into monotonic, where they process the bulk of the data, and folding the results to product the final result


Min is also logically monotonic in the same sense though, right? As a min accumulator I can throw away all past information once I've computed my result and never have consistency issues in light of new data.

A better example would be reachability analysis in a DAG - here you really do have monotonicity failure when merging results from multiple workers.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: