数据芯片电子电路板微芯片
评论

无休止的回归:硬件在云上虚拟化

云巩固了其在嵌入式硬件设计中的作用

2018年夏天,John Hennessy教授和David Patterson教授宣布了定制硬件的美好未来。两人因在20世纪80年代精简指令集计算机(RISC)架构风格的开发中发挥的作用,获得了2017年计算机械协会的图灵奖。

在获奖感言的最后,帕特森指出,云硬件的可用性是开发定制芯片和焊接芯片的电路板越来越容易的原因之一。云服务器可以用于按需模拟设计,如果你有足够的资金,你可以并行模拟许多设计,以运行不同的测试。如果模拟运行速度不够快,可以将部分或全部设计移到现场可编程门阵列(fpga)中。这些可编程逻辑设备不会处理与定制芯片相同的时钟速率,但它们可能只慢5到10倍,特别是如果你的设计是用于物联网(IoT)的某种传感器,成本和能源是比惊人性能更重要的因素。

帕特森说:“过去几年发生的好消息是,在云端已经有了FPGA的实例。“你不需要购买硬件来制作fpga:你可以直接进入云端并使用它。其他人会设置并维护它。”

这一运动的第二个方面是由诸如由美国国防高级研究计划局组织的“开放之路”.该项目旨在建立一个开源硬件设计工具组合,让较小的公司为自己的电路板制造芯片,而不是依赖于现成的硅。原则上,这将使其更容易与大型供应商竞争,后者传统上能够通过定制来提高单位成本。

十多年来,那些较大的硅供应商一直在使用模拟技术来解决定制芯片制造中的一个主要难题。让硬件正确启动和运行是一回事。让软件运行起来通常是整个项目中成本较高的部分。由于目前还不存在的芯片的调试软件非常棘手,他们转向了仿真来处理这个问题。即使硬件没有完全定义,通常也可以使用抽象来运行软件的早期版本,然后随着细节变得更加清晰而逐渐完善。旧的处理方法是使用一些硬件和FPGA组合,接近最终设计,并让它在附近的工作台上运行。这种情况正在发生变化,不再是硬件设计师在运行模拟,而是越来越多地由软件团队来运行。

Imperas公司总裁西蒙•大卫曼(Simon Davidmann)表示:“12、13年前,当我们刚起步时,每个人都在为SoC进行硬件模拟,以使其工作。”Imperas是一家创建处理器核心软件模型的公司。“我们创立Imperas是为了将这些EDA技术带入软件开发人员的世界。我们从Codesign (Davidmann之前的公司)了解到,软件开发将变得更像硬件领域。”

第二个趋势是云的吸引力。这些设计可以在云中的服务器处理器上以速度换取精度的模型上运行,也可以在加载到FPGA中的模型上运行,或者两者混合。由于Imperas和其他人可以通过将仿真指令与物理处理器运行的指令紧密匹配来调整模型的性能,典型的混合方法是在FPGA和快速软件模型中的微处理器中拥有自定义硬件加速器和仿真外设。

Davidmann说,在嵌入式领域使用更敏捷的开发方法的趋势正在推动模拟的更多使用。即使硬件设计似乎不太适合依赖于需求和实现的渐进变化的开发实践,也使用了它们。其中一个主要原因是自动化测试的广泛使用。无论何时签入代码(无论是硬件描述还是软件行),开发环境都会在夜间执行一系列快速测试。如果新代码触发了新的错误,它就会被发回。如果没有,开发人员可以继续。

这种持续集成和测试依赖于可用的服务器,并随时准备在需要时运行仿真和模拟。这反过来又指向了云,因为它很容易根据需要启动处理器进行一系列测试。即使目标硬件最终从晶圆厂回来,模拟仍然被使用。虽然在成品硬件上进行批量测试的一种方法是运行设备农场(基本上是将目标板和系统堆放在货架上),但它们存在维护问题。大卫曼说:“它们总是出错,而且固件版本经常是错误的。”“转向持续集成并不能很好地处理硬件原型。”

您可以快速地将新版本推送到云中的模拟中,虚拟地关闭和再次打开它们。而且,在资金允许的情况下,并行运行其中的许多项目,如果团队必须在最后期限前完成固件的交付,这是至关重要的。

现在,模拟的使用正在进一步深入生命周期,Arm上周推出的虚拟硬件计划就是明证。其核心技术与支持传统芯片设计的技术相同,包括类似Imperas和其他公司提供的快速处理器模型。

Arm虚拟硬件目前所支持的处理器数量有限。加速器的存在为虚拟硬件程序提供了很大的动力。

软件产品开发总监斯特凡诺•卡达里奥(Stefano Cadario)上周在Arm的开发者峰会上表示,该计划背后的驱动力之一是“软件复杂性的急剧增加,包括管理安全、无线更新和机器学习等几个因素”。

嵌入式设备与云服务器的交互非常多,云服务器提供软件更新和身份验证事务,因此能够在云中运行和调试是有意义的。但机器学习呈现的情况是,更新将比今天频繁得多。这些模型通常会在云服务器上进行设备外的训练,因为目标硬件本身没有性能或原始数据来完成这项工作。潜在地,设备可以每晚更新模型,尽管频率很可能会比这低得多。

开发团队需要确保新模型在加载时不会影响其他软件,这表明回归测试被广泛用于云中模拟硬件。这种自动化测试有可能让专业数据科学家在没有软件编写人员直接参与的情况下对机器学习模型进行更新,除非有足够大的变化需要这样做。其结果是,Arm希望客户在生产硬件的整个生命周期中定期维护云模拟数年。

与现有的虚拟处理器模型一样,Arm的实现使得在芯片从晶片厂返回之前就可以评估其性能。据《Cadario》报道,剑桥咨询公司(Cambridge Consultants)使用了一个早期访问版本来测试用于医疗设备的软件,谷歌的Tensorflow团队在开发周期中比正常情况下更早地优化了加速器的机器学习库。

Arm尚未表示,如果有的话,还有哪些处理器将加入到该计划中,不过该公司已表示,将听取客户关于如何扩展产品的反馈,而且重点将放在需要运行机器学习算法的系统上。然而,它似乎不会超出该公司自己的投资组合。“我们的不同之处在于我们支持不同的平台,”Davidmann说。“我们已经得到了一些最大的软件开发使用我们的东西,因为它可以支持异构实现。”

硬件原型仍然会有一席之地,尤其是因为在供应商承诺硬件之前,仍必须对想法进行实地试验。但是,如果有使用更多定制硬件的趋势,云模拟将有助于推动这一趋势。

报名参加E&T新闻电子邮件让像这样的精彩故事每天都发送到你的收件箱。

最近的文章

Baidu
map