[发明专利]创建和使用用于并行编程的数据结构的系统及方法有效
申请号: | 201680061525.3 | 申请日: | 2016-10-18 |
公开(公告)号: | CN108140014B | 公开(公告)日: | 2021-03-05 |
发明(设计)人: | 陈丽亚;田琛;胡子昂 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F9/50 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 颜晶 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 创建 使用 用于 并行 编程 数据结构 系统 方法 | ||
提供了创建用于并行编程的数据结构的系统和方法实施例。一种创建用于并行编程的数据结构的方法,包括:一个或多个处理器形成一个或多个数据结构,各数据结构包含一个或多个全局容器及多个局部容器。全局容器中的每一个均可被多线程并行处理环境中的所有多个线程访问。多个局部容器中的每一个只可被多个线程中对应的一个线程访问。当项目将被并行处理时,全局容器被拆分成多个局部容器;以及当并行过程达到同步点时,两个或两个以上局部容器被合并成单个全局容器。
本申请要求于2016年10月14日递交的、申请号为15/293,413、发明名称为“创建和使用用于并行编程的数据结构的系统及方法(Systems and Methods for Creating andUsing a Data Structure for Parallel Programming)”的美国非临时性专利申请的权益,其要求2015年11月2日递交的、申请号为62/249,750、发明名称为“用于并行编程的抽象数据结构的系统和方法(System and Method for an Abstract Data Structure forParallel Programming)”的美国临时性案的优先权和权益,这些申请案以引入的方式并入。
技术领域
本发明涉及用于并行编程的系统和方法,以及在特定实施例中,涉及用于并行编程的数据结构的系统和方法。
背景技术
并行程序比顺序程序更难撰写。近几十年来,存在着许多并行框架的方法。普遍的几种是CILKTM,CILKTMPlus,线程构建模块(Building Blocks,TBB),和其它方法。这些并行框架为C/C++语言提供了扩展库和运行支撑并且能在许多方面实现性能提升。然而,大部分用于以上并行编程框架的数据结构仍然是传统常用的几种。其中一些提供了并行数据结构解决方案,但是这些方法均与某些具有固定实现的运行系统绑定。其中部分解决方案的性能往往不佳。此外,这些用于并行编程的系统难以调试。
发明内容
一种数据处理系统中创建用于并行编程的数据结构的实施例方法,包括:一个或多个处理器形成一个或多个数据结构,各数据结构包含一个或多个全局容器及多个局部容器。各全局容器均可被多线程并行处理环境中的所有多个线程访问。所述多个局部容器中的每一个只可被一个对应的线程访问。所述方法包括:当项目将被并行处理时,将所述全局容器拆分成多个局部容器。所述方法还包括:当并行过程达到同步点时,将两个或两个以上局部容器合并成单个全局容器。
一种创建用于并行编程的数据结构的实施例数据处理系统,包括:一个或多个处理器;以及一非瞬时性计算机可读存储介质,其存储用于通过所述处理器执行的编程。所述编程包括用于进行以下操作的指令:一个或多个处理器形成一个或多个数据结构。各数据结构包括一个或多个全局容器及多个局部容器。各全局容器均可被多线程并行处理环境中的所有多个线程访问。所述多个局部容器中的每一个只可被一个对应的线程访问。所述编程还包括用于进行以下操作的指令:当项目将被并行处理时,将所述全局容器拆分成多个局部容器。所述编程还包括用于进行以下操作的指令:当并行过程达到同步点时,将两个或两个以上局部容器合并成单个全局容器。
提供了一种为创建用于并行编程的数据结构存储计算机指令的实施例非瞬时性计算机可读存储介质,当所述计算机指令由一个或多个处理器执行时,使所述一个或多个处理器执行如下步骤:形成一个或多个数据结构,各数据结构包含一个或多个全局容器及多个局部容器。各全局容器均可被多线程并行处理环境中的所有多个线程访问。所述多个局部容器中的每一个只可被一个对应的线程访问。当所述使用并行编程构架的计算机指令在由一个或多个处理器执行时,还使所述一个或多个处理器执行如下步骤:当项目将被并行处理时,将所述全局容器拆分成多个局部容器。当所述使用并行编程构架的计算机指令在由一个或多个处理器执行时,还使所述一个或多个处理器执行如下步骤:当并行过程达到同步点时,将两个或两个以上局部容器合并成单个全局容器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680061525.3/2.html,转载请声明来源钻瓜专利网。