4. 生物计算基础设施资源图谱

生物计算任务很少只依赖单一算力。一次典型的基因组分析,可能同时涉及 CPU 做序列比对与格式转换、GPU 做碱基识别或分子动力学模拟、FPGA 做特定比对加速、高速存储承载原始测序数据、网络在云与边缘之间搬运样本。资源治理的第一步,不是立刻调度,而是建立一张“资源图谱”:把每类资源的物理形态、能力边界、连接关系和可观测指标描述清楚,后续的配额、优先级、隔离与成本核算才有依据。

四类计算资源的定位差异

CPU 是通用控制与逻辑中枢,擅长分支密集、串行依赖强、I/O 与系统调用频繁的任务,例如 BWA 比对、SAM/BAM 处理、VCF 合并、流程编排。它的核心指标是物理核数、超线程、主频、NUMA 节点、缓存层级与内存带宽。GPU 是吞吐型加速器,适合规则、可并行、计算密度高的负载,如深度学习碱基识别、蛋白结构预测、分子对接打分。其关键参数是显存容量、显存带宽、SM 数量、FP16/FP32 算力以及卡间互联(NVLink/PCIe)。FPGA 是可重构逻辑,适合固定算法、低延迟、高能效的比对或过滤,例如将短读比对核心逻辑固化,但开发与部署成本高,通常只对少数高频算子值得投入。三者不是替代关系,而是按“控制—吞吐—定制”分工。

存储层级与数据流

生物数据体量大、访问模式差异明显,存储必须分层。常见层级为:本地 NVMe 暂存(热数据、中间文件)、并行文件系统(Lustre/GPFS,供多节点共享读写)、对象存储(S3 兼容,存放原始 FASTQ 与归档 BAM)、冷归档(磁带或低频对象存储)。治理要点是让数据尽量靠近算力:比对前把 FASTQ 从对象存储拉到本地 NVMe,比对产生的 BAM 写回并行文件系统,最终归档到对象存储。若把随机读写直接压在对象存储上,延迟会拖垮整条流水线。

网络与云边协同

网络决定资源能否被“组合”使用。节点内看 PCIe 代际与通道数,节点间看 InfiniBand/RoCE 带宽与延迟,跨域看专线或公网带宽。云边协同的典型形态是:测序仪在边缘产生数据,边缘节点做初步质控与碱基识别,压缩后经专线传到云端做大规模比对与群体分析,结果再回流到边缘供临床或实验人员查看。此时资源图谱必须标注每条链路的带宽、时延、计费方式和数据合规边界。

生物计算基础设施资源图谱 边缘采集 → 本地暂存 → 计算加速 → 共享存储 → 云端分析 → 结果回流 边缘侧 测序仪 / 传感器 边缘节点(质控/碱基识别) 本地 NVMe 暂存 专线/公网 带宽·时延 计算资源池 CPU 比对·格式转换 GPU 碱基识别·模拟 FPGA 定制比对加速 节点内互联:PCIe 4.0/5.0 · NVLink · NUMA 亲和 节点间:InfiniBand / RoCE · 100–400 Gb/s 存储层级 本地 NVMe(热·中间文件) 并行文件系统(共享读写) 对象存储(原始/归档) 归档 云端分析层 大规模比对 / 群体分析 GPU 训练 / 结构预测 结果:VCF / BAM / 模型权重 → 回流边缘 结果回流 资源图谱关键观测指标 CPU:核数·主频·NUMA 利用率·负载·内存带宽 GPU:显存·算力·互联 SM 占用·显存带宽 存储:IOPS·吞吐·容量 层级命中·冷热比例 网络:带宽·时延·丢包 跨域链路·计费边界

资源图谱的落地方式

把上述对象整理成可查询的图谱,通常需要一张资源清单表,字段包括资源 ID、类型、位置(边缘/云/机房)、规格、当前状态、可调度配额、关联存储与网络路径。下面给出一个可直接参考的示例片段,参数为教学假设值,实际部署时按真实硬件替换。

resource_id | type  | location | spec                          | state  | quota
cpu-01      | CPU   | edge-A   | 64C/128T, 2.4GHz, 512GB RAM   | ready  | 48C
gpu-01      | GPU   | cloud-B  | A100 80GB, NVLink, 8卡/节点    | ready  | 4卡
fpga-01     | FPGA  | edge-A   | Xilinx U250, 64GB DDR4        | busy   | 1卡
nvme-01     | NVMe  | edge-A   | 7.68TB, 读6GB/s, 写4GB/s      | ready  | 2TB
lustre-01   | 并行FS | cloud-B  | 1PB, 聚合带宽 200GB/s          | ready  | 200TB
s3-01       | 对象  | cloud-B  | 10PB, 标准+低频+归档            | ready  | 按需
ib-01       | 网络  | cloud-B  | InfiniBand HDR 200Gb/s         | ready  | 全量
wan-01      | 网络  | edge-A↔cloud-B | 专线 10Gb/s, RTT 8ms     | ready  | 6Gb/s

有了这张表,调度器才能回答“这个 GPU 任务应该放到 cloud-B 还是 edge-A”“FPGA 被占用时是否回退到 CPU”“跨域传输是否值得”。资源图谱不是静态文档,而应随节点上下线、配额变更、链路质量波动持续更新。建议至少每 30 秒刷新一次状态字段,并在图谱中保留最近 24 小时的利用率曲线,用于容量规划与异常回溯。

建立资源图谱时,先标注“数据在哪里产生、在哪里被消费、中间经过哪些存储与网络”,再标注算力规格。数据路径清晰后,算力选型与配额分配会自然收敛。
不要把边缘节点当作无限可用的本地资源。边缘通常只有有限 NVMe 和单卡加速器,若质控与碱基识别同时抢占,会导致测序仪写入阻塞。应在图谱中为边缘节点单独设置保留配额与优先级。

最后需要强调,资源图谱的价值在于“可解释”。当任务排队、失败或成本超支时,能够沿着图谱定位到具体资源、具体链路和具体指标,而不是笼统归因于“算力不足”。这也是后续资源配额、隔离、优先级与成本治理的共同基础。