Virtuoso仿真效率大幅提升,究竟做对了什么?

2023-12-09 06:10

本文主要是介绍Virtuoso仿真效率大幅提升,究竟做对了什么?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这是我们EDA云实证的第四期。

本期实证的主角是——Virtuoso。

半导体行业中使用范围最广的EDA应用之一。

1991年Virtuoso技术正式发布,最初作为掩模设计师的版图工具,是Opus平台的一部分,主要功能包括电路设计与仿真、版图设计、设计验证,以及模拟/数字混合设计等。

近30年来,Virtuoso产品已和最初有很大不同,但其核心仍然是版图编辑器。

应用工具层面。Cadence一直致力于优化EDA应用算法和性能,提高自动化水平,将Virtuoso逐渐升级和扩展为集合多项新技术的系统设计平台。

从应用到云资源层,就由我们来发挥了

我们针对EDA应用云原生适配,为IC研发设计人员提供一整套即开即用,快速上手的IC研发设计环境,系统性大幅提升研发效率

我们到底是怎么做到的?

研发效率具体提高在哪些方面?

什么是即开即用的IC研发设计环境?好用吗?改变原来习惯吗?

以下是今天的正文:

用户需求

某芯片设计公司做数模混合芯片,经常使用Virtuoso调用Spectre完成仿真任务,需要赶MPW shuttle,即将面临多项目同时进行、项目关键时间节点相同的困境。

公司CEO并不想单纯靠增加本地机器来解决目前问题,一方面考虑到会对企业造成比较大的现金流压力,另一方面公司并没有专门的IT和CAD团队。他对能不能用云解决现有问题十分重视,也直接和云厂商交流过,对我们的云上自动化和Auto-Scale功能很感兴趣。

实证目标

1、fastone平台是否支持在云端使用Virtuoso运行仿真任务?

2、通过平台使用Virtuoso和本地差别大吗?

3、Auto-Scale自动化伸缩具体怎么实现的?

4、Slurm调度器行不行?

 

实证参数

平台:

fastone企业版产品

应用:

Cadence Virtuoso

适用场景:

数模混合电路设计及仿真

云端硬件配置:

Spectre仿真主要需要的是计算密集型CPU,所以平台推荐的是计算优化型云端实例

调度器:

Slurm(关于调度器,下文会详细讲解)

技术架构图:

 

一整套即开即用的IC研发设计环境

操作像吃了德芙般顺滑

用户对于在本地单机使用Virtuoso运行仿真任务,已经非常熟悉。

而对于在云上跑,用户依然有以下疑问:

什么叫一整套?从哪一步到哪一步?

云上使用Virtuoso,操作方式会改变吗?会不会很麻烦?

我们为用户提供的产品,从登录桌面、打开应用、配置仿真、提交任务、自动上云开机运行任务并自动关机、查看结果进行调试……用户所需要的操作与本地几乎完全一致,每一步只需在平台上使用鼠标简单点选即可完成。

我们说的“一整套”,就是这个意思。

 

至于操作方式会不会改变?

拿访问集群举例。

用户访问集群,既可以通过命令行,也可以通过WebVNC图形界面方式直接访问。


手动模式访问集群,一共有五步,往往还需要请IT先配置环境 

1、在云端开一台机器;

2、在云端安装VNC服务并进行配置,有几个用户使用就需要配置几个账号;

3、在本地安装VNC服务并进行配置;

4、在云端开启VNC服务;

5、用户使用各自账号登录客户端VNC访问云端。


我们为所有用户免费提供WebVNC功能,自动化创建到访问集群

1、通过Web浏览器登录fastone平台;

2、在Web界面新建集群、配置资源;

3、在已创建的集群点击WebVNC远程桌面图标(同时提供WebSSH远程命令行功能);

4、跳转到虚拟桌面,可在该桌面中操作Virtuoso。

我们还提供了统一的用户认证,不同用户可以直接访问VNC,无需重新配置。

这种操作方式给用户提供了熟悉的操作环境,使其能够快速地远程自动化访问集群,避免了大量的手动部署,使用体验更好。

 

