2016年5月3日, simics.

The Power of Simulation - Modeling and analysis Intel Edge Analytics with Intel®CoFluent™Studio,采访Sangeeta Ghangam

作者:Jakob Engblom,英特尔产品管理工程师

jakob-for-wr-jive

获取您的系统和软件架构权对产品的成功非常重要。当您建造的系统有很长的预期终身时间时,尤为重要。互联网的东西(物联网)边缘分析是这样的系统,在您部署智能分析网关后,您必须使用十年左右的硬件和软件的约束。正确实现正确的是非常重要的,您可以评估和分析您设计的性能,更易于更改它。如果您等到完成所有代码和硬件设计集,系统剩下的珍贵很少的灵活性。有一种更好的方法,这是使用模拟来完成软件预先码的架构。在过去,这种建筑和分析工作通常是使用餐巾纸或Excel表中的数量来完成的,但随着现代系统的复杂性越来越多,您需要以更聪明的方式执行此操作。这英特尔®Cofluent™工作室提供一种方法来在代码之前工作,但比Excel表中的数字更具体地说。通过使用不同的输入参数构建模型并运行模拟,可以探索更大的设计空间。

在这次采访中,Sangeeta Ghangam告诉她和她的团队如何使用英特尔·哥弗伦工作室来模拟并模拟英特尔边缘分析系统,以分析和改进系统架构。

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

SGBLOG.

Sangeeta Ghangam (SG):我是Sangeeta Ghangam,在英特尔的东西组(IOTG)的互联网上,作为产品解决方案领先,过去为IOT分析,现在为下一代边缘应用平台(EAP)。我已经在英特尔5年来,在2014年开始,在英特尔的平台工程集团中与平台工程集团的存储设备驱动程序合作。

JE:你在英特尔做什么?

SG:我是产品开发团队的一员,专注于EAP开发和推动月球岛平台和边缘计算软件之间的协同作用。我的背景是软件工程,目前我是EAP的产品解决方案领导,这是一个软件和系统的重点角色。

我:月亮岛,我认得这个名字。这是英特尔的硬件和风河的软件。尤其是风河智能设备平台(IDP)。当我在风河时,我实际上有助于获得IDP继续运行风河模拟*月亮岛的一种硬件的模型。看看这些东西是怎么组合在一起的真有趣。有时世界真小。

我:为了更具体,我认为我们必须首先介绍您使用英特尔CoFluent Studio制作模型时所使用的物联网系统。

SG:该系统是一个运行实时边缘分析和决策代码的网关。该网关将使用少量传感器节点来收集信息,并向相当大的工业机器发出控制命令。我的团队正在处理网关上运行的软件,这是这个项目中客户价值的主要驱动因素。最后,为了运行Intel edge分析软件,我们不得不向客户提供购买和部署硬件的建议。

系统看起来是这样的(传感器节点和网关的数量会有所不同):

SGblog2

JE:在设计和架构这个系统时遇到的问题是什么?

SG:我们需要了解如何在给定一组边缘分析模块的情况下确定系统的规模。这里有许多变量:连接到单个网关的传感器数量、传感器和网关之间连接的性质、网关中的计算能力以及运行在网关上的实际软件模块集。

我们需要找到一种解决方案,既能让我们运行目前所需的工作负载,又能留出一定的增长空间。一旦部署了网关和传感器,硬件升级将需要5到10年,但软件将在系统的生命周期内多次升级。因此,我们需要确保我们有一些空间,但不浪费能源和成本。

我:这确实是处理......我猜的任何东西都可以脱掉袖口。

SG:不,随口说不过去。我们还需要在软件以系统的方式为目标进行编码之前做到这一点。因此,我们决定使用Intel CoFluent Studio来构建系统及其软件的模型。

Intel CoFluent Studio工作在比代码更高的抽象级别上,因此我们可以在硬件和软件确定之前就开始实验。通过在模型中添加参数,可以模拟不同类型硬件对整体性能的影响。由于不涉及实际的代码,更改架构也容易得多,因为您不必重写代码以不同的方式进行通信或使用不同的算法进行计算。

我:那么这样的模型会是什么样的?

SG:下面是模型的一小部分,显示了传感器连接和数据处理管道

SGblog3

它是一个图形建模系统,我们的主要内部和外部组件包括一个边缘系统如我们有传感器,网关平台,可编程逻辑控制器(PLC)至于外部组件,然后各种处理模块内部的每一个元素。

我:如何在这种设置中对软件进行建模——是实际计算结果,还是仅仅将其保留在消耗时间并生成令牌以放入队列的抽象任务中?

