Scalable Fault Tolerant Protocol for Parallel Runtime Environments