可扩展桌面PSE计算加速系统的设计与实现
【摘要】:
当前,面向个人用户的桌面PSE(Problem Solve Environment,问题求解环境),通过各种并行化方案来提高计算性能。如Start*P、Parallel MATLAB Toolbox和pMATLAB等为代表针对MATLAB的加速方案,以及其他通用的如NetSolve、Webflow等并行PSE(问题解决环境)。这些方案有效地提高了桌面PSE的计算性能。随着多核通用处理器、众核结构的图形处理器和各种浮点计算卡的出现,以及超级计算机体系结构的不断演变,带来了并行编程的多样化。
为了适应这种多样化,本文提出一种新的并行化问题解决方案,即面向个人计算的高性能计算中间件系统。该系统采取三层结构,分为应用层、中间层和计算层等三层。其中应用层提供了与PSE应用程序的接口,负责将计算任务和数据封装打包发给中间层,待计算完成后再从中间层返回的数据中取出计算结果;中间层负责计算任务、数据和计算结果的转发,并管理后端计算资源;计算层则是根据计算任务,利用具有高性能计算能力的本地硬件或远程超级计算机,对数据做计算,然后返回计算结果。该中间件将PSE前端和计算层进行分离,PSE前端无需关心计算层的计算是在本地还是远程机器上完成,不用关心是CPU还是GPU抑或是浮点计算加速卡完成的。
在以上所述设计思想的指导下对本系统做了实现,应用层前端采用MATLAB,计算层采用GPU和MPI集群。对于利用MPI集群做计算加速的,为了保证用户数据的机密性,利用RSA不对称密钥对客户机认证进行加密,利用DES对称密钥对计算命令、数据和计算结果做加密。
最后,本文对本地计算加速和远程计算加速的性能做了评估,结果证明本系统设计和实现的合理性和有效性。