GPI-2 is an API for the development of scalable, asynchronous and fault tolerant parallel applications