在数据传输上,我们同样为用户提供了不改变操作习惯的DM工具,用户无需在多套认证系统之间切换,使用统一的身份认证即可传输数据,并自动关联云端集群进行计算,具体看这里《CAE云实证Vol.8:LS-DYNA求解效率深度测评 │ 六种规模,本地VS云端5种不同硬件配置

当然,好处远远不止这些。 

Auto-Scale自动伸缩就像仙女棒

变大变小变漂亮

fastone通过Auto-Scale功能实现自动化创建集群的过程,可以实现自动监控用户提交的任务数量和资源的需求,动态按需地开启所需算力资源,在提升效率的同时有效降低成本。

 

怎么让仙女棒发挥作用?

 

先来设置一下:

下图就是开启Auto-Scale功能后,用户某项目一周之内所调用云端计算资源的动态情况。

其中橙色曲线为OD实例的使用状况,红色曲线为SPOT的使用状况。

OD:On-Demand,按需实例。针对短期弹性需求,按小时计费,但价格比较高。

SPOT:可被抢占实例,又称竞价实例。价格最低可达到按需实例价格的10%,相当于秒杀,手快有手慢无,随时可能被抢占中断,需要有一定的技术实力才能使用。

两个重点:

第一、从图中可以看到整个阶段算力波峰为约3500核,而波谷只有650核左右。用户使用资源是存在明显的波峰波谷周期的。Auto-Scale功能可以根据任务运算情况动态开启云端资源,并在波峰过去后自动关闭,让资源的使用随着用户的需求自动扩张及缩小,最大程度匹配任务需求。

当然,用户也可以选择自己对最大最小值进行设置,加以限制。

这一方面节约了用户成本,不需要时刻保持最高峰使用资源;

另一方面也最大限度保证了任务最大效率运行。

比如跑100个corner的仿真,以前只能同时跑10个,要花10天,现在可以同时跑100个,只要1天就可以完成。这两种方式成本相同,为用户节约出了显著的时间差大大缩短了任务运行周期,提升了研发效率。

第二、我们的Auto-Scale功能支持对不同计费模式(OD、SPOT)实例进行自动伸缩,OD按需实例价格通常为SPOT实例的3-10倍。

Auto-Scale功能可以根据不同的用户策略,比如成本最优还是时间优先,自动化跨区、跨类型为用户调度云资源,完成计算任务

至于不同策略具体怎么落地执行?相比时间优先策略,成本优先怎么做到降低成本最多达67%-90%?在这篇实证《生信云实证Vol.3:提速2920倍!用AutoDockVina对接2800万个分子》里体现得十分明显。

不仅限于运行任务期间,其实早在创建集群的时候,自动化Auto-Scale过程就已经开始了。

在这篇Bladed实证里,fastone平台在任务的不同阶段采取不同的策略应对,除任务运行时间内全部云资源满负荷运作以外,在数据处理和结果数据上传阶段均只开启了1-2台机器,而其他准备过程不需要开启机器。

习惯了LSF/SGE

Slurm调度器到底行不行?

为什么选择Slurm调度器?

Virtuoso应用原生支持的调度器有LSF和SGE。

LSF作为商业软件,由IBM提供商业支持,是半导体行业最常用的调度器软件。曾经衍生出的开源版Openlava在2016后IBM发起的版权诉讼之后,2018年正式被禁用。

SGE商业版在去年已经随Univa被Altair收购。类似的,免费开源版已经长期无维护和更新,也存在版权风险。

LSF和SGE均按核时收费,价格不菲,如果在云端大规模使用,价格惊人,而且都需要购买单独的Resource Connector或Navops Launch产品才能支持在云上使用。

Slurm作为调度器四大流派里唯一的纯开源派,就不受规模和费用的限制了。而且Slurm拥有容错率高、支持异构资源、高度可扩展等优点,每秒可提交超过1000个任务,且由于是开放框架,高度可配置,拥有超过100种插件,因此适用性相当强。

所以我们优先选择Slurm。

关于这四家主流调度器:LSF/SGE/Slurm/PBS以及它们的9个演化版本,可以看这篇文章《亿万打工人的梦:16万个CPU随你用》,我们进行了整体梳理和盘点,尤其是对云的支持方面划了重点。

我们是怎么实现的?

答案是:SGE Wrapper。

Wrapper是什么呢?

可以看看下图,可以看到同样的命令在不同的调度器之间有不同的实现方式:

