ARMer: A Python Library for Adaptive Resource Allocation in High-Throughput Workflow

30 June 2022, Version 1
This content is a preprint and has not undergone peer review at the time of posting.

Abstract

High-throughput modeling requires allocation of different types of computing resources (e.g., GPU/CPU) for various computational sub-tasks in high-performance computing (HPC) clusters. To enhance efficiency of resource consumption, here we developed an adaptive resource allocation strategy to dynamically request computing resources based on the specific need of a certain modeling sub-task in the workflow. We implemented the strategy as a new Python library, i.e., adaptive resource manager (ARMer). As a proof of concept, we employed ARMer for allocating computing resources during the high-throughput enzyme modeling of fluoroacetate dehalogenase using EnzyHTP. The workflow involves four sequential sub-tasks, including: mutant generation, molecular dynamics simulation, quantum mechanical calculation, and data analysis. Compared to fixed resource allocation where both CPU and GPU are on-call for use during the entire workflow, the use of ARMer in the workflow can save up to 87% CPU hours and 14% GPU hours. In addition, ARMer allows parallel submission of multiple computational jobs in a job array and provides customized environment settings for each software used in the workflow.

Keywords

resource allocation
high-throughput simulation
Python

Supplementary materials

Title
Description
Actions
Title
SI PDF document
Description
Example code of ARMer API; Structure of FAcD K83D mutant; Structure of the active site cluster; Choice of parallel strategy; Discrepancy of expected speed up and actual speed up from ARMer parallelization
Actions
Title
SI zip
Description
Input files for the fixed/adaptive resource allocation test: input structure; workflow python script; job submission script of the workflow script
Actions

Supplementary weblinks

Comments

Comments are not moderated before they are posted, but they can be removed by the site moderators if they are found to be in contravention of our Commenting Policy [opens in a new tab] - please read this policy before you post. Comments should be used for scholarly discussion of the content in question. You can find more information about how to use the commenting feature here [opens in a new tab] .
This site is protected by reCAPTCHA and the Google Privacy Policy [opens in a new tab] and Terms of Service [opens in a new tab] apply.