Machovec, Dylan, authorSiegel, H. J., advisorMaciejewski, Anthony A., committee memberPasricha, Sudeep, committee memberBurns, Patrick, committee member2021-09-062021-09-062021https://hdl.handle.net/10217/233853The need for high performance computing (HPC) resources is rapidly expanding throughout many technical fields, but there are finite resources available to meet this demand. To address this, it is important to effectively manage these resources to ensure that as much useful work as possible is completed. In this research, HPC systems executing parallel jobs are considered with and without energy constraints. Additionally, the case where preemption is available is considered for HPC systems executing only serial jobs. Dynamic resource management techniques are designed, evaluated, and compared in heterogeneous environments to assign jobs to HPC nodes. These techniques are evaluated based on system-wide performance measures (value or utility), which quantify the amount of useful work accomplished by the HPC system. Near real-time heuristics are designed to optimize performance in specific environments and the best performing techniques are combined using intelligent metaheuristics that dynamically switch between heuristics based on the characteristics of the current environment. Resource management techniques also are designed for the assignment of unmanned aerial vehicles (UAVs) to surveil targets, where performance is characterized by a value-based performance measure and each UAV is constrained in its total energy consumption.born digitaldoctoral dissertationsengCopyright and other restrictions may apply. User is responsible for compliance with all applicable laws. For information about copyright law, please see https://libguides.colostate.edu/copyright.Dynamic resource management in heterogeneous systems: maximizing utility, value, and energy-efficiencyText