[发明专利]用于并行数据的可配置划分有效

专利信息
申请号: 200980121350.0 申请日: 2009-05-01
公开(公告)号: CN102057353A 公开(公告)日: 2011-05-11
发明(设计)人: J·达菲;I·奥斯特罗夫斯基;H·伊尔蒂兹;S·托布 申请(专利权)人: 微软公司
主分类号: G06F9/44 分类号: G06F9/44;G06F15/16;G06F9/06;G06F9/38
代理公司: 上海专利商标事务所有限公司 31100 代理人: 顾嘉运;高见
地址: 美国华*** 国省代码: 美国;US
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 用于 并行 数据 配置 划分
【说明书】:

背景技术

控制并行性在多线程化环境和多处理环境中得到支持。编程模型中的控制并行性涉及对并行执行两个或更多个指令序列的支持。多线程环境通过支持并行执行两个或更多个线程,或通过至少允许开发者在多个处理器核可用的情况下以促进线程指令序列的并行执行的方式构造软件来例如支持控制并行性。

编程模型中的数据并行性涉及对并行处理数据集中的两个或更多个部分的支持。数据并行性因此涉及处理数据的指令中的某种形式的控制并行性。然而,控制并行性不一定涉及任何数据并行性;例如,每一线程可能仅仅对其自己的内部变量进行操作,而不对底层共享数据集的某一部分进行操作。例如,当图形处理器同时对四个像素进行操作时,在计算机硬件内的较低层上发生一些形式的数据并行性。其他形式的数据并行性已在较高层上继续进行,例如将元素数组分成被并行处理的子集。

发明内容

在一些实施方式中,数据划分接口支持并行数据的划分。数据划分实现与数据划分接口相关联。数据分区具有在数据划分接口中未指定的但是在数据划分实现中是专用的组织结构。例如,划分可以按照块(chunk)、条(stripe)、域(range)或另一组织结构来实现。一些实施方式提供用于创建数据分区和用于从数据分区获得数据元素的操作。一些支持用于促进负载平衡的动态划分。

给定的示例仅仅是说明性的。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。相反,提供本发明内容以便以简化形式介绍下面在具体实施方式中进一步描述的一些概念。创新性用权利要求来界定,且在本发明内容与权利要求冲突时,应以权利要求为准。

附图说明

将参考附图来给出更具体的描述。这些图仅示出所选择的方面且因而并不完全决定有效范围或范围。

图1是示出操作环境中的计算机系统和经配置的存储介质实施方式的框图;

图2是进一步示出配置有数据划分接口、至少一种数据划分实现和至少一种数据划分的计算机系统的框图;

图3是进一步示出数据划分接口的框图;

图4是进一步示出数据划分实现的框图;

图5是示出具有应用程序、用于处理并行数据的代码、用于划分的并行数据和处理结果的配置的框图;以及

图6是示出某种方法的步骤和经配置的存储介质实施方式的流程图。

具体实施方式

概览

用于数据并行性的许多方法依赖于作为用于实现并行性的主要或唯一的机制的数据划分。然而存在无数用于划分特定数据结构的方法。尽管用于划分数据的一般方法是可能的,但是将以特定的方式使用的用于特定数据结构的最优划分技术可以完全取决于所涉及的算法和数据结构。

例如,如果数据结构支持随机存取,那么可以是这样的情况:可以将其内容以粗粒度划分并依赖于提供对数据的O(1)访问——即用以检索元素的恒定时间访问——的索引器。此数据的分割对于数组和对于数据结构——例如Microsoft.NETTM Framework IList<T>s (Microsoft.NETTM框架I列表<T>s)(Microsoft Corporation(微软公司)的商标)——可以非常有效,且甚至可以以改善空间局部性的方式来划分数据。替换地,可以是这样的情况:索引器并不真正是O(1)且存在更有效的数据访问方法。例如,考虑实现列表接口的树,但是对于每一次访问,要求O(log n)遍历以定位所期望的节点。鉴于此遍历成本,可以寻找替代的访问方法。

对于比如树和XML文档等非线性数据结构,进行树的初始横向划分可以导致更好的访问时间和更少的开销。粗分割可以导致更多的工作集页面。对于充满指针的密集数据结构,局部性可以呈现为大的益处,所以用户可能希望使用更细粒度的方法来分割数据结构内部的元素。

一些问题可以受益于非常具体的数据-阻塞结构。例如,高斯消去法和JPEG解码要求同时对输入的特定部分进行访问。这种要求改变了局部性影响算法的性能的方式,且可能要求算法专用的数据划分技术。

最坏情形可能是:在通用处理架构将需要使用对其同步访问的单个线性计数器的上下文中,数据结构缺乏对随机存取的支持。这适用于例如任何Microsoft.NETTM Framework IEnumerable<T>(Microsoft.NETTM框架I可枚举<T>),且严重地限制可扩缩性。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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