Why does Charm++ use asynchronous methods?
Asynchronous method invocation is more efficient because it can be implemented as a single message send. Unlike with synchronous methods, thread blocking and unblocking and a return message are not needed. Another big advantage of asynchronous methods is that it’s easy to make things run in parallel.