A Principled Approach to Parallel Job Scheduling