SG:上面显示的软件是使用来自代表边缘分析工作负载的非常精确的系统测量来建模。我们在英特尔软件和服务集团(SSG)中的同事通过发现每条指令(CPI),指令计数,CPU和内存使用情况来表征系统,这些数字是由英特尔众多技术建模团队使用的,以摘要交易。由于我们有基线操作统计数据,我们可以轻松地推断内部操作模块的任何添加或删除以扩展该模型。

我:因此,明确地说,软件被建模为在处理器上消耗一定数量的资源,以及足够的细节来预测运行一个特定计算任务需要多长时间?

SG:是的,我与SSG的客户端系统优化团队一起工作,使用内部开发的工具以及Vtune来描述工作负载。我们收集了CPI、指令数和详细的CPU/内存使用情况的指标,以准确地建模工作负载。

我:你把实际的分析算法引入模型了吗?

SG:是的,我们确实将边缘分析模型作为一个起点,但是未来我们可以使用Intel Cofluent Studio中的Matlab/R插件来集成分析,比目前1年以上的周期更快。我们运气不错。算法设计者在Matlab中工作,英特尔CoFluent Studio有一个Matlab集成。这样,我们就可以像在Intel CoFluent Studio生成的模型中那样运行Matlab算法,而不需要将它们转换为实际的代码。通过这种方式,我们可以在实际平台上拥有实际运行代码的一年之前使用软件功能,这显然很方便。

我:您模拟的结果是什么 - 您实际运行了多少个不同的配置?

SG:对于一组给定的输入变量和传感器数据吞吐量,该模型估计了平台资源使用情况,以便我们清楚地知道哪个网关最适合所考虑的工作负载。另一方面,在网关是固定变量的情况下,我们设计了一种更好的方式来管理数据处理,它也提供了架构输入

我:你如何校准模型以获得对结果的信任?

SG:为了进行初始校准,我们在实际硬件上使用实时传感器数据和处理时间轴,并将其作为变量添加到模型中。这意味着我们可以将模型的结果(运行一组特定任务的结果)与硬件的结果进行比较,从而增加我们对模型的信心。

我:你有没有可能用硬件来做这件事?

SG:不是真的。在我们的实验室里,我们有几个通道和几个传感器。在实验室平台上评估体系结构将限制我们使用该硬件集所能构建的配置。我们还必须等待最终的软件进行任何类型的性能分析和估计。我们本可以尝试不同的分析模块集,但如果想要改变网关硬件的容量去运行它就太晚了,所以我们只能将所有我们拥有的内容打包到一个特定的盒子中。不是很建筑。或左移位

相比之下,使用Intel CoFluent Studio,我们可以在拥有硬件之前研究这个问题,而且不受实验室中可用的硬件配置的限制。最终,我们确实在真正的机器上运行代码——但那时,我们对什么可行,什么不可行有了一个很好的想法。

我:你今天还在使用该模型吗?

SG:是和否。该项目已经结束,所以我们不使用我们在这里谈到这里的模型了。在手上,我们从这个项目中学到了我们从这个项目中学到的东西,并正在将它应用于下一个项目。在这个新项目中,我们领先于硬件可用性。英特尔Cofluent Studio模型和模拟可以让我们在我们在手中进行实际代码之前运行代码之前进行架构工作。

我们已经扩展并改进了模型,使其更容易改变使用的一组边缘分析模块,允许更快的实验探索更大的建筑空间。

我:听到这个消息真是太好了!没有什么能证明一个工具的价值,比如用户在第一个测试项目结束后继续使用它。在我的职业生涯中,我一直在销售和推销开发工具,从现在开始,没有什么比一个用户决定您的工具是标准工具箱的一部分更好的了。

我想这是最后一个问题了。非常感谢您的宝贵时间和见解,桑吉塔!这是一个很好的例子,说明了如何使用仿真更快地构建更好的系统,以及为什么仿真应该被认为是系统、硬件和软件开发人员的必备工具!

SG:感谢您有机会更详细地讨论建模项目,我认为这里学到的经验教训可以应用于其他几个领域,因此我们实际上具有支持特定产品愿景的性能数据!

*其他名称和品牌可能被声称为他人的财产。

没有任何计算机系统是绝对安全的。英特尔技术的特性和优势取决于系统配置,可能需要启用硬件、软件或服务激活。在intel.com了解更多,或从OEM或零售商。

以前的指纹安全漏洞:Linux注意事项
下一个OpenStack在虚拟CPE中可行吗?