【技术实现步骤摘要】
【国外来华专利技术】创建和使用用于并行编程的数据结构的系统及方法本申请要求于2016年10月14日递交的、申请号为15/293,413、专利技术名称为“创建和使用用于并行编程的数据结构的系统及方法(SystemsandMethodsforCreatingandUsingaDataStructureforParallelProgramming)”的美国非临时性专利申请的权益,其要求2015年11月2日递交的、申请号为62/249,750、专利技术名称为“用于并行编程的抽象数据结构的系统和方法(SystemandMethodforanAbstractDataStructureforParallelProgramming)”的美国临时性案的优先权和权益,这些申请案以引入的方式并入。
本专利技术涉及用于并行编程的系统和方法,以及在特定实施例中,涉及用于并行编程的数据结构的系统和方法。
技术介绍
并行程序比顺序程序更难撰写。近几十年来,存在着许多并行框架的方法。普遍的几种是CILKTM,CILKTMPlus,线程构建模块(BuildingBlocks,TBB),和其它方法。这些并行框架为C/C++语言提供了扩展库和运行支撑并且能在许多方面实现性能提升。然而,大部分用于以上并行编程框架的数据结构仍然是传统常用的几种。其中一些提供了并行数据结构解决方案,但是这些方法均与某些具有固定实现的运行系统绑定。其中部分解决方案的性能往往不佳。此外,这些用于并行编程的系统难以调试。
技术实现思路
一种数据处理系统中创建用于并行编程的数据结构的实施例方法,包括:一个或多个处理器形成一个或多个数据结构,各数据 ...
【技术保护点】
一种数据处理系统中创建用于并行编程的数据结构的方法,其特征在于,包含:一个或多个处理器形成一个或多个数据结构,各数据结构包含一个或多个全局容器及多个局部容器,所述全局容器中的每一个均可被多线程并行处理环境中的所有多个线程访问,所述多个局部容器中的每一个只可被所述多个线程中对应的一个线程访问;当项目将被并行处理时,将所述全局容器拆分成多个局部容器;以及当并行过程达到同步点时,将两个或两个以上局部容器合并成单个全局容器。
【技术特征摘要】
【国外来华专利技术】2015.11.02 US 62/249,750;2016.10.14 US 15/293,4131.一种数据处理系统中创建用于并行编程的数据结构的方法,其特征在于,包含:一个或多个处理器形成一个或多个数据结构,各数据结构包含一个或多个全局容器及多个局部容器,所述全局容器中的每一个均可被多线程并行处理环境中的所有多个线程访问,所述多个局部容器中的每一个只可被所述多个线程中对应的一个线程访问;当项目将被并行处理时,将所述全局容器拆分成多个局部容器;以及当并行过程达到同步点时,将两个或两个以上局部容器合并成单个全局容器。2.根据权利要求1所述的方法,其特征在于,所述一个或多个全局容器及所述多个局部容器支持一组数据结构访问方法,所述一组数据结构访问方法包含以下中的一个或多个:put()方法或push()方法;get()方法或pop()方法;split()方法;及merge()方法。3.根据权利要求2所述的方法,其特征在于,所述数据结构基于数组,并且所述支持包含支持所述push()方法及所述pop()方法。4.根据权利要求2所述的方法,其特征在于,所述数据结构基于位向量,并且所述支持包含支持所述put()方法及所述get()方法。5.根据权利要求1至4中任一权利要求所述的方法,其特征在于,所述多个局部容器中的一个局部容器包含追踪标识(traceidentifier,tid),开始索引,及结束索引。6.根据权利要求1至5中任一权利要求所述的方法,其特征在于,进一步包括:执行所述一个或多个全局容器及所述多个局部容器所提供的指令以获得结果;以及将所述结果传输给网络中的节点,或使所述数据处理系统将一个或多个图像,声音,或振动呈现给用户,所述结果包含从源节点到末端节点的跨越网络的路径的路径信息,并且所述将所述结果传输给网络中的节点包含传输所述路径信息的至少一部分到所述网络中的节点,所述路径信息使所述节点便于将数据从所述源节点传输到所述末端节点。7.根据权利要求1至6中任一权利要求所述的方法,其特征在于,所述一个或多个处理器包含多核处理器。8.根据权利要求1至7中任一权利要求所述的方法,其特征在于,所述一个或多个全局容器及所述多个局部容器包括各自的串行常用数据结构。9.一种创建用于并行编程的数据结构的数据处理系统,其特征在于,包含:一个或多个处理器;以及非瞬时性计算机可读存储介质,其存储用于通过所述处理器执行的编程,所述编程包括用于进行以下操作的指令:形成一个或多个数据结构,各数据结构包含一个或多个全局容器及多个局部容器,所述全局容器中的每一个均可被多线程并行处理环境中的所有多个线程访问,所述多个局部容器中的每一个只可被所述多个线程中对应的一个线程访问;当项目将被并行处理时,将所述全局容器拆分成多个局部容器;以及当并行过程达到同步点时,将两个或两个以上局部容器合并成单个全局容器。10.根据权利要求9所述的数据处理系统,其特征在于,所述一个或多个全局容器及所述多个局部容器支持一组数据结构访问方法,所述一组数据结构访问方法包含以下中的一个或多个:put()方法或push()方法;get()方法或pop()方法;split()方法;及merge()方法。11.根据权利要求10所述的数据处理系统,其特征在于,所述数据结构基于数组,并且所述支持包含支持所述push()方法及所述pop()方法。12.根据权利要求10所述的数据处理系统,其特征在于,所述数据结构基于位向量,并且所述支持包含支持所述put()方法及所述get()方...
【专利技术属性】
技术研发人员:陈丽亚,田琛,胡子昂,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。