12月22-23日,2021中国集成电路设计业年会 (ICCAD 2021)在无锡隆重举办。在大会分论坛中,摩尔精英IT/CAD设计平台服务资深技术总监周鸣炜以《芯片设计“数字化转型” —— EDA弹性云计算》为题发表演讲。
摩尔精英IT/CAD设计平台服务
资深技术总监周鸣炜
会上,周鸣炜从当前芯片设计公司的CAD环境痛点出发,解析如何通过专业的IT/CAD服务或者职能,保证有效地对芯片开发环境进行优化,最终实现配合及保障芯片项目研发进度。
芯片设计公司的CAD环境痛点:
在传统芯片设计环境中,计算平台管理是CAD六大管理核心职能之一,它依赖IT硬件底层的支撑,解决了计算集群配置与运维的核心问题,并与其它五个方面进行配合,从而满足更高效、更安全的大量EDA计算的需要。
当下,大多数芯片设计公司仍以本地计算集群为主构建计算平台,他们大多数是采用集群调度工具IBM LSF来搭建整个HPC高性能计算集群。CAD管理内容的其他几个方面,往往也都是基于这样的底层架构来进行定制化管理。包括设计流程自动化、EDA工具与调度工具的集成、设计环境标准化、设计数据管理的标准化、License管理和调度等。
然而,随着应用需求的发展,以及设计复杂性的提升,这样的芯片设计环境的不足愈加凸出。具体包括:IT资源不足、数据安全担忧、机器负载不均衡、仿真速度慢、图形界面卡顿、项目环境不一致、运维工作量大、技术支持困难、服务器配置不一致以及协同困难等等问题。这些问题往往会对芯片设计工作效率造成持续影响。
为应对这些挑战,摩尔精英IT/CAD设计平台服务可以有效地对芯片开发环境进行优化,配合并保障芯片项目研发进度。
EDA上云及弹性计算需求:
EDA环境上云已经成为发展趋势。上云的优势主要有以下几个方面:安全的隔离架构、高效的CAD技术支持、真“弹性算力”方案、统一标准的云端研发环境、 “零信任”安全基础、分时租赁等。
目前,摩尔精英在云端可以提供统一标准的设计平台环境,提供高效的IT及CAD运维,以提升用户体验。
在芯片项目研发过程中,随着设计流程的推进,在项目的不同实施阶段,对算力的需求呈现非线性的需求特征。
一般来说,后端算力需求大于前端算力需求,以一个开发周期为11个月的14nm芯片项目为例,分别从全项目、全后端、STA这三个需求场景来看,其对算力和存储的需求如下图所示。
可以看出,在芯片设计过程中,从成本优化、运维管理、资源调度等方面来说,“弹性计算”是一个不可回避的刚性需求。
云计算给芯片设计“弹性计算”的需求提供了一个可行的技术解决方案。随着2016年半导体行业出现芯片设计上云案例以来,如何实现“弹性计算”一直是吸引从业人员研究和探索的课题。
弹性计算方案的实现:
在本地化静态计算集群方案中,IBM LSF这类作业调度工具已经非常成熟了,在行业中已经沿用了20年。然而,对于弹性计算来说,仅仅靠IBM LSF还不够,还需要云端有一个可以配合的HPC部署和管理工具,将LSF的指令与云端的对象进行联动,才能实现真正的无缝的弹性方案。
例如,摩尔精英在Azure云平台上采用了Cyclecloud工具,Cyclecloud是一个帮助在云上构建HPC系统的工具。它对这些系统进行了编排,使它们能够根据手头的HPC任务灵活地调整大小,而无需管理基本的云构建模块。Cyclecloud是由一个经验丰富的HPC专业团队为HPC管理员和用户设计的,特别是那些希望在云中构建类似他们熟悉的内部HPC基础设施的HPC系统用户。
Cyclecloud提供了一个丰富的声明性模板语法,使用户能够描述他们的HPC系统,从集群拓扑(集群节点的数量和类型),到将部署在每个节点上的挂载点和应用程序。Cyclecloud设计用于与IBM LSF、PBSPro、Slurm、Sun Grid Engine和htcondor等HPC调度程序一起工作,允许用户在每个调度程序中创建不同的队列,并将它们映射到Azure上不同VM大小的计算节点。此外,autoscale插件与调度器头节点集成,调度器头节点侦听每个系统中的作业队列,并通过与应用服务器上运行的autoscale rest api交互来调整计算集群的大小。用户可以根据芯片设计需求自定义“弹性计算集群生命周期”。
IBM LSF已利用API做了很好的集成,对于LSF管理员来说,只要在LSF的配置文件中做相应的设置,便能在Azure上直接实现“弹性计算”的功能,并且这种“弹性计算”对于用户来说是无感透明的,用户无需关心所使用的计算资源是本地的还是Azure上的。
上云项目的路径方法:
不同类型的芯片设计公司对芯片上云的原动力决定了他们将会采用不同的EDA云计算方案。因此,采用什么云计算方案以及如何上云是很多芯片设计公司面临的最直接问题,摩尔精英通过这几年的研究,建议大家参照下图的上云路径来进行:
芯片设计上云的方法论和传统的芯片设计平台建设方法论类似,都是从”调研&规划–>建设&执行–>运营&优化“的可持续发展和优化流程,不同之处在于芯片设计上云在前期的“调研&规划”中对各种需求评估和方案制定会涉及到更多的云计算技术和公有云商务条款,因此,芯片设计公司或者芯片设计上云服务商需要具备这些技术和商务知识。
无论是行业大公司还是小型start-up设计公司,都希望借着芯片设计上云的东风在云端获得成本优化的高效安全设计环境,“安全”、“效率”和“成本”这三个要素需要综合考量。在“调研&规划”阶段必须深入了解设计上云原因给出适合的EDA云计算方案,使得上述三个因素达到最佳平衡。
芯片设计环境是个复杂的软硬结合+资源管理的系统,其技术方案必须从各个角度出发,满足不同用户和管理的要求。
综合来看,造成EDA云计算方案差异的因素主要有五个,分别是:高弹性,低敏感,低交互,易协同,以及用户使用习惯。芯片设计团队对这五大因素的诉求直接决定了最终的EDA云计算方案。下面具体介绍一下这五大因素:
- 高弹性
芯片设计上云的主要动力之一就是高弹性,通过计算集群的弹性伸缩来满足芯片开发过程中短周期的大计算需求,并能迅速在需求满足后释放算力资源,以控制成本。
下图所示为一个案例,给出了设计流程中各个阶段的设计作业和设计数据特征。
算力和存储需求曲线如下所示:
由此可见,SoC设计后端工作环节(PR、STA、后端仿真、功耗分析,PV等)的数据量大,运行时间长,需要大量的仿真计算和存储资源。根据已有经验,上述环节的资源需求占据了整体资源需求的50%-60%。其中,在STA和PV等环节,还需使用专用的大内存服务器(1.5TB以上)。”芯片设计上云“方案必须提供弹性算力技术满足设计高峰需求。
- 低敏感
对于上云,IC设计工程师普遍关注的就是安全问题。对于这一关键话题,需要从IT和用户视角分开来看:从IT安全角度来看,无论是在技术的领先性和投入的资源来看,公有云无疑是比企业自建环境更加安全。
公有云平台上运行着大量企业的系统,每天会面临全球数以百万计的网络攻击,公有云提供商雇佣大量信息安全工程师并利用各种监控、防病毒、防攻击系统来保证公有云平台的数据安全;而企业的自建IT环境的安全感是因为此环境没有受到全球网络爱好者的”关注“,不会时常面临这种安全的”考验“,但是一旦自建IT环境遇到这种网络攻击,往往不堪一击,从目前报道的勒索病毒案例就可见一斑。
从IC用户的角度,他们关心的并不是IT意义上的安全–网络安全,而是设计数据的安全,设计数据的”敏感性“决定了安全级别。例如将RTL数据放到云上,用户就会有心理上的不确定性,用户需要绝对安全的“保险箱”来确保此类高敏感性的数据安全;而Netlist数据,则相对来说敏感性低了很多,存放位置可以相对更灵活。
以RTL数据为主的前端数据敏感性最高,其次为IP和工艺文件数据,以Session、过程波形、归档数据和Report为主的过程数据安全性最低。
显然,选择数据敏感性较低的设计节点上云可以作为设计上云的第一步。
- 低交互
公有云平台需要企业用户从网络远端进行接入,从企业到公有云数据中心的网络带宽是重要的考虑因素。在EDA计算场景,会有大量的实时海量小文件读取同步发生,因此跨数据中心的实时计算数据传递几乎是不可行的。
另外,从目前公有云对数据传输的收费策略来看,虽然数据上传基本免费,但是数据下载需要按照下载数据大小支付数据流量费,因此,如何减少云上和云下数据“交互”,也是实现成本优化的重要手段。
因此,芯片设计上云混合云方案的基本原则是要找到”零交互“的设计节点并优先上云。
- 易协同
大规模芯片开发往往需要多地团队协同作业,分散的数据中心和集中的数据中心一直是一个值得探讨的问题。相对来说,集中的数据中心对于数据版本同步的要求要少很多,也更容易进行平台维护和项目进程控制,更容易实现项目多地协同的需求。
但是,对于中大型设计公司来说,一个集中数据中心容量有限,当碰到项目资源需求高峰和利用先进制程进行产品升级设计时,将设计流程中的部分设计节点迁移到云上,利用公有云资源和芯片设计上云混合云方案的弹性算力实现集中数据中心的无缝扩展依然能很好地满足项目组协同的需求。
目前,比较有趣的一个现象是半导体行业非常火热,很多公司的后端都利用外部资源来完成,这种情况下,“芯片设计上云”混合云方案可以为这种设计公司的协作方快速提供一个可连通、相对数据隔离、并可控的设计环境,在保证协同效率的情况下兼顾了数据安全。
- 用户使用习惯
半导体行业是一个IT技术相对保守的行业,这个行业采用了20多年的LSF来管理计算集群的方式,早已是行业主流,大部分可并行的EDA工具也原生集成了LSF,对大都数有经验的IC工程师来说,通过LSF的方式提交作业也是最习惯的工作方式。行业内绝大多数本地计算集群,都优选采用的LSF进行作业调度和集群管理。
因此,保持透明的用户习惯,对于初次上云的用户来说非常重要,否则会增加额外的成本和阻力。
大部分中大型设计公司都已经建好了本地数据中心,本地资源满足了设计项目大部分时间的算力和存储要求,但是,当设计资源需求高峰来临的时候(例如后端验证高峰),本地数据中心资源不足往往成为项目推进的瓶颈,公司的设计部门和ITCAD部门在这个时候大部分时间都用在资源协调和扩容上,因此,在最大化利用本地数据中心资源的前提下,“芯片设计上云”混合云方案的弹性算力和快速交付成为解决这个痛点的最优选择。
案例分享:
下面就一个具体案例分析一下EDA弹性云计算的实现。如下图所示,这是摩尔精英在今年帮助一家大型芯片设计公司完成的基于Azure的弹性算力方案,采用的就是LSF 与Cyclecloud的组合工具,实现了一个完全自动化伸缩的动态集群方案。
用户需求为:用户ITCAD部门打造混合云,利用本地机房进行运算,弹性高峰期间会启用云上服务,给设计部门提供灵活的算力供给方案,芯片设计业务以后端设计为主。
采用机型为:
- E48sv4(48vCPU/384GiB RAM)
- M64s(64vCPU/1024GiB RAM)
- M128s(128vCPU/2048GiB RAM)
弹性伸缩策略为:
1、集群的负载(CPU或者内存使用率)阈值超过90%或者无可用slot时启动新节点安装
2、针对不同队列或特定任务,配置对应机型
- 轻量任务队列Light:E48sv4
- 中型任务队列Medium:M64s
- 大型任务队列Lager:M128s
3、集群设定总可使用vCPU核数来限定动态节点数目
比如将集群总核数限定在5000核,则单E48sv4机型最大可用104台,单M64s机型最大可用78台,单M128s机型最大可用39台。集群中机型共享总可使用核数。
4、静态集群和动态集群的动静结合策略
将谷峰资源使用量配置为静态部署,波峰资源使用量配置为按需动态生成。
5、动态集群缩容策略
设定动态计算节点空闲时间可以有效回收资源,节约成本。
总结:
最后,周鸣炜表示。摩尔精英IT/CAD设计平台服务延承芯片研发基础架构、设计环境标准化、数据安全不落地、创新“从地到云”弹性算力平台、加速芯片研发进程。
我们打造了行业内顶尖的IT/CAD及云计算服务能力,为芯片设计团队提供企业级IT基础架构及技术服务,为70多家公司搭建了芯片设计平台,其中不乏有燧原、汇顶、芯驰等行业知名企业。
我们打造的芯片设计开发平台架构,是适用于芯片行业的最佳实践,将高性能计算、云计算、安全体系、CAD体系、数据管理、虚拟化平台等技术融合。这其中,CAD服务是架构的核心,我们对标国际先进芯片公司的CAD管理体系,支撑客户芯片设计和协作的高效顺利进行。
如有需求请扫码上方二维码