2. 分子计算任务建模与流水线需求分析

分子计算流水线的第一道工程关口,不是写调度器,而是把“算一个分子”这件事拆成可度量、可编排、可验收的任务模型。分子模拟、分子对接、分子动力学(MD)和量子化学(QC)四类计算在输入规模、并行粒度、资源画像和精度—成本关系上差异极大,如果混在同一套队列里按“一个任务一个核”调度,必然出现长尾阻塞与资源空转。本节的目标是建立一套任务分解与需求量化的方法,使后续的流水线设计有据可依。

一、四类计算的任务分解与资源画像

分子模拟通常指基于力场的构象搜索、能量最小化或粗粒化模拟,输入是拓扑文件与坐标,输出是能量、构象集合或轨迹。它的特点是单任务可高度并行(构象级并行),单点计算量小、任务数量大,适合“多小核 + 高并发”的批处理模式。分子对接的输入是受体结构、配体库和打分函数配置,输出是结合姿态与打分值;其并行粒度天然在配体维度,一个受体可对应数万至数百万配体,属于典型的“宽扇出”任务,瓶颈常在文件 I/O 与打分函数的串行段。分子动力学则相反:单个体系的时间步进存在强数据依赖,无法在时间维度并行,只能做空间分解(域分解)或副本并行;它需要 GPU 或高带宽互联,单任务运行时间长,属于“少大核 + 长驻留”模式。量子化学计算(如 DFT)的输入是分子坐标、基组与方法,输出是能量、梯度、频率或激发态;其并行效率随体系增大而下降,且内存与临时文件占用高,属于“中等并行 + 高内存”模式。

把上述差异落到任务模型上,需要为每类任务定义四个字段:并行维度(构象/配体/空间域/积分格点)、单任务资源画像(核数、内存、GPU、临时盘)、预期运行时间分布、以及可中断性。可中断性尤其关键:对接与构象搜索任务可随时抢占重排,而 MD 与 QC 的 SCF 迭代一旦中断,重启成本可能接近全量重算,必须预留检查点。

四类分子计算任务的资源画像与并行维度 分子模拟 并行维度:构象级 核数:1–4 核/任务 内存:< 2 GB GPU:不需要 时长:秒–分钟 可中断:是 画像:多小核·高并发 分子对接 并行维度:配体级 核数:1 核/配体 内存:< 1 GB GPU:可选加速 时长:秒级 可中断:是 画像:宽扇出·I/O 敏感 分子动力学 并行维度:空间域/副本 核数:32–256 核/任务 内存:数十 GB GPU:强烈推荐 时长:小时–天 可中断:需检查点 画像:少大核·长驻留 量子化学 并行维度:积分格点/MPI 核数:8–64 核/任务 内存:16–128 GB GPU:部分支持 时长:分钟–小时 可中断:SCF 需重启 画像:中并行·高内存 流水线需求约束轴 吞吐量 延迟 精度 成本 任务分解原则: ① 按并行维度切分,而非按文件切分;② 每类任务独立队列,避免长任务阻塞短任务; ③ 可中断任务优先抢占,不可中断任务预留检查点与独占资源;④ 资源画像驱动调度策略,而非统一分配。

二、吞吐量、延迟、精度与成本的量化方法

四类任务进入流水线后,需求分析要回答四个量化问题。吞吐量(Throughput)定义为单位时间内完成的“有效任务数”,注意不是提交数。以对接为例,若配体库有 100 万条,单配体平均耗时 8 秒,采用 2000 个并发槽位,理论吞吐为 2000/8 = 250 配体/秒,但实际受限于受体文件读取与结果写盘,实测往往只有理论值的 40%–60%。因此吞吐量估算必须乘以一个 I/O 折损系数,该系数需通过小规模压测获得,而非拍脑袋设定。

延迟(Latency)要区分“单任务延迟”和“流水线端到端延迟”。单任务延迟是任务从开始到结束的墙钟时间;端到端延迟是从提交到拿到最终结果的时间,包含排队、调度、数据传输和结果聚合。对于 MD 这类长任务,排队延迟可能远大于计算延迟,因此调度策略应优先保证长任务尽早获得资源,而不是追求短任务的高周转。一个实用的量化指标是 P95 延迟,即 95% 的任务在多少时间内完成,它比平均值更能暴露长尾问题。

精度(Accuracy)在流水线中不是单一数值,而是分层级的:力场精度、对接打分精度、MD 采样精度、QC 泛函与基组精度。工程上常用“精度—成本曲线”来决策:例如对接初筛用快速打分函数,对 Top 5% 命中物再用半经验或 DFT 精修。量化方法是定义精度阈值 ε 和成本预算 C,在满足 ε 的前提下最小化 C。以 QC 为例,B3LYP/6-31G* 与 ωB97X-D/def2-TZVP 的能量差可达数 kcal/mol,而计算成本相差 5–10 倍,必须根据下游用途选择。

成本(Cost)包含计算成本、存储成本和人力运维成本。计算成本可用“核时 × 单价 + GPU 时 × 单价”估算;存储成本常被低估,MD 轨迹单体系可达数百 GB,对接结果若全量保留姿态文件,百万级配体可产生 TB 级数据。量化时应设定保留策略:轨迹只保留关键帧,对接只保留 Top-N 姿态与打分。一个可操作的公式是:总成本 = Σ(任务数 × 单任务核时 × 单价) + 存储量 × 存储单价 × 保留周期 + 运维人力折算。

三、需求分析交付物示例

以下是一份可直接用于流水线设计评审的任务需求表,字段按四类任务分别填写,示例数值为教学假设,实际项目需以压测为准。

任务类型 并行维度 单任务资源 预估任务数 单任务时长 可中断 精度档位 成本估算
构象搜索 构象 2 核 / 1 GB 50,000 30 s 是 力场 MMFF94 约 830 核时
分子对接 配体 1 核 / 0.5 GB 1,000,000 8 s 是 Vina 打分 约 2,220 核时
MD 生产 空间域 64 核 / 64 GB / 1 GPU 200 12 h 需检查点 AMBER ff14SB 约 153,600 核时 + 2,400 GPU 时
DFT 精修 MPI 格点 32 核 / 64 GB 5,000 45 min SCF 重启 ωB97X-D/def2-TZVP 约 120,000 核时
量化检查要点:① 吞吐量是否已乘 I/O 折损系数;② 延迟是否区分排队与计算;③ 精度档位是否与下游用途匹配;④ 成本是否包含存储与保留周期;⑤ 可中断任务与不可中断任务是否分队列。

完成上述建模后,流水线的调度器、存储层和监控指标就有了明确的输入:调度器按资源画像分队列,存储层按保留策略分级,监控层按 P95 延迟与吞吐折损率设置告警阈值。下一阶段的设计工作,将围绕这些量化约束展开。