Thursday, September 08, 2005
Jim Grey via Jon Udelllinks to this post (0) comments
The whole business about asynchrony, what makes it complicated is the following, and it's not obvious that this is what makes it complicated but I think it's what makes it complicated, is that in a sequential program you think of a state machine, and you're in this state and then this state, and the number of states you can be in is n. Now you have two computers that are operating asynchronously, they each have n states, the problem is that the state space of the pair is n times n. The combinatorics is what drives you crazy. It makes testing really tough. It just makes conceptualization hard. So in fact the way people deal with it is to make it sequential. They put in locks, and say you do this and then I'll do this, and they cut that state space down to something they can get their head around.