[发明专利]一种基于多重并行的数据通用处理方法无效
申请号: | 201010150549.0 | 申请日: | 2010-04-19 |
公开(公告)号: | CN101833438A | 公开(公告)日: | 2010-09-15 |
发明(设计)人: | 许端清;杨鑫;赵磊 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 杭州天勤知识产权代理有限公司 33224 | 代理人: | 胡红娟 |
地址: | 310027 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 多重 并行 数据 通用 处理 方法 | ||
技术领域
本发明涉及并行计算技术领域,尤其涉及一种基于异构多核架构的通用数据并行处理方法。
背景技术
随着当今科学技术的迅猛发展,高性能计算已经成为科学技术发展中具有战略重要性的研究手段,它与传统的理论研究和实验室实验一起构成了现代科学技术和工程设计中互相补充、互相关联的研究方法,被国际上称为21世纪科学研究的三大“支柱”。高性能计算机的应用领域主要集中在科学研发、电信、金融、政府等,所以高性能计算机对于国家的贡献当然是功不可没的,为了加快当今信息化建设的步伐,越来越多的领域应用到高性能计算技术。高性能计算极大地加快了计算的速度,缩短了研制和生产周期。它的应用,大大拓宽了研究能力,促进和推动了现代科学与工程技术的发展。加快发展高性能计算对于提升我国科技自主创新能力、增强国家竞争力、保障国家安全、促进国民经济建设、建设创新型国家具有十分重要的战略意义。
在高性能计算领域的发展过程中,以RISC架构为主导的小型机曾经称霸高性能计算市场,后来由于X86架构的发展,在价格上占有绝对优势的X86架构最终以集群的形式取代了小型机。虽然通过创建分布式系统可以解决部分大型计算的问题,但是分布式系统有通信开销大,故障率高;数据的存取结构复杂,开销大;数据的安全性和保密性较难控制等弱点。随着计算机处理器,特别是GPU(Graphical Processing Unit)计算能力的飞速提高和低廉的价格,高性能计算逐步进入桌面(低端)领域,使得每一名研究人员、科学家以及工程师都有可能拥有自己的超级计算机,能够更快的解决问题,加快了科学发展的节奏。现在的GPU包含了上百个处理单元,对单精度浮点运算可以获得1TFLOPS的性能,对双精度浮点运算也可以获得超过80GFLOPS的性能,可以拥有4GB的显存,超过100GB/秒的带宽。尽管GPU原本是一种专为图形计算而设计的处理器,然而特别适合做大规模并行计算的GPU以强大的计算性能、较低的能耗、低廉的价格以及占地面积较小等特点迅速出现在许多非图形应用的高性能计算领域。如今,许多重要的科学工程都正在尝试将GPU计算能力添加到他们的代码里。软件工程师们正热烈期待着他们的工作能够通过GPU获得卓越的性能。
然而,目前的大多数应用程序直接移植到GPU上来并不会立即得到性能的提高,甚至还会出现性能的下降。这主要是因为这些程序和结构并不是针对GPU架构的特点而设计的,无法挖掘出GPU全部的计算能力。如何利用并行应用程序进行高效的数据处理通常是一件复杂而耗时的工作。
发明内容
本发明提供了一种融合了数据并行、任务并行、管道并行的多重并行数据处理方法,可以使应用程序进行数据处理时能够最大限度地有效使用硬件的计算资源和存储资源。
一种基于多重并行的数据通用处理方法,执行在具有GPU和CPU处理器的计算机中:
(1)将进行数据处理的应用程序划分成若干执行行为;
每个执行行为可以完成至少一个对数据的基本操作,例如数据的访问、数据的存储等,或者计算指令;
(2)根据执行行为对数据的基本操作类型以及计算指令类型,将所有的执行行为划分成若干个任务,即将相似的执行行为划入同一个计算任务中;
相似的执行行为,是指具有相同的计算操作或相似的存储操作,相似的存储操作是指对数据的访问保持在存储区域的局部范围内。
此步骤的划分可以满足硬件的SIMD(Single Instruction,Multiple Data)执行特性和存储的局部访问特性。
每个任务完成指定的计算任务,划分时尽可能的短小而功能单一,任务间根据具体的情况可以并行执行,也可串行执行。
(3)将应用程序需要处理的数据分为静态数据和动态数据,在可执行所述的应用程序的计算机显存中划分存储空间(存储池),在该存储空间中分别为静态数据和动态数据划分存储区域,即存储空间中一部分用于存储静态数据,其余的空间用于存储动态数据。
其中静态数据是指在应用程序执行过程中不会改变的数据,而动态数据是指在应用程序执行过程中产生的新数据。所有这些信息预先记录在一个配置文件里;
(4)根据对数据的处理方式,将步骤(2)中任务分为计算型任务和逻辑判断型任务,在GPU上运行计算型任务,在CPU上运行逻辑判断型任务,本发明采用基于管道并行、数据并行、任务并行的多重并行执行方式,完成应用程序的执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010150549.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置