Distributed algorithms for message-passing systems (2013)