Concurrent algorithm