在 EDA(电子设计自动化)领域,高性能计算 (HPC) 集群是不可或缺的工具,用于运行大型仿真和优化任务。选择一个适用于EDA领域的集群管理软件,需要综合考虑如下挑战:
- EDA工作负载的特点
EDA 工作负载的特点是任务的规模和复杂性差异很大,并且对性能和可靠性要求很高。这给集群调度系统带来了很大的挑战,需要能够高效地管理和调度不同规模和复杂性的任务,并且能够提供高性能和高可靠性的计算环境。
- EDA工具License管理功能
EDA 工具的 License 费用非常高昂,这给 IC 设计厂的 EDA 集群建设带来了巨大的成本压力。例如,一套完整的 EDA 工具系统可能需要数十万美元甚至上百万元的 License 费用。EDA集群管理软件需要能够支持完备的License管理功能,满足license的申请、使用、释放等功能。
-
EDA工具软件和集群管理软件的兼容性
长期以来,芯片设计领域存在着由EDA工具厂商、IC设计厂和IC制造厂组成的“铁三角”的商业模式。主流的三大EDA工具厂商为客户提供全流程工具系统,合计规模占比已近8成。大部分IC设计厂,出于交叉验证的目的,常常同时购买多家EDA工具软件。常用EDA工具默认集成的商业集群调度软件(如 LSF 或 SGE),往往采用按核时收费模式。这意味着 IC 设计厂需要根据使用的 CPU 核心数和时间来支付费用。这进一步加剧了 EDA 集群建设的成本压力。
-
缺乏国产化解决方案
目前,国内还没有成熟的国产化 EDA 集群管理解决方案。这使得 IC 设计厂在选择集群调度系统时,只能依赖于国外厂商的产品,存在着数据安全和技术封锁的风险。
AWS作为全球领先的云计算平台选择Slurm 作为其EDA集群管理系统的底层调度系统,为构建低成本高可靠的EDA集群提供了一种重要的参考。本文将结合EDA领域的一些实际场景,分析其可行性。
一、应用支持
面对各种厂家的EDA工具软件,普通用户可以通过两种方式使用调度系统调度EDA软件运行任务。一种是EDA应用Portal页面,生成的作业脚本里面可以直接调用EDA软件的求解器进行计算,这种情况下Slurm等任何调度器都可以胜任。另一种是直接通过EDA软件界面生成作业脚本,以Cadence Virtuoso为例,将Slurm命令包装成SGE的命令,即可以实现Virtuoso应用的正常运行。
二、资源管理与调度策略
IC设计厂往往有多个不同规格的集群,需要不同的资源管理和任务调度策略。Slurm针对EDA场景提供强大且丰富的调度策略:License调度和记账功能、资源抢占、公平调度、基于队列的多因子优先级调度、基于CPU核/内存/GPU的资源调度、丰富的cgroups资源限制功能、按需扩展和缩减计算资源、多集群调度等。
然而,由于众所周知的原因,国内IC设计厂并不方便使用AWS的EDA服务。Gridview作为国内最专业的HPC集群管理平台,针对EDA场景对Slurm进行了二次开发,提供了全面的功能覆盖和专业的技术支持,是国内IC设计厂建设EDA平台的不二之选。