预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共120页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

学校代号10532学号T08101015 分类号TP391密级普通 博士学位论文 GPU通用计算虚拟化方法研究 学位申请人姓名石林 培养单位信息科学与工程学院 导师姓名及职称李肯立教授 学科专业计算机应用技术 研究方向系统级虚拟化 论文提交日期2012年2月16日 学校代号:10532 学号:T08101015 密级:普通 湖南大学博士学位论文 GPU通用计算虚拟化方法研究 学位申请人姓名:石林 导师姓名及职称:李肯立教授 培养单位:信息科学与工程学院 专业名称:计算机应用技术 论文提交日期:2012年2月16日 论文答辩日期:2012年5月22日 答辩委员会主席:王志英教授 TheResearchofVirtualizationon General-PurposeComputationonGraphicProcessingUnit by SHILin B.E.(Xi'anTechnologicalUniversity)2004 Athesissubmittedinpartialsatisfactionofthe requirementsforthedegreeof DoctorofEngineering in ComputerApplicationTechnology inthe GraduateSchool of HunanUniversity Supervisor ProfessorLIKenli February,2012 湖南大学 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所 取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任 何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡 献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的 法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意 学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文 被查阅和借阅。本人授权湖南大学可以将本学位论文的全部或部分内容编 入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇 编本学位论文。 本学位论文属于 1.保密□,在______年解密后适用本授权书。 2.不保密□。 (请在以上相应方框内打“√”) 作者签名:日期:年月日 导师签名:日期:年月日 I 博士学位论文 摘要 作为云计算的关键性基础设施,系统级虚拟机技术是当前计算机体系结构领 域的研究热点之一。系统级虚拟机技术成功的将许多物理设备抽象成内存或硬盘 中的数据结构,如网卡、硬盘、内存等,但GPU(GraphicProcessingUnit,图形 处理单元)从来不曾被完善的虚拟化。这其中一个主要原因在于GPU缺乏统一的 硬件接口和开放的体系规范。在实践中,学术界和工业界选择在协议栈的更高层 ——用户API(ApplicationProgrammingInterface,应用程序编程接口)层进行虚 拟化,一些针对传统图形API的虚拟化工作已取得阶段性成果。CUDA(Compute UnifiedDeviceArchitecture)是一套崭新的GPU应用编程API,专注于通用计算 (General-Purposecomputation)而不是图形应用,是目前事实上的通用计算工业 标准。它向程序员提供了直接控制GPU执行并行计算的能力,而不再依赖于传统 图形API如OPENGL。CUDA框架的出现为系统级虚拟化技术带来了新的问题: 已有的针对图形API的虚拟化工具对虚拟化CUDA没有任何帮助,运行在虚拟机 中的应用程序无法调用CUDAAPI,从而不能利用GPU先进的并行加速功能。 为了解决这个问题,本文提出并实现了首个针对通用计算的虚拟化解决方案 ——vCUDA(virtualCUDA)。vCUDA允许虚拟机中的应用程序访问位于虚拟机 外部的通用计算资源,向它们提供GPU通用计算能力,对加速虚拟机环境下的高 性能计算具有重要意义。vCUDA的设计和实现有四个主要的方面:API重定向 (APIremoting)、懒惰RPC(lazyRPC)、虚拟机专用RPC系统VMRPC(Virtual MachineRemoteProcedureCall)和虚拟机高级特性支持。 API重定向是指在用户层拦截API接口,将其参数转发到远程服务器,在远 程服务器端完成实际计算工作,最后将计算结果返回用户。由于采用了在