【《自适应数据划分策略及实验概述》4600字】_第1页
【《自适应数据划分策略及实验概述》4600字】_第2页
【《自适应数据划分策略及实验概述》4600字】_第3页
【《自适应数据划分策略及实验概述》4600字】_第4页
【《自适应数据划分策略及实验概述》4600字】_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

自适应数据划分策略及实验概述目录TOC\o"1-3"\h\u27364自适应数据划分策略概述 167961.1gem5-gpu模拟仿真控制器设备 2202201.2自适应数据划分策略设计 332361.3实验设计及结果分析 549111.3.1测试用例 540191.3.2评价模式 6157881.3.3实验配置 634321.3.4实验结果分析 8对于GPU与CPU间如何进行数据划分的这一问题,目前有了大量的研究,但其中大多为对于搭载着专用GPU加速器的系统进行研究的,这是因为受到了处理器架构与编程模型的约束。结合PCI-Express总线存在的延迟与带宽,计算任务如果能够被划分为具有较强独立性的两个及以上的子任务,子任务的通信量较小。只有在这种情况下,对GPU与CPU的任务划分才能够增强性能水平。在计算前将GPU所要求的数据存放于显存中,在完成后再将结果存放于系统内存,这一协同关系较为宽松。在研究中,不但要分析CPU与GPU的计算能力,同时还应当结合数据在各处理器间的传输开销。这一开销并不单指在计算中的通信开销,还应当包括在初期阶段的数据准备以及结束后的复制返回等操作开销。现阶段,对于很多异构多核处理器来说,一些特性在硬件上已经能够实现,如系统级原子操作、存储一致性以及SVM等。就异构多核处理器来说,这使得其中的数据划分出现了新特征:SVM能够解决系统内存与显存间高数额的数据传输问题。对于CPU与GPU的数据划分工作来说,如果应用程序是在支持SVM编程框架上组建的,因处理器间的数据传输导致的性能损失问题能够在一定程度上被忽略。系统级原子操作与内存一致性实现了不同处理器间的细粒度通信与同步的开展。例如SVM被OpenCL2.0划分为了三种类型:细粒度系统(Fine-Grainedsystem)、粗粒度缓冲区(Coarse-Grainedbuffer)以及细粒度缓冲处理区(Fine-Grainedbuffer)。在这其中,OpenCL缓冲处理区数据内存目标对象是粗粒度缓冲处理区的实时共享作用目标对象,可以在使用map/unmap命令指示和同步点时加强数据信息的持久程度,令数据的变化更新能够被每个处理器都感受到。保存于体系数据内存里储存字节的load/store是细粒度体系的SVM的影响目标对象。而OpenCL缓冲处理区的数据内存目标对象里储存字节的load/store就是细粒度缓冲处理区的实时共享作用目标对象。这三种SVM在一定程度上是CPU和GPU间实现多种粒度协同的基础。gem5-gpu模拟仿真控制器设备麦迪逊分校研发了全新CPU-GPU异构体系模拟仿真控制器设备Gem5-gpu。这一模拟器将常见的GPGPU-Sim与gem5进行了很好的结合。其中,英属哥伦比亚大学研发了适用性强适用度高的模拟器-GPGPU-Sim,这一模拟器较为成熟、应用度很高,运算结构和当代NVIDIA显卡的类似,对独特作用功能基本单元(SpecialFunctionUnit,SFU)、数据内存体系、线程调配以及寄存器设备的建立模型[62],主要包含:所有的DRAM实验模型和GPU数据内存、缓存。Gem5是通过多所大学合作研制出的多核全体系模拟仿真控制器设备,许多可转换的CPU实验模型都能很好地在这一模拟器上应用,例如AtomicSimple、In-Order、Out-Of-Order以及TimingSimple等模型。他能够从CPU模型中把ISA解耦出来,x86、ARM、SPARC、Alpha、POWER以及MIPS等多种指令集能被支持使用[63]。其事件驱动型系统非常精细,包含了如GDDR5、DDR3/4、HBM1/2/3以及LPDDR3/4/5等多种内存,能够将DRAM、crossbar、探听过滤器以及缓存等多组件间进行自由组织,能够组建非常复杂的结构,例如多层非一致缓存异构体系结构。此外,在这一模拟器上还能够进行功率建模,同时操作系统也能够看到该模拟其对象的时钟域与功耗域。借助于领域特定语言(Domain-specificlanguage)SLICC,使得Gem5的Ruby内存模型达成了缓存处理一致性服务协议。经过SLICC,脱离了缓存处理一致性服务协议和保存体系,这为达到很多种不同服务协议打下了坚实的基础。很多种不同片上互联拓扑组成结构能够在Ruby模拟器上使用,能够组建多种点对点链路的拓扑结构。Gem5集成机制有所不同,其是板块化的,能够使得被加入到系统中的新组建能够借助于这一模拟的可对外拓展接口完成支持兼容保存体系通讯。Gem5-gpu借用于Ruby保存应用子系统模拟仿真控制器设备,不单单促使GPU和CPU完成了实时共享虚拟构造储存地址分布空间,同时也支持了互相独立的物理地址空间。Gem5-gpu选择放弃了DRAM模型以及GPGPU-Sim侧的内存系统,将gem5的存储子系统充当GPGPU-Sim接口,这令各内存控制器仅存放了请求和相应队列,GPGPU-Sim是由gem5来达成数据访问的。Gem5-gpu的精确度较高,具有两种模式:全系统(Full-System,FS)和统调用仿真(System-callEmulation,SE),能够精确到周期(Cycle-levelAccurate)。在SE模式下,这一模拟器与大部分系统调用(如read())类似,当系统被执行时,模拟器将其捕捉并效仿,一般来说将其传送至宿主操作系统来实现的。但无法支持多线程应用,这是由于SE模式中缺乏搭载线程调度器,因此线程无法动态地被传送至核心造成的。一般多为SPECCPU基本标准调试应用程序。针对FS应用模式里的操作应用系统而言,Gem5-gpu供应了裸机模拟仿真,支持兼容使用权限、异常不同、服务终端以及I/O机器设备。FS相比较于SE方式而言,它兼容支持很多种不同应用操作程序并且准确水平高。在FS模式中,需要I/O设备以及大量操作系统服务的应用程序能够被支持使用,例如传递与接收的网络接口以及需要内核TCP/IP协议栈的网络服务器等。FS也方便了专家对操作系统以及深层细节影响进行研究。此外,FS模式的重要意义也在于这一模式的造假很难,比如说使用者要想在gem5-gpu中运行程序,首先需要提供一个编译过的Linux内核与磁盘镜像,在系统运行,接着像在真实计算机环境中操作。全系统模式的优势主要有以下五种:(1)模拟外设;(2)真实度高;(3)支持未经修改的二进制文件;(4)能够开展操作系统研究;(5)相较SE模式来说更为简洁明确本文在实验中选用了FS模式,提高了实验结果的准确度。自适应数据划分策略设计对于分布式系统的运载均衡问题,目前已有很多学者进行了分析研究。本文所研究的数据划分在一定意义上也能够被划入这一问题范围。但数据划分将研究重心放在了各处理器对于复杂程度高、资源竞争激烈的处理速度上,在不考虑资源竞争的基础上,将程序的第二次运行开展数据划分,达成提高性能的目的。图3-1自适应数据划分策略流程图按照各处理器执行程序的性能水平为参照标准开展数据划分是设计自适应数据划分方案的关键。其工作开始于程序的首次运行。在程序第一次被系统运行时,由CPU来处理一部分f_c的数据,GPU处理其余部分。其中应当注意的是,f_c不得小于数据划分的最小单位𝑢。得出t_c:CPU的执行时间,以及t_g:GPU的执行时间。在CPU与GPU处理单位数据运行时间的最小值小于t_c与t_g之差的情况下,根据以下公式(3-1)、(3-2)(公式中的𝑓代表比例值,𝑡为执行时间)分别求出v_c:CPU的全面处理速率以及v_g:GPU的全面处理速率,运算处理器设备的速率和其获取的数据信息量为正比例关系,由运算方程式(3-3)可以计算得知下次CPU全面处理数据信息的比重,一般来说其比例并不是最小单位的整数倍,需要由速度相对快的处理去来解决剩余部分,以更好地减少运行时间。v(3-1)v(3-2)f(3-3)实验设计及结果分析测试用例业内机构与多所大学合作发开了能够应用于评估异构平台的程序测试集—Chai。这一程序测试集不单能够支持搭载着独立GPU加速卡的结构系统,还能够被应用于异构多核处理器,因此在此使用异构平台一词。CUDA-U-Sim、CUDA-D-Sim、OpenCL-U、OpenCL-D、CUDA-D、C++AMP以及CUDA-U都能够被Chai支持,“-Sim”代表该测试集为gem5-gpu模拟器所实现,“-U”代表着具有了2.3.2里的异构多核运算处理器设备的全新特征,举例SVM、存储一致性以及全局原子操作等。“-D”意思是CPU和GPU的数据内存分布空间有所差异。从3-1chai基准测试程序表中我们能够看到,Chai中有14个测试程序,包含了多种协同方式例如数据任务划分等,各协同方式种的计算形式也有所差异,为发挥架构的多种特性提供了基础。Chai包含了如负载均衡、划分粒度以及全局原子操作的使用等特性,具备很多特性组合,能够全面分析并详细描述异构架构与软件的性能与特性。表3-1chai基准测试程序协同模式基准程序描述数据划分BS几何构建CEDD图像边缘检测HSTI视觉图像处理、模式识别HSTO视觉图像处理、模式识别PAD内存对齐、矩阵转置RSCD随机抽样一致性SC流压缩TRNS就地转换任务划分-细粒度RSCT随机抽样一致性TQ任务队列系统(综合任务)TQH任务队列系统(柱状图)任务划分-粗粒度BFS广度偏向搜查运算方法CEDT图像边缘检测SSSP单源最短路径评价模式本次研究分析选择了支持兼容SVM和全局原子操作应用等新特征的异构多核运算处理器设备结构,数据内存分布空间由CPU和GPU实时共享,GPU不用从主存中提取数据并复制至显存再进行计算,完成计算后也不用将计算结构发送回主存,CPU与GPU待数据载入系统内存后,就能够进行各自的计算,CPU能够看到GPU的计算结果,因此,Kernel执行作用时间𝑇𝑘𝑒𝑟𝑛𝑒𝑙和调配作用时间𝑇𝑎𝑙𝑙𝑜𝑐组成了所有运行工作交易时长。相同荷载工作任务的调配时长同时也是一致的,针对不相同的调配而言,CPU和GPU的运行工作时长具有很大差距。一般来说,执行时间与数据量呈正相关关系,选用CPUKernel作用时间与GPUKernel里的最高数值为Kernel的执行作用时间,CPU与GPU不互相等待,同时完成执行是最佳分配。在本实验中,选取Kernel执行时间在20次运行中的平均值。实验配置从图3-1中我们能够看到,对于实验选取的多核处理器的架构而言,二级缓存由CUP与GPU共享,而一级缓存则相互分离,支持异构多核处理器的新特性,如SVM等。本研究通过模拟两种系统配置,以提升算法的准确度与有效性,表3-2展示了两种系统的主要配置参数。表3-2配置参数表图3-2系统架构图四组NVIDIAFermi架构的SM组建了第一种实验环境的GPU模块,其一级缓存相互独立,而二级缓存则遵循共享机制。第二种实验环境的GPU模块由一个SMM架构组成,其保存分布空间则是由四组核心共享的,大小为64KB,对于多个SMM来说,二级缓存则是由多个共享本节实验的实验对象选取了Chai中满足静态划分以及使用数据划分这两个条件的程序,因为三个支持负载均衡的应用程序:随机抽样一致(RSCD)、贝兹曲面(BS)以及Canny边缘检测(CEDD)也在下一张的实验中使用,所以借助这三个程序来对数据划分的流程进行介绍。贝兹张量积曲面常见于计算机图形学中的几何重建以及工程学,而对于Chai中的BS来说,作为一种细粒度划分,是通过划分程序中输出的表面,并分给不同的CPU或GPU线程来实现的;Canny边缘检测作为一种粗粒度划分,是将视频进行划分,并把不同帧分给CPU或是GPU,需要进行由不同Kernel来实现的四个步骤的处理:Gaussian、Sobel、Non-maximumsuppression以及Hysteresis,但处理过程都是在同一处理器上完成的;随机抽样一致(RANSAC)是一种中等粒度划分,把各迭代分配给不同的CPU或GPU线程。表3-3展示了七种应用程序,其中包含了三种数据划分粒度,能够相对完整地对自适应数据划分策略的有效性进行检测。在更改输入大小的情形中,即使自适应数据划分策略只考虑单一输入,但还是能够使用这一策略来研究最佳配比,或是为输入存在差异的运行起到借鉴作用。表中的3个程序都启用七个CPU线程,对于模拟的八个核心来说,大多被应用于运行CPUKernel,共计六个,其余两个分别用于启动程序的主线程以及操作系统。CUDA采用默认设置。本节实验是在只考虑划分比例,不考虑DVFS、程序启用CPU线程数以及GPU设置的影响效果的基础下进行的。表3-3测试程序实验结果分析3.3.2中所介绍的Kernel执行时间作为本节实验的性能指标,将分别在最优数据划分比例情形下、由GPU进行所有数据的处理情形下以及默认的数据划分比例情形下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论