2. 分子计算任务建模与流水线需求分析
分子计算流水线的第一道工程关口,不是写调度器,而是把“算一个分子”这件事拆成可度量、可编排、可验收的任务模型。分子模拟、分子对接、分子动力学(MD)和量子化学(QC)四类计算在输入规模、并行粒度、资源画像和精度—成本关系上差异极大,如果混在同一套队列里按“一个任务一个核”调度,必然出现长尾阻塞与资源空转。本节的目标是建立一套任务分解与需求量化的方法,使后续的流水线设计有据可依。
一、四类计算的任务分解与资源画像
分子模拟通常指基于力场的构象搜索、能量最小化或粗粒化模拟,输入是拓扑文件与坐标,输出是能量、构象集合或轨迹。它的特点是单任务可高度并行(构象级并行),单点计算量小、任务数量大,适合“多小核 + 高并发”的批处理模式。分子对接的输入是受体结构、配体库和打分函数配置,输出是结合姿态与打分值;其并行粒度天然在配体维度,一个受体可对应数万至数百万配体,属于典型的“宽扇出”任务,瓶颈常在文件 I/O 与打分函数的串行段。分子动力学则相反:单个体系的时间步进存在强数据依赖,无法在时间维度并行,只能做空间分解(域分解)或副本并行;它需要 GPU 或高带宽互联,单任务运行时间长,属于“少大核 + 长驻留”模式。量子化学计算(如 DFT)的输入是分子坐标、基组与方法,输出是能量、梯度、频率或激发态;其并行效率随体系增大而下降,且内存与临时文件占用高,属于“中等并行 + 高内存”模式。
把上述差异落到任务模型上,需要为每类任务定义四个字段:并行维度(构象/配体/空间域/积分格点)、单任务资源画像(核数、内存、GPU、临时盘)、预期运行时间分布、以及可中断性。可中断性尤其关键:对接与构象搜索任务可随时抢占重排,而 MD 与 QC 的 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 核时 |
完成上述建模后,流水线的调度器、存储层和监控指标就有了明确的输入:调度器按资源画像分队列,存储层按保留策略分级,监控层按 P95 延迟与吞吐折损率设置告警阈值。下一阶段的设计工作,将围绕这些量化约束展开。