Hi! I'm new here, a terrible computer-scientist, and have no idea what I'm doing; I'm more expecting / hoping for links to research on algorithms or data-structures that contribute to problems like this, than a straightforward answer (I don't even know how to properly ask the question.)In some programming-language work of mine, I've got a ginormous, homogenous, directed graph, on disjoint subgraphs of which multiple actors operate concurrently.One such operation is to add an element to an ordered set, supplicants, on a given node (it's a behaviour to declare I'm waiting for write-access to this structure, basically.) That membership is cascaded through the graph to some extent (i.e. adding an element to $a$'s supplicants, when $ab$, places that same element in $b$'s supplicants as well.)Now, normally, in my situation, the above bit where these two subgraphs are disjoint is guaranteed  at the time. However, there's an edge case where two such subgraphs both have different values added to supplicants while disjoint, and are then joined. In this situation, I'm not sure how to deterministically order the two sets of supplicants amongst one-another.I've heard of things like vertex clocks that I'd hoped might help with this, but after looking into it a bit today, none of the mechanisms I'm aware of are very helpful in this situation. The actors are unaware of eachother working adjacently (or soon-to-be-adjacently, when they're joined). To make them aware of eachother would defeat the point (i.e. if participant $\text{foo}$ had to walk over (all|most) of the graph leaving supplicants hints that currently-working-disjoint-but-maybe-someday-not participants could find, and order themselves against, would be as pointless as just having a single globally-locked set shared amongst all threads); so I'm looking for some sort of lockless algorithm or distributed-systems solution for them to collaborate without(?) explicit communication.(i.e., all of programming. :P)
Retroactively ordering actors' concurrent activity on disjoint sections of a data-structure
graphs;programming languages;distributed systems;partial order