2014 · 418 citations · 23 references
ComputingComputer EngineeringComputer ScienceCluster ComputingParallel ComputingSchedulingCompute Resource ManagementData ParallelismJob SchedulingResource SchedulingResource-constrained SchedulingTask SchedulingCluster Resource ManagementCluster SchedulingFairnessHeuristicsMulti-resource SchedulingParallel Job SchedulingParallel Performance OptimizationScheduler Design
Tasks in modern data parallel clusters have highly diverse resource requirements, along CPU, memory, disk and network. Any of these resources may become bottlenecks and hence, the likelihood of wasting resources due to fragmentation is now larger. Today's schedulers do not explicitly reduce fragmentation. Worse, since they only allocate cores and memory, the resources that they ignore (disk and network) can be over-allocated leading to interference, failures and hogging of cores or memory that could have been used by other tasks. We present Tetris, a cluster scheduler that packs, i.e., matches multi-resource task requirements with resource availabilities of machines so as to increase cluster efficiency (makespan). Further, Tetris uses an analog of shortest-running-time-first to trade-off cluster efficiency for speeding up individual jobs. Tetris' packing heuristics seamlessly work alongside a large class of fairness policies. Trace-driven simulations and deployment of our prototype on a 250 node cluster shows median gains of 30% in job completion time while achieving nearly perfect fairness.
23
Michael Isard, Mihai Budiu, Yuan Yu et al. · 2007 · 2.5K citations
Albert Greenberg, James R. Hamilton, Navendu Jain et al. · 2009 · 2.1K citations
A scalable, commodity data center network architecture
Mohammad Al-Fares, Alexander Loukissas, Amin Vahdat · 2008 · 1.7K citations · Full text
Ashish Thusoo, Joydeep Sen Sarma, Namit Jain et al. · Proceedings of the VLDB Endowment · 2009 · 1.5K citations