而Wrapper就像不同调度器命令语言中的翻译器,我们相当于通过这个翻译器,把Slurm语言翻译成了Virtuoso听得懂的SGE语言,于是应用就能正常运行啦。

关于不同调度器的使用效果。

我们曾经在Proteus™ OPC实证场景四中分别使用SGE和Slurm在云端和本地分别调度2000核/5000核运行相同OPC任务。

结论是:对于计算结果无影响。 

关于调度器如何在多机器多任务的情况下提升资源利用率,并进行自动化管理,可以看这篇《EDA云实证Vol.7:揭秘20000个VCS任务背后的“搬桌子”系列故事

 

任务监控还能搞出省钱大招?

根据我们对整个任务消耗资源状态的监控,发现运算该组任务所使用的内存大部分时间在5G以下,但会有极短的一段时间(不超过半小时)达到17.5G。

从上图中可以看到,Swap剩余量在短时间内从8.6G跌到了7.1G,随后很快回升到了8.38G,也就是说如果没有Swap,运行内存的瞬时缺口约为1.5G,势必造成任务失败。

Swap,交换分区,就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行。

如果配置16G的内存,任务最后会因此失败。

但如果选择配置32G内存,着实有点浪费,毕竟也就超了一点点。

而同等CPU资源下,配备32G内存的价格普遍要比16G贵1.4-1.9倍

正是由于完备的监控和任务性能评估机制,我们建议用户在云端运算时配备16G内存,同时使用Swap功能渡过这段内存波峰,以达到最高的性价比。

实证小结

1、fastone平台支持在云端使用Virtuoso调用Spectre运行仿真任务;

2、用户使用这套研发设计环境能闭环完成Virtuoso运行任务,且基本不改变用户习惯;

3、fastone平台的云上自动化模式和Auto-Scale功能能有效帮用户缩短研发周期,同时降低使用成本;

4、Slurm调度器不会影响计算结果,是更具性价比及扩展性的选择;

5、fastone平台拥有完备的监控及任务性能评估机制。

本次EDA实证系列Vol.10就到这里了。

下一期我们聊HFSS。

关于fastone云平台在其他应用上的具体表现,可以点击以下应用名称查看:

HSPICE │ Bladed │ Vina │ OPC │ Fluent │ Amber │ VCS │ LS-DYNA │ MOE

我们有一本初创IC企业必备:上手快,即开即用的IC设计研发云平台(三大痛点:缺人,缺钱,赶时间)》,针对初创IC公司的现状、特点、原则与痛点,提出有效解决方案,帮助初创IC公司杀出重围,早日实现规模量产并在市场上占据稳固地位,欢迎扫码添加小F微信获取。

 END -

我们有个为应用定义的EDA云平台

集成多种EDA应用,大量任务多节点并行

应对短时间爆发性需求,连网即用

跑任务快,原来几个月甚至几年,现在只需几小时

5分钟快速上手,拖拉点选可视化界面,无需代码

支持高级用户直接在云端创建集群 

扫码免费试用,送300元体验金,入股不亏~

更多电子书

欢迎扫码关注小F(ID:imfastone)获取

你也许想了解具体的落地场景:

Auto-Scale这支仙女棒如何大幅提升Virtuoso仿真效率?

1分钟告诉你用MOE模拟200000个分子要花多少钱

LS-DYNA求解效率深度测评 │ 六种规模,本地VS云端5种不同硬件配置

揭秘20000个VCS任务背后的“搬桌子”系列故事

155个GPU!多云场景下的Amber自由能计算

怎么把需要45天的突发性Fluent仿真计算缩短到4天之内?

国内最大规模OPC上云,5000核并行,效率提升53倍

提速2920倍!用AutoDock Vina对接2800万个分子

从4天到1.75小时,如何让Bladed仿真效率提升55倍?

从30天到17小时,如何让HSPICE仿真效率提升42倍?

关于为应用定义的云平台

杨洋组织的“太空营救”中, 那2小时到底发生了什么?

速石科技获元禾璞华领投数千万美元B轮融资

一次搞懂速石科技三大产品:FCC、FCC-E、FCP

AI太笨了……暂时

速石科技成三星Foundry国内首家SAFE™云合作伙伴

