GPU在商用应用程序上的部署究竟能带来多少性能提升,这是很多人关心的问题,也许只是个昂贵的噱头,也许会变成数据处理的一个重要组成部分。
许多书籍、文章都用大量的空泛的数据,专业术语来解释GPU在数据处理中的作用,它看起来很好用,而且好像就是未来发展的趋势,特别是在一些大型架构的信息系统,好像使用GPU来处理数据是必不可少的一部分。
大概从2003年开始,随着科技的发展,我们开始使用GPU来独立处理电脑3D游戏的数据,或者其他对图形要求比较高的程序,如3DS MAX,AUTOCAD,PHOTSHOP等。
GPU逐渐进入了我们视线,包括我们的家用电脑,笔记本,GPU都开始发挥它的作用。但现在,在数据中心的服务器上,你都可以发现GPU的身影了。
你需要的是哪一种的PU?
数据中心的出现,将许多终端用户的需要处理的数据交给了数据中心。那么问题来了,GPU是否也可用通过这种远程协作的方式使用?如虚拟化GPU(简称vGPUs)。随着虚拟化技术的发展,已经可以把GPU应用在虚拟机里使用,这样可以让GPU代替许多CPU的工作。
NVIDIA推出了一种新的vGPU技术,并在2012年成功的引入了VGX平台,这种技术允许虚拟机和宿主机共享一个或者多个GPU核心,就像一个数据中心的群集一样,GPU资源可以共享。这种vGPU的虚拟化技术可以大大降低了成本,因为你不必在每一台需要使用GPU计算的服务器上安装相应的GPU硬件。
GPU的核心数量非常多,这和CPU有本质的区别,一般GPU都内置了数百个内核,甚至上千个,GPU的工作原理就是并行计算,在并行处理特定数据的时候,GPU比CPU高效非常多。但在复杂指令计算方面,GPU远远不及CPU,所以GPU和CPU是一种互补的关系,而不是互相代替的关系。
IT部门的建设者应该在建设初期就全面考虑好规划,一些适合GPU计算的地方就利用GPU并行计算的优势去部署,而不是单单考虑提升CPU的性能。高性能的GPU处理器不是普通的计算处理过程。GPU是用利用高度序列化的处理模式和CPU配合使用,并不是使用高性能GPU就可以搭配低性能的CPU.由于它们的工作侧重点不同,是一种并行处理的方式,所以不能因为GPU的并行处理能力很强就忽略了CPU的重要性。
如果一个项目对性能的需求非常高,IT规划部门就应该把CPU和GPU的架构比例分清楚。例如,一个公司对数据加密,计算要求比较高,但对图形方面的工作涉及比较少,这样的公司对CPU的要求就比GPU高。
其他工业领域,如石油和天然气领域,都越来越依赖于实时可视化的操作。如地质的探索任务,地质学家必须在实时查看地下地震活动。在这种对图形实时处理需求很高而且受环境制约的环境,GPU部署在数据中心比部署在现场好,科学家在现场只需要将探测的数据交回数据中心处理,之后再接收传回的处理完的数据。这也就是数据中心为什么越来越多的部署GPU进行数据处理的原因。