Asynchronous: there are parallel versions of iterative algorithms like belief propagation and successive over-relaxation that, unlike Life, tolerate stale data and thus don't need a heartbeat. (Real implementations on systems that are not sequentially consistent might need a write barrier though.)
Semi-asychronous: pretty much every data structure with fine-grained locking. The usual idea is to lock only the part being worked on (e.g., for a binary search tree, lock the path from the root, probably with reader-writer locks).