[发明专利]使用多核心处理器的并行处理在审
| 申请号: | 201380073411.7 | 申请日: | 2013-11-22 |
| 公开(公告)号: | CN105144087A | 公开(公告)日: | 2015-12-09 |
| 发明(设计)人: | 戴蒙·芬尼;阿肖克·马图尔 | 申请(专利权)人: | 恩邦德网络公司 |
| 主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/46 |
| 代理公司: | 北京润平知识产权代理有限公司 11283 | 代理人: | 罗攀;肖冰滨 |
| 地址: | 美国加利*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 使用 多核 处理器 并行 处理 | ||
相关申请交叉引用
本申请要求2012年12月20号提交的美国临时申请序列号61/740,374的权益。
本申请要求2013年3月5号提交的美国专利申请序列号13/786,144的权益。
技术领域
本发明大体上涉及并行处理。更具体地,本发明涉及使用多核心处理器的并行处理。
背景技术
多核心处理器是具有两个或多个独立的实际中央处理单元(称为“核心”)的单一计算部件,实际中央处理单元是读取并执行程序指令的单元。多核心处理器被用于许多应用领域,包括一般用途的、嵌入式的、网络、数字信号处理(DSP),以及图形。通过使用多核心处理器所取得的性能上的改进在很大程度上取决于所用的软件算法及其实施。特别是,可能取得的改进被可被同时并行在多个核心上运行的软件的部分所限制。
在多核心网络处理中,一个关键的挑战是如何利用这些装置中所有的核心以获得最大的网络性能,尽管在对称多处理操作系统中存在固有的性能限制。在当前的多核心网络处理器架构中,数据包的处理是由一个或多个核心处理器完成的。各个核心处理器和核心处理器的各个线程、存储器管理等之间的同步是通过软件编程来实现的。此外,当数据包的处理从一个核心传递到另一个核心时,状态或同步信息在核心之间被传递或在处理数据包的核心的线程之间传递。
大量的资源被消耗在在线程或处理器之间传递状态/同步信息,从而降低了用于执行实际网络应用相关的任务的资源的可用性。因此,传递状态/同步信息的开销降低了处理器的效率。
另外,在现有的结构中,在等待下一个数据包到达时,核心处理器不执行任何有用的网络相关的操作。核心处理器可以是空闲状态,直到下一个数据包到达核心处理器。在目前具有管线专用核心的阵列的多核心处理器的系统中,多核心处理器被专用核心的性能和管线深度所限制。多核心还受到最慢核心的限制。
概述
这里介绍的是使用多核心处理器进行并行处理的方法、系统、范例和结构。所公开的解决方案可以在各种应用中被使用,例如通用处理、网络处理、存储系统等。在一实施方式中,上述多核心处理器可以在通信网络中被用作(网络)处理器用于处理数据包。该网络处理器包括用于原子地(atomically,不可分割地)和并行地处理数据的多个多线程核心处理器和多个专用处理器。网络处理器通过对数据包执行一组网络操作以处理数据包。该组网络操作可以是基于应用/网络协议,如资源预留协议(RSVP)。
特定的数据包是通过单核心处理器和核心处理器的单线程进行处理的。该核心处理器可以请求一个或多个专用处理器以对数据包执行一组网络操作的子集。专用处理器是专门处理特定的一组共享资源的所有的访问和更新、使得这些共享资源总是原子地被访问和更新的任何处理元件。该专用处理器可以是专门设计用于处理状态数据的某些类型(例如,测量器、队列、统计数据、卷目录表(VTOC)等)的硬件或已被专用于处理特定的一组共享资源的通用的核心。一个或多个专用处理器通过原子地执行一组操作处理数据包。也就是说,网络处理器确保当特定的数据包被处理时,用于处理特定数据包的网络处理器的共享资源不被网络处理器的其它资源使用。在该过程中所涉及的共享资源的锁定确保了过程的原子性。
在网络处理器内的入口模块分配存储器用于传入数据包并将该数据包存储在网络处理器的存储器中。对于大小超过缓冲区大小的数据包,入口模块生成包缓冲区链,其链接含有数据包的部分的各种缓冲区。入口模块将传入数据包添加到输入队列,核心处理器中的一个从其中获得数据包用于进一步的处理。在网络处理器中的输出包处理器基于与输出队列相关联的服务质量(QoS)将处理过的数据包添加到多个输出队列中的一个,并基于QoS转发包含在输出队列中的数据包到它们的目标地址。
由于核心处理器的单线程对数据包执行所有组网络操作,没有状态信息或同步信息在处理器之间传递,这导致更快和更有效地数据包的处理。此外,存储器读取和写入的次数被最小化以降低由于存储器读取和写入造成的延迟。所讨论的方法、系统、结构和范例增加了每包有效操作(EOPP)的数量,也即,对数据包可被执行以执行应用相关的任务的指令的数量。
本发明的一些实施方式,除了以上描述的或代替以上描述的,具有其它的方面、元件、特征和步骤。这些潜在的补充和替代将在整个说明书的其余部分中被描述。
附图说明
图1是本发明的一实施方式可以操作的示例性的网络处理器。
图2示出了由网络处理器处理数据包的过程的流程图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于恩邦德网络公司,未经恩邦德网络公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380073411.7/2.html,转载请声明来源钻瓜专利网。





