我应该如何学习创建和编程HPC系统?


16

我所从事的领域不一定能完成大量的HPC工作,当它遇到时,通常是其他领域的研究人员探索其方法等的新应用的结果。首先,这意味着它永远不会真正地在学习过程中被引入,也不会在讲习班,研讨会等类似场合中得到长大,有可能不需要它就可以从事整个职业。

但是,与此同时,我所做的许多工作都可以从更好地利用我可用的HPC资源中受益-主要是采用很好的并行蒙特卡洛模拟的形式。

我的问题是找到资源来学习如何使用群集,MPI等。并且在我不太了解的情况下将好与坏分开。

对于有关在这些类型的系统上进行编程的书籍,或者有关设置和运行自己的非常适度的HPC设置的书籍,有何建议?


是否应该有类似“大名单”标签的内容?
shuhalo 2011年

@马丁:不。它应该从实际上已经做过并且知道他们在说什么的人们那里得到答案,而不是所有可能与之相关的事物的庞大清单。修改标题以反映这一点。
Shog9 2011年

Answers:



4

我的个人经验是,HPC需要非常广泛的技能,而仅在一本书,食谱和大学课程中很难做到这一点。考虑到HPC并不是要对大型机器进行编程或建立集群,而是要在计算的前沿解决大型科学问题。

我不确定所有人是否会同意,但我认为HPC涉及的领域清单可能是:

每个领域都非常大,并且有太多的知识,在尝试做任何事情之前很难掌握所有内容!

就我而言,我是从工程学的一个角落开始的,后来逐渐积累了经验和协作网络。从一开始,我就想解决一个工程/应用数学问题,从那开始,我转向编程,通过功能更强大的计算机获得更高的性能,数值分析,高级算法,并行计算机,并行算法。 ,甚至更大的计算机,更完整的科学模型,最终到一个新问题,并且又在重复。如果我回头,试图理解和解决我的第一个问题就是制定我的学习计划的原因。拥有一个可以使您走上正轨的主管也有很多帮助,否则要小心不要忘记您的最终目标(在我的情况下,这是我手头的科学问题)。

如果我不得不说一件事,那就是在走HPC道路时真正有所作为的是与其他领域的人会面,交流思想并利用社区的分布式知识。同样,重要的是不要太害怕公开天真和做傻事。第一步总是很困难,也是最重要的!


2

这是我计划在今年春季教自己一些HPC基础的计划。在过去的十五年中,我一直是一名开发人员,并且专门使用Microsoft技术。我也是学生,所以我可以通过MSDN Academic Alliance免费获得一些软件(您的个人资料表明您是研究生,因此您应该检查一下您的学校是否参加了该项目),而在家里腾出一些东西是限制因素。我的办公室/书房/ ManCave中已经有许多计算机,因此我已经可以测试一些东西了。Windows Server 2008 HPC在一些可用的软件包中列出,但是在过去一个学期中,它似乎从我学校的可下载软件中消失了(“群集计算包”是Server 2003的附加组件,而Server 2008 HPC带有精简版服务器2008年使用ccp,则必须禁用不需要的服务)。

我计划的拓扑是“启用SOA的群集”,它是此页面上的第4张图像(单击主图片下的小方块)。我已经设置了Active Directory和其他一些服务器,因此我正在考虑从eBay上购买4台廉价的戴尔小型计算机(翻新的Dell 655 SFF的价格似乎在100-200美元之间)。因为我只是想学习一些知识,所以我相信我只需要一个“头节点”,一个“代理节点”和2个“计算节点”以及一些备用的以太网卡,即可查看私有总线和应用程序总线的内容(从该图中可以看到) )做。MSDNAA许可证最多允许16个计算节点,这远远超出了我的期望。

我一直在阅读《使用Windows的Beowulf集群计算》,我想我对办公室的一些想法提出了异议(本书有Linux版本,但我的Linux技能/平台为0在家里-做适合自己的事情)。办公室中有很多大型集群,但它们已经饱和,很难获得具有教育意义的“我想/需要学习X”的时间段。人们已经期望人们在提交工作之前就知道这些知识。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.