2016年1月20日 西米奇

英特尔合作设计,使用Simics的新硬件的左移- Karthik Kumar &托马斯Willhalm

由雅各布Engblom

jakob-engblom-intro-picture

正如你所知道的那样,风河系统公司西米奇该产品是由风河公司和英特尔公司联合开发的,英特尔公司正在使用Simics开发自己的产品。英特尔在Simics上做的很多事情都是内部的,很少公开展示。然而,Simics是Intel开发下一代硬件和软件系统的关键工具,在Intel内部有许多有趣和酷的Simics技术应用。在这次采访中,来自英特尔软件和服务集团的Karthik Kumar和Thomas Willhalm提供了一些他们如何将Simics与应用程序级软件结合使用,以确保英特尔构建具有正确功能的正确硬件,包括在还不存在的硬件上运行代码。

Jakob Engblom (JE):请介绍一下你们自己!

英特尔1-KK-140PX

Karthik Ku​​mar(KK):我是美国英特尔软件和服务集团的工程师Karthik Kumar。我与企业合作伙伴一起优化他们的应用程序,并在基于intel的平台上启用新功能。我的兴趣和专业领域涉及大数据解决方案和下一代内存技术。

intel1 tw - 140 px

托马斯Willhalm (TW):我是托马斯Willhalm,该工程师,英特尔的软件和服务集团,位于德国。我在优化Intel Architecture的优化软件方面工作并咨询独立软件供应商(ISV)。我的专业领域是企业应用程序和数据库,专注于SIMD和Next-Gen非易失性存储器(NVM)解决方案。

JE:你在英特尔的工作是什么?

KK和TW:首先,我们想强调两件事:(1)英特尔通过创新和推出新技术和新功能来提供行业领导地位:例如,英特尔最近宣布了3D XPoint内存技术(2)企业软件应用正变得越来越复杂,通常情况下,一个主要软件产品要采用英特尔的新技术或新功能,需要进行大量的幕后工作。

现在回答你的问题,我们的角色是完全建立在上述两个的十字路口:随着软件专家,我们与CPU和工作平台架构师提供现实世界软件输入,帮助定义和塑造新技术经过多年的内部设计管道在英特尔。在设计过程中的某个时刻(早在一项技术公开宣布之前),我们开始与我们的战略合作伙伴(主要软件供应商)合作,调查和设计他们的软件如何能够适应/重新架构,以充分利用新的英特尔技术。

我:谢谢你;这是一个非常关键的角色。新的硬件特性没有多大价值,除非有软件支持,而且如果您试图在没有来自实际应用程序的输入的情况下设计硬件,那么您很可能为现实世界设计的东西不是最优的。

你如何使用Simics来完成你的工作?

TW:电梯游说是Simics是一个强大的模拟和开发工具。它提高了我们在英特尔平台上改进、增强和推进客户软件开发的能力,也就是左移。它改进了英特尔未来的CPU设计能力,也就是架构反馈。

英特尔西米奇int1

有了Simics,新的英特尔硬件的软件开发可以在第一个硅可用之前就开始,因此可以用来驱动硬件设计,因为在设计周期的早期仍然有改变的机会。我们称之为硬件软件合作设计因为在设计周期的早期开始提供了“共同设计”下一代应用软件和下一代硬件的机会。总之,我们对Simics的使用跨越了三个方面:左移、架构反馈和软硬件协同设计。

JE:你在Simics上运行应用级软件,而不仅仅是固件和UEFI?

TW:是的,我们运行完整的未经修改应用软件堆栈。这是与用户空间模拟器相比,Simics的大的优点之一,从软件角度来看,应用程序运行就像在没有任何修改的情况下运行SIMICS为我们提供了一个协作平台,可以与软件合作伙伴共享,并在其存在之前允许它们的硬件代码。它有效地工作:

英特尔西米奇int2

让我们从左移开始。与等待硬件相比,您节省了多少时间?

KK:大约一年或更久。在某些情况下,比如可以以一般方式模拟硬件特性(比如可以像多gb缓存那样处理的高带宽内存),可以很早就开始。在其他情况下,您必须等待实现特定指令集体系结构(ISA)的模型到达,然后更像是在第一个硅之前的一年。

杰:哇!能够在未来的特色年前与未来的特征令人难以置信的强大,并证明使用软件模拟来开发硬件的价值。

你能告诉我们一些已经使用了Simics的特定情况吗?

TW:我们使用风河®西米奇®未来英特尔的模型库®“平台”虚拟平台模型,以收集软件在该平台上可能如何运行的见解。具体来说,3D XPoint内存跟踪功能在Simics中可用——这使我们能够理解软件如何在实际平台上使用这种内存。此外,Simics虚拟平台模型拥有完整的“未来英特尔平台”指令集,我们正与一家领先的软件供应商合作,在未来英特尔平台上建立原型并测试他们的软件设计。

我:哇!我们在这里谈论的是英特尔突破性的新技术,是2015年的热门话题。它已经在Simics中运行和使用了。一旦硬件上市,软件就会利用它!

建筑反馈和共同设计呢?

KK:Simics的另一个用途是帮助改进HW和SW设计,增强洞察力和跟踪能力。

利用Simics的特性收集有关英特尔未来各种技术的决策数据。例如,使用Simics收集内存数据库的特殊CPU指令痕迹,并用于评估2019年特殊硬件特性的可行性!

JE:是否有任何特定的SIMICS功能,您可以找到有用吗?

KK:跟踪指令和内存的能力非常有用:它有助于确定未来的指令或内存特性将如何影响应用程序,并帮助纠正应用程序设计或硬件设计。另一个例子是,在调试和原型化向量代码时,检查向量寄存器的内容并能够向前和向后步进是很有用的。此外,脚本化、检查点等使Simics成为一个非常强大的工具!

我们还充分利用了Simics和Simics模型的可编程性和可扩展性。Intel的Simics团队花了很多精力专门为我们开发定制的Simics特性(比如追踪硬件访问和使用NVM技术),帮助我们收集所需的数据。我们非常感谢他们为支持我们和我们的合作伙伴所做的努力!

我:谢谢!我知道客户和技术机密有时会限制人们在公共论坛上的言论,但我认为这是英特尔利用Simics推动新技术发展的一种非常有趣的方式。

几年前,我和英特尔的Daniel Aarno整理了一份关于Simics和Simics在英特尔的使用的Intel技术期刊。这为英特尔和研究人员如何使用Simics提供了更多的见解。关于这个问题的更多信息(可免费下载)在一个以前的博文

以前的在NFV中,“开放”的真正含义是什么?
下一个第二届mil国际研讨会