Cost-Driven Scheduling of Grid Workflows Using Partial Critical Paths