A Fault-Tolerance Protocol for Parallel Applications with Communication Imbalance