Juggling competing demands in a network of feverishly calculating computers drawing on the same memory resources is like trying to avert collisions among blindfolded, randomly zigzagging ice skaters.
Among networked computers, some sort of software scheduler must act as a referee to regulate data flow. Proving that a given scheduler not only prevents conflicts but also performs its duties efficiently can be surprisingly difficult, however. Computer scientists have found that analyzing even simple data-sharing cases can be troublesome.