论文部分内容阅读
随着人工智能和大数据技术的进一步发展,企业对服务器的性能要求越来越高,云计算作为这些技术的底层运算支撑不可避免地需要进一步加强其数据处理能力,图像处理单元GPU便成为了加强云端计算能力的主要选择。因为CPU与GPU的主要功能不同,导致两者的硬件架构不同。使得CPU擅长处理逻辑运算,主要用于管理计算机硬件和软件的工作调度。而GPU则擅长并行处理数据计算,主要负责高性能计算与图像处理。因此将GPU计算服务添加到云端能有效提高云端的计算能力,同时能降低云端CPU的工作负载,从而使云端能提供更好的服务。但是由于架构原因,GPU不能进行完全虚拟化导致在云端利用率极低,所以目前云端主要使用CPU处理数据计算任务,这限制了云端进一步加强数据处理能力。本研究主要目的是在云端利用CUDA(Compute Unified Device Architecture统一计算设备架构)使GPU提供通用并行计算服务,并提高GPU在云端的利用率和稳定性。具体研究内容是使用OpenStack搭建具有IaaS的云平台,通过透传技术在云端虚拟化GPU并创建独占GPU设备的虚拟机,同时在控制节点、GPU虚拟机以及用户虚拟机上运行C/S架构程序,该程序工作流程如下。用户在云端创建普通虚拟机后,运行客户端程序向云端请求在GPU资源时,云端将根据用户请求与GPU工作状态为用户调度至合理的GPU虚拟机,由GPU虚拟机完成用户任务。该研究能够极大地提高GPU在云端的利用率,并且能够为用户提供完整的GPU性能。此外云端通过对GPU工作状态和用户请求实现GPU负载均衡,有效地提高GPU工作的稳定性。为了进一步提高GPU服务在云端的安全性和稳定性,研究中采取了Linux的用户权限管理技术,对GPU虚拟机中的服务端程序进行权限控制,并使用热备份技术处理GPU故障问题。