Don't use buffered memory for output
Use buffered memory to cache mpi buffer

Haven't finished