Precise Job Sizing: Maximizing Throughput in High-Throughput Scientific Workflows

A Job Sizing Strategy for High-Throughput Scientific Workflows

2017-10-12
Benjamín Tovar, Rafael Ferreira da Silva, Gideon Juve, Ewa Deelman, William E. Allcock, Douglas Thain, Miron Livny
Summary
Problem
Method
Results
Takeaways
Abstract

This paper introduces an automated job sizing strategy for High-Throughput Computing (HTC) workflows, utilizing a resource feedback loop to optimize task submissions. By implementing user-space monitoring and historical data archiving, the authors propose the "Slow-Peaks" model to calculate optimal initial resource allocations that balance throughput and waste.

TL;DR

Efficiently running hundreds of thousands of jobs in a distributed environment requires a delicate balance: request too few resources, and your jobs crash; request too many, and you waste expensive compute time. This paper introduces an automated Job Sizing Strategy that uses historical data and user-level monitoring to predict the "sweet spot" for resource allocation. By balancing the cost of failure against the cost of waste, the authors achieved throughput gains of up to 400%.

The Dilemma: Waste vs. Failure

In High-Throughput Computing (HTC), the user must specify resource requirements (cores, memory, disk) for every job. This is notoriously difficult because:

  1. User Ignorance: Domain experts often develop code on laptops and have no idea how it scales in a cluster.
  2. Long-Tailed Distributions: Similar jobs (e.g., analyzing different data subsets) exhibit highly variable resource footprints.
  3. The Static Allocation Penalty: Most batch systems (like HTCondor) kill jobs the moment they exceed their requested limit.

The common "safe" strategy is to request the maximum possible resource for every job. However, as shown in the paper's analysis of CMS physics workflows, this results in over 70% of resources sitting idle—an enormous waste of scientific infrastructure.

Methodology: The Resource Feedback Loop

The authors propose a "Feedback Loop" architecture consisting of three stages:

  1. User-Level Monitoring: A wrapper tool tracks the entire process tree of a job to record peak resource usage without requiring admin privileges.
  2. Historical Archive: A database stores these "resource summaries" indexed by user-defined categories.
  3. Automated Sizing: Algorithms evaluate the history to pick the first allocation size ().

The "Slow-Peaks" Model

The core logic relies on the Slow-Peaks model. It assumes that if a job is going to fail due to resource exhaustion, it will likely do so near the end of its execution (the worst-case scenario for waste).

The authors provide two optimization objectives:

  • Minimizing Waste: Balancing the probability of over-allocation waste against the "retry waste" of under-allocation.
  • Maximizing Throughput: Maximizing the number of jobs completed per unit of resource-second.

Model Architecture Fig: The nested feedback loop: historical data informs the execution loop.

Experimental Evidence

The strategy was tested against massive real-world workloads, including CMS-analysis (538,078 jobs) and BWA-bioinformatics.

StrategyMemory WasteThroughput (Normalized)Retries
Max-Peak (Naive)72%1.000%
95th Percentile57%1.515%
Slow-Peak (Eq. 3)32%2.548%

A key insight from the results is the power of categorization. When users provide simple labels (e.g., "Step 1: Simulation", "Step 2: Merging"), the system can isolate different distribution peaks, further driving down waste and reducing the retry rate to less than 1%.

CMS Analysis Distribution Fig: Memory consumption distribution for a physics workflow. The dotted line represents the algorithmically chosen optimal first allocation.

Critical Analysis & Conclusion

The beauty of this approach is its system-agnostic nature. Because the monitoring happens in user-space, it can be deployed on top of any batch system (HTCondor, Slurm, Grid Engine) without needing system administrator intervention.

Limitations & Future Work

  • The Model is Conservative: The "Slow-Peaks" assumption is a worst-case baseline. In reality, many jobs fail early, meaning actual waste might be even lower than predicted here.
  • Sequential vs. Multi-step: The paper effectively uses a two-step "Try , then " approach. For extremely long-tailed distributions, a multi-step incremental approach () might be more efficient.
  • Resource Interplay: The current model treats RAM, CPU, and Disk as independent. In reality, memory-starved jobs often thrash, drastically increasing wall-time.

Final Takeaway

For labs managing large-scale pipelines, Job Sizing is not a luxury—it is a performance multiplier. Switching from "safe" manual allocations to automated, history-aware sizing can effectively triple your available compute capacity without spending a dime on new hardware.

Find Similar Papers

Try Our Examples

  • Which recent papers explore multi-step or dynamic resource allocation strategies for High-Throughput Computing beyond the two-step policy proposed here?
  • Find the original research on the HTCondor system and how it has evolved to handle opportunistic resource partitioning in modern cloud environments.
  • What are the latest developments in using machine learning for predictive wall-time and memory consumption in scientific workflow management systems like Pegasus or Nextflow?
Contents
Precise Job Sizing: Maximizing Throughput in High-Throughput Scientific Workflows
1. TL;DR
2. The Dilemma: Waste vs. Failure
3. Methodology: The Resource Feedback Loop
3.1. The "Slow-Peaks" Model
4. Experimental Evidence
5. Critical Analysis & Conclusion
5.1. Limitations & Future Work
5.2. Final Takeaway