Performance estimation#
To estimate the execution time of our pipeline, we computed the total time required to complete all tasks from the directed acyclic graph (DAG) representation of the workflow. Each task correspond to a simulation step, with dependencies defining execution order.
The detailed results are presented in the following chapters. As a rule of thumb, you can estimate the total number of days required using:
\(\lambda=\) total number of lambda points for the complex simulations; + 1 for the initial equilibration phase (non-FEP)
\(R=\) number of replicas
\(L=\) number of ligands
\(C=\) number of available compute nodes
\(T=\) average time (in hours) to complete one FEP production simulation
This formula provides a lower bound for the execution time. In practice, you should account for an additional ± 1 days to accommodate for the remaining tasks, scheduling overheads and runtime variations. Nevertheless, this estimation is usually reliable, as the total time is dominated by the FEP complex simulations. The value of \(T\) can be determined either from preliminary test runs or by monitoring ongoing simulations
\(S=\) number of samples
\(R=\) number of replicas
\(L=\) number of ligands
\(C=\) number of available compute nodes
\(T_E=\) average time (in hours) to complete the production equilibration simulation
\(T_S=\) average time (in hours) to complete the sample simulation
This formula provides a lower bound for the execution time. In practice, you should account for an additional ± 0.2 days to accommodate for the remaining tasks, scheduling overheads and runtime variations. Nevertheless, this estimation is usually reliable, as the total time is dominated by the production MD steps. The value of \(T_E\) and \(T_S\) can be determined either from preliminary test runs or by monitoring ongoing simulations
Methodology followed for the estimation of ligand completion time#
GROMACS benchmark#
Reported values are in ns/day (first row of next figure). The node was isolated (SLURM keyword: exclusive=True) for the calculation removing the possibility of sharing resources across process. Each job used 10 CPUs and 1 GPU.
BinFlow computational performance. (First row) shows the GROMACS performance in ns/day for (left) ligand simulations and (right) protien–ligand complex simulations. (Second row) BindFlow completion time as a function of the number of ligands and computers for (left) FEP and (right) MMGBSA in the thrombin system with RTX A6000/Ryzen Threadripper PRO 3975WX hardware. MMGBSA is approximatly x75 times faster than FEP.#
Hardware ID |
GPU |
CPU |
|---|---|---|
1 |
RTX 4070 Ti SUPER |
EPYC 7443 |
2 |
RTX 4000 Ada |
Xeon E-2136 CPU |
3 |
RTX A4000 |
Ryzen Threadripper PRO 3975WX |
4 |
RTX A4000 |
Xeon E-2136 CPU |
5 |
GTX 1070 Ti |
Xeon CPU E5-2630 v4 |
6 |
GTX 1070 |
Xeon CPU E5-2630 v4 |
7 |
RTX A6000 |
Ryzen Threadripper PRO 3975WX |
Pipeline completion time#
To estimate the completion time, we selected the thrombin system, which achieved a mid-range performance of 270 ns/day for the protein–ligand complex using an Nvidia RTX A4000 GPU and 10 CPU cores of and Ryzen Threadripper PRO 3975WX (second row of previous fgure).
The following figure illustrates the average completion time per ligand as a function of the number of computers (or computing nodes). MMGBSA was approximately 75 times faster than FEP, completing each ligand in under 0.10 hours on average with just 10 computing nodes, demonstrating its computational efficiency. While FEP was more resource-intensive, it scaled efficiently with the number of available computing nodes, achieving an average ligand completion time below the hour with 60 nodes and just 0.29 hours with 200 nodes on the described architecture.
Computational performance and scalability of BindFlow on the Thrombin system. (Upper panel): Estimated average ligand completion time under ideal conditions. Standard deviation is reported (very small). (Lower panel): Estimated rate of ligand completion time between FEP and MMGBSA. Error bars were calculated after uncertainty propagation.#
For instance, with 200 nodes running for a week, up to 580 or 39,965 binding free energy calculations could be theoretically performed at FEP or MMGBSA levels, respectively. These estimates assume ideal conditions and should be interpreted as preliminary projections of BindFlow’s computational cost.
Disk use#
BindFlow aims to minimize the disk usage during FEP and MM(PB/GB)SA calculations. In addition, after finishing the simulations, BindFlow provides post-processing archiving and unarchiving functionalities to reduce the required medium-term storage.
As a numerical example, for the P38 system that comprised 86376 atoms, calculations with 29 ligands (triplicated calculations) required 320 GB disk space for FEP and 40 GB for MMGBSA during runtime, respectively.
By excluding log files (.snakemake directory and *.log and *.err files) and irrelevant GROMACS files (.edr, mdout.mdp and *.tpr) during archive and compressing all non-trajectory files, the disk space was reduced to 137 GB for FEP and 19 GB for MMGBSA. However, owing to BindFlow full automation, to reproduce the simulations, only the BindFlow version, input structures, run script, and configuration file are required; involving typically only few megabytes for long-term archive.
Disk space used by BindFlow for all simulation sets of this study. Top: for FEP. Bottom: for MM(PB/GB)SA. Red bars: disk space used during simulations. Blue bars: after compression of raw simulation data. Yielding compression factors of 2.6 and 2.3 for FEP and MM(PB/GB)SA, respectively.#