Practical size-based scheduling for MapReduce workloads