<div dir="ltr"><br><div class="gmail_quote">2008/10/10 Daniel Goertzen <span dir="ltr"><<a href="mailto:daniel.goertzen@gmail.com">daniel.goertzen@gmail.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div dir="ltr">How about 1 process for each cell, but no processes for the ants. The ants exist as state inside each cell and as messages interrogating neighboring cells. I think you'll get nice fine-grained localized transactions this way.<br>
<br>Dan.<br><br></div></blockquote></div><br>Using that method, I think you'll still have the same issue with transactions. For
instance: if two cells decide to move their ant to the same adjacent
cell, you will have the same conflict and one ant will have to be
rolled back. <br>
It may not even be more efficient message-wise because instead of the
ant sending a message to an adjacent cell, the cell simply sends the
same message to the adjacent cell on behalf of the ant. <br>
<br>
Of course we could go existentialist and say that there is no board
except what the ants perceive, and since they can only see one square
in any direction, that would imply that there is 1 process for each ant
and no process for a board (or any data for that matter). This would mean that if there are no ants
on a section of board it would cease to exist. The only way to
reconstitute it would be to mathematically prove that it exists. e.g.
The ant was at 5,5 and moved 3 east, 8 < 64, therefore, the board
exists. <br>
<br>
One could extend this method with a Paxos algorithm so that the ants
could achieve consensus as to the existence of Board. <br>
<br><br>
</div>