亚马逊AWS官方博客
在 AWS 上扩展 Synopsys Proteus 光学近似修正
简介
光刻是半导体芯片制造的一个关键步骤。光刻的工作原理是将光(激光)通过图案(掩膜)照射到带有光敏涂层(抗蚀剂)的硅晶片上。这样可以改变涂层的特性,使制造商能够根据对激光的曝光或不曝光以化学方式去除部分涂层,从而在晶片上形成与掩膜上的图案相匹配的图案。 制造商可以使用这些图案有选择地在晶片上添加或去除层,从而在硅上形成不同的器件。
这一过程基本上保持不变,直到芯片上图案的几何形状开始接近所使用激光的波长。随着这些图案的尺寸接近光的波长,由于衍射和其他失真,基本的光刻技术无法再准确地在晶片上再现图案。为了进行补偿,光学邻近校正 (OPC) 软件计算这些失真对最终图像的影响,并修改掩膜上的图案。为了实现这一目标,OPC 软件(如 Synopsys Proteus )必须在几十个掩膜层上执行数十亿次计算,以补偿随着半导体几何尺寸不断缩小所引起的失真。
这种复杂程度使 OPC 成为半导体制造业中对计算要求最高的工作负载之一,通常需要数以千计计算内核运行数小时才能处理单个半导体芯片。 由于需要大规模的计算,因此半导体代工厂将其数据中心的很大一部分投入到这一单一工作负载中。
在 AWS 上扩展 Synopsys Proteus OPC
Synopsys 和 AWS 意识到随着半导体技术的进步不断推高每个芯片的复杂性,客户数据中心面临着满足日益增长的资源需求的挑战。 OPC 很适合利用 AWS 云的无限计算规模,因为计算可以并行化。Synopsys 和 AWS 决定启动一项联合调查,以确定 Synopsys Preteus 如何在 AWS 上扩展。
我们决定将目标定为在单个设计上大规模扩展到 2.4 万个计算内核,目标是保持至少 95% 的线性扩展。验证单一设计的扩展可以准确地了解客户可以实现的收益,因为您在将工作人员添加到同一作业时考虑到基础设施和设计工作负载的相互依赖关系。我们已经知道,松散耦合的工作负载在 AWS 上几乎以线性方式扩展。
Amazon EC2 Spot 实例是为容错工作负载优化计算成本的绝佳方法。EC2 Spot 实例使用空余的 Amazon EC2 容量,该实例与按需实例相比,最高可获得 90% 的折扣。当特定可用区 (AZ) 的按需实例类型请求出现激增,AWS 可以通过两分钟通知的方式收回 Spot 实例。
我们利用官方的 AWS Solution Scale-Out Compute on AWS (SOCA) 快速创建一应俱全的云环境,提供可扩展性的计算和存储、预算监控、作业调度等。有关如何为 EDA 工作负载设置 SOCA 的指导,请查看博客使用 Scale-Out Computing on AWS 扩展 EDA 工作负载。
Proteus 使用分布式计算架构运行。使用一个头节点来管理和跟踪工作负载和数据,同时将各个计算作业分配至工作节点。每个工作节点都会接收一小部分掩膜的数据、处理工作负载并将完成的数据返回到头节点中。
我们将调查分为两个步骤 – 1) 使用按需实例在 2.4 万个内核之间实现可扩展性 和 2) 使用 EC2 Spot 优化架构以节省成本。我们首先使用按需实例运行2000 个内核,然后运行4000、8000、10000、16000 及最后的 24000 个内核运行测试。有关我们用于测试的设计的信息,请参阅下表“设计详细信息”。我们能够成功地将 Proteus 扩展到 2.4 万个,即使使用 2.4 万个内核,我们也能够保持 98% 以上的线性扩展度。请参见图 1 中的红色实线。
接下来,我们探讨了使用 Amazon EC2 Spot 实例运行 Proteus 以便更经济高效地扩展工作负载的情况。从版本 vM-2017.03-9-T-20200117 开始,Synopsys Proteus 能够将 EC2 Spot 实例用于工作节点。我们继续使用 EC2 Spot 实例而非按需实例运行同一组测试。请参见图 1 中的黑色实线。结果表明,Spot 实例中断确实导致整体效率下降。然而,即使在 Spot 实例中断的情况下,Proteus 仍然能够在单个设计上扩展到 2.4 万个内核时实现 97% 以上的可扩展性。我们利用了 Spot Fleet,它支持实例类型的多样化,以最大限度地减少 Spot 实例中断的影响。图 2 显示了 2.4 万个内核测试期间使用的 Spot 实例类型。
设计详细信息
配方 | EUV OPC |
布局 | Synopsys N7 IP 数据块 |
节点 | N7 |
图 1:Amazon EC2 按需和 Spot 实例上的 Proteus OPC 可扩展性
图 2:2.4 万个内核的 Amazon EC2 Spot 实例类型分布
结论
OPC 是半导体制造业中计算密集程度较高的工作负载之一,消耗了代工厂数据中心的大部分容量。基于 OPC 工作负载的规模可知,它们非常适合在云上运行。Synopsys 和 AWS 联合团队表明,Proteus 可以为单个设计成功扩展到 2.4 万个内核的目标,同时保持 98% 的可扩展性。Proteus 甚至可以成功地利用 Amazon EC2 Spot 实例的成本节约,同时实现 97% 以上的线性扩展度。通过利用 AWS 运行Synopsys Proteus OPC,与在其自己的数据中心中相比,代工厂和集成设备制造商 (IDM) 可以灵活且有弹性地将其 OPC 工作负载扩展到更多内核,从而减少总周转时间,同时仍可实现比本地运行更低的总计算成本。
我们实现了这项调查的目标,通过 EC2 Spot 在单一设计上扩展 2.4 万个内核,Synopsys 和 AWS 团队认为,我们可以在AWS 上使用Synopsys Proteus 更进一步发展。敬请关注未来的更新。有关我们如何在 AWS 上扩展此工作负载和其他 EDA 工作负载的更多信息,或者有关如何将 EDA 工作负载迁移到 AWS 的更多信息,请联系您的 Synopsys 或 AWS 客户团队。
欲了解更多关于 Synopsys Proteus 的信息,请访问 https://www.synopsys.com/silicon/mask-synthesis/proteus.html
有关 AWS 上的 EDA 工作负载的更多信息,请转至 https://aws.amazon.com/semiconductor