A group based fault tolerant scheduling mechanism to improve the application turnaround time on desktop grids