Issue No. 02 - Feb. (2018 vol. 29)
Benjamin Tovar , University of Notre Dame, Notre Dame, IN
Rafael Ferreira da Silva , Information Sciences Institute, University of Southern California, Marina Del Rey, CA
Gideon Juve , Information Sciences Institute, University of Southern California, Marina Del Rey, CA
Ewa Deelman , Information Sciences Institute, University of Southern California, Marina Del Rey, CA
William Allcock , Argonne National Laboratory, Lemont, IL
Douglas Thain , University of Notre Dame, Notre Dame, IN
Miron Livny , University of Wisconsin, Madison, WI
The user of a computing facility must make a critical decision when submitting jobs for execution: how many resources (such as cores, memory, and disk) should be requested for each job? If the request is too small, the job may fail due to resource exhaustion; if the request is too large, the job may succeed, but resources will be wasted. This decision is especially important when running hundreds of thousands of jobs in a high throughput workflow, which may exhibit complex, long tailed distributions of resource consumption. In this paper, we present a strategy for solving the job sizing problem: (1) applications are monitored and measured in user-space as they run; (2) the resource usage is collected into an online archive; and (3) jobs are automatically sized according to historical data in order to maximize throughput or minimize waste. We evaluate the solution analytically, and present case studies of applying the technique to high throughput physics and bioinformatics workflows consisting of hundreds of thousands of jobs, demonstrating an increase in throughput of 10-400 percent compared to naive approaches.
Throughput, Resource management, Random access memory, Physics, Monitoring, Tools, Feedback loop
B. Tovar et al., "A Job Sizing Strategy for High-Throughput Scientific Workflows," in IEEE Transactions on Parallel & Distributed Systems, vol. 29, no. 2, pp. 240-253, 2018.