Liu, Feng2019-03-132019-03-132018-12https://hdl.handle.net/11299/202169University of Minnesota Ph.D. dissertation. December 2018. Major: Computer Science. Advisor: Jon Weissman. 1 computer file (PDF); viii, 95 pages.High Performance Computing (HPC) aggregates the power of computer clusters to tackle large problems empowering science. HPC resource scheduling today is faced with multiple challenges. Firstly, most HPC clusters are managed by queue batch systems. Batch scheduler maximizes application run-time efficiency while sacrifices response time and sometimes utilization. Secondly, HPC clusters reserved for on-demand data analysis are operated at low utilization. Thirdly, multiple heterogeneous and dynamic HPC resources greatly complicate resource scheduling for distributed applications. To solve these problems, this thesis presents several elastic scheduling approaches. Elasticity means the ability to dynamically allocate resources based on workloads. Elasticity is commonly supported in Cloud but is lacking in HPC. Our approaches include new scheduling algorithms and implementations of the algorithms as services. Our services leverage existing techniques and are non-invasive, meaning that they minimize the changes to user interfaces. We address the first problem using Elastic Job Bundling (EJB), a technique that dynamically transforms a large batch job into multiple smaller subjobs so that the subjobs will start early on immediately available resources. Simulation results show that our approach reduces application mean turnaround time by up to 48%, reduces resource fragmentation by up to 59%, and reduces priority inversions by 20%. We address the second problem using Balancer, a technique that combines and dynamically moves nodes between an on-demand cluster and a batch cluster. Our results show that for a real-life scenario, our approach reduces the current investment in on-demand cluster by 82% while at the same time improving the mean batch wait time by 8x. We address the third problem using Bundle, a resource abstraction that represents heterogeneous resource capacities and capabilities in a uniform way. We implement Bundle as a service on 10+ heterogeneous HPC resources. We use Bundle to draw on insights of resources.enElastic Scheduling in HPC Resource Management SystemsThesis or Dissertation