1. A method for scheduling one or more MapReduce jobs in a presence of one or more priority classes, wherein the method comprises: obtaining a preferred ordering for one or more MapReduce jobs, wherein the preferred ordering comprises one or more priority classes; prioritizing the one or more priority classes subject to one or more dynamic minimum slot guarantees for each priority class; and iteratively employing a MapReduce scheduler, once per priority class, in priority class order, to optimize performance of the one or more MapReduce jobs.