Virtualization,as a technology that enables easy and effective resource sharing with a low cost and energy footprint,applications with stringent performance often need to make use of graphics processors for accelerating their computations. Due to the characteristics of virtualization itself,it will be brought significant performance overhead when doing CUDA application development under GPU virtualiza-tion environments. Besides,it will be studied when processing a large-scale data by using multi-GPU in parallel way. The traditional way of data exchange between the GPUs is transferring by the CPU. Thus it not only will bring the"walk" cost,but also limit the bandwidth of the data transfer rate by using PCI-E with respect to the GPU bandwidth. To solve the above problems,try to identify the optimal com-munication between virtual machines under Xen and VMware virtualization platform for CUDA applications in this paper. For different data transmission between the GPUs,try to find the optimal communication scheme,and to analyze the factors that affect the efficiency of multi-GPU collaborative computing through theory and experiment.%虚拟化技术能够以较低的成本和能源消耗共享有效的资源,一些应用程序往往需要利用图形处理器来加快它们的计算以提高性能。但是由于虚拟化本身的特点,在GPU虚拟化环境下进行CUDA应用开发会带来很大的性能开销。此外,当采用多GPU并行处理大规模的程序时,传统的GPU之间的数据交互方式是通过CPU来中转,不仅会带来“路程”上的开销,同时PCI-E相对于GPU显存的低带宽更是限制了数据传输的速率。针对以上问题,文中在Xen和VMware虚拟化平台下,针对CUDA应用的延迟和吞吐率找出最优的虚拟机间通讯方式,针对GPU之间不同的数据传输方式,找出最优通信方案,并从理论上和实验中分析出影响多GPU协同运算效率的因素。
展开▼