Why use the asynchronous API?

WARNING - TOPIC NOT WRITTEN - TOPIC ID: 1535

This topic has not yet been written. The content below is from the topic description.
Why use such an API? Non-blocking APIs are powerful in that they provide all of the guarantees of synchronous communications - with the ability to handle communication failures and exceptions - with the ease of not having to block until a call completes.  This allows you to better harness parallelism in your system.