[发明专利]用于多核/众核可编程逻辑控制器的时间裕隙应用流水线平衡有效

专利信息
申请号: 201380026256.3 申请日: 2013-04-19
公开(公告)号: CN104321747B 公开(公告)日: 2017-11-17
发明(设计)人: A.马丁内斯卡内多;T.费克廷格;M.A.阿尔法鲁奎 申请(专利权)人: 西门子公司
主分类号: G06F9/45 分类号: G06F9/45
代理公司: 北京市柳沈律师事务所11105 代理人: 谢强,熊雪梅
地址: 美国新*** 国省代码: 暂无信息
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 用于 多核 可编程 逻辑 控制器 时间 应用 流水线 平衡
【说明书】:

相关申请的交叉引用

本申请要求以Canedo等人于2012年4月19日提交的、美国临时申请序号为61/635355、名称为“Time Slack Application Pipeline Balancing for Multi-、Many-Core PLCs”的申请为优先权,该申请的全部内容在此以引用方式并入本文。

技术领域

本申请针对用于多核/众核可编程逻辑控制器(PLC)的流水线(pipeline)平衡的方法。

背景技术

流水线操作是一种并行执行技术,其允许程序的不同迭代在多处理单元中、或在多核/众核处理单元的多处理器核中并行地执行。流水线操作能成功地应用于PLC,以改进用户程序的扫描周期时间。

将一个应用流水线化,要求多核/众核处理器中的处理器核被高度利用,即使没有任何有用的计算正在执行亦然如此。这是因为流水线中的阶段(stage)典型地通过先进/先出(FIFO)队列去耦(decouped),而使用者(consumers)(读或从队列中清除(de-queues))典型用忙等待循环实现,这消耗了可用CPU周期,同时,强制其它线程诸如系统服务竞争这些资源。系统服务包括但并不局限于TCP/IP或Profinet中的高优先级通信堆栈、人机接口(HMI)、以及告警/中断处理程序。

将程序划分为N个流水线阶段需要一种算法,该算法对用户程序执行时序分析,以计算数据流图中适当的切入点(cut-points),其建立约含有相同工作负荷的N个阶段。流水线操作减少了扫描周期时间(scan cycle time),因为程序的多次迭代在时间上的重叠提高了输入和输出对传感器和执行元件进行读/写的频率。

现行系统关注于将用户程序的执行分开在N个核中,而系统级线程在不同的M个核中,其中N+M是PLC中可用核的总数。

虽然流水线操作划分算法建立了良好平衡的阶段,但工作负荷是不同的。这是因为这些算法依赖于静态时序分析,其并未准确反映执行的运行时变化(分支预测、乱序执行(out-of-order execution)、存储器访问等)。短阶段与最长阶段、即关键路径(critical path)之间的时间差典型用浪费宝贵CPU周期的忙等待循环填充。

图1图示给定用户程序如何能划分成良好平衡但并不相同的三个阶段A、B、C。现在参见该图,提供程序的源代码101,作为用于可编程逻辑控制器(PLC)103诸如IEC 61131-3PLC的编译器、以及给时序分析程序103的输入。应当注意到,在有些实施例中,时序分析可以包括有编译器。然后,编译器102和时序分析程序103的输出,连同程序应当划分成的阶段数N 104一起,作为输入提供给对程序进行划分的流水线算法105。在此示范性而非限制性的示例中,流水线算法将程序划分成四核处理器中的三个阶段:阶段A、阶段B、阶段C。关键路径、即阶段C是51毫秒,同时,阶段A是45毫秒,而阶段B是42毫秒。相对于关键路径这是6毫秒和9毫秒的差。在运行时,阶段A在核0中执行,阶段B在核1中执行,以及,阶段C在核2中执行。注意,系统服务诸如TCP/IP和HMI被分派至核3,并且,此CPU在两个系统服务之间是分时的。箭头109、110、112、113代表处理器间通信队列,诸如,例如,输入至第一阶段、即阶段A,以及,由其提供一个阶段的输出作为用于下一阶段的输入。对流水线操作进行充分利用的运行时环境具有51毫秒的扫描周期时间,其相当于关键路径的长度。在单处理器中执行的相同程序,扫描周期时间是阶段A、B、C的执行时间的总和(45毫秒+42毫秒+51毫秒=138毫秒),与之相比,在扫描周期时间上是约3倍的减少。

然而,注意阶段A和阶段B短于关键路径。在每次迭代中,较短阶段花费一些时间在浪费宝贵CPU资源的忙等待循环111中。在此特定示例中,阶段A每次迭代花费6毫秒,而阶段B每次迭代花费9毫秒。

短语“时间裕隙(time slack)”用来指浪费在忙等待循环或类似实现中的较短流水线阶段上用于等待数据信号以触发其计算的时间。

通过将用户程序的执行和系统服务限制至特定数量的核,不同组的核中执行的划分可能限制PLC上的性能改善。这是不合宜的,因为,在许多情况下,用户程序和系统服务都可能从使用系统中所有核的方面获益。另外,这要求在运行时间之前也就是在编译时执行划分。

发明内容

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西门子公司,未经西门子公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201380026256.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top