Portable checkpointing and communication for BSP applications on dynamic heterogeneous Grid environments