Ansys最新CAE调研报告找到阻碍仿真效率提升的“元凶”

【2021版】全球44家顶尖药企AI辅助药物研发行动白皮书

EDA云平台49问

国内超算发展近40年,终于遇到了一个像样的对手

帮助CXO解惑上云成本的迷思,看这篇就够了

花费4小时5500美元,速石科技跻身全球超算TOP500

这篇关于Virtuoso仿真效率大幅提升,究竟做对了什么?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/472745

相关文章

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

java学习,进阶,提升

http://how2j.cn/k/hutool/hutool-brief/1930.html?p=73689

JAVA用最简单的方法来构建一个高可用的服务端,提升系统可用性

一、什么是提升系统的高可用性 JAVA服务端,顾名思义就是23体验网为用户提供服务的。停工时间,就是不能向用户提供服务的时间。高可用,就是系统具有高度可用性,尽量减少停工时间。如何用最简单的方法来搭建一个高效率可用的服务端JAVA呢? 停工的原因一般有: 服务器故障。例如服务器宕机,服务器网络出现问题,机房或者机架出现问题等;访问量急剧上升,导致服务器压力过大导致访问量急剧上升的原因;时间和

perl的学习记录——仿真regression

1 记录的背景 之前只知道有这个强大语言的存在,但一直侥幸自己应该不会用到它,所以一直没有开始学习。然而人生这么长,怎就确定自己不会用到呢? 这次要搭建一个可以自动跑完所有case并且打印每个case的pass信息到指定的文件中。从而减轻手动跑仿真,手动查看log信息的重复无效低质量的操作。下面简单记录下自己的思路并贴出自己的代码,方便自己以后使用和修正。 2 思路整理 作为一个IC d

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑燃料电池和电解槽虚拟惯量支撑的电力系统优化调度方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python

提升PrestaShop外贸电商网站安全的几款行业必备工具

提升PrestaShop外贸电商网站安全的几款行业必备工具 PrestaShop发展历程 PrestaShop是一款优秀且强大的外贸开源电商软件,我们开始使用PrestaShop始于2009年,那时PrestaShop还是0.9版本:界面清新,性能强悍,扩展友好等特性,既没有Magento的笨重,也没有ZenCart的古老,更没有OpenCart的脆弱,因此PrestaShop如雨后春笋,迅速

stl的sort和手写快排的运行效率哪个比较高?

STL的sort必然要比你自己写的快排要快,因为你自己手写一个这么复杂的sort,那就太闲了。STL的sort是尽量让复杂度维持在O(N log N)的,因此就有了各种的Hybrid sort algorithm。 题主你提到的先quicksort到一定深度之后就转为heapsort,这种是introsort。 每种STL实现使用的算法各有不同,GNU Standard C++ Lib

Hbase Filter+Scan 查询效率优化

Hbase Filter+Scan 查询效率问题 众所周知,Hbase利用filter过滤器查询时候会进行全表扫描,查询效率低下,如果没有二级索引,在项目中很多情况需要利用filter,下面针对这种情况尝试了几种优化的方案,仅供参考,欢迎交流。 根据业务要求,作者需要根据时间范围搜索所需要的数据,所以作者设计的rowKey是以时间戳为起始字符串的。 正确尝试: 1.scan 设置 开始行和结

如何提高开发的效率,让老板不知所措的给你发工资

设计模式 UML JSP 编程 数据结构 1.你可能会常常发现,写了一段代码后,编译程序时是一大堆的出错 (原因:语法不熟)  ──别担心,这是每个程序员必须经历的事,这时候你就需要更大的耐心及细心,对每一行代码进行仔细人阅读并改正,这个很重要,这可以培养你的理解代码能力,所以要常读程序,不要等到程序运行以后才知道你的程序的结果。  ──如何避免:在写代码以前,要认真的学习计算机语

Matlab simulink建模与仿真 第十章(模型扩展功能库)

参考视频:simulink1.1simulink简介_哔哩哔哩_bilibili 一、模型扩展功能库中的模块概览         注:下面不会对Block Support Table模块进行介绍。 二、基于触发的和基于时间的线性化模块 1、Trigger-Based Linearization基于触发的线性化模块 (1)每次当模块受到触发时,都会调用linmod或者dlinmod函数