集群计算机与科学计算

这是今天的第二个单元,教室位于FIT楼地下的集群计算机房旁边。刚到教室,我第一眼的感觉是眼熟,因为在高二我参加某个活动的时候,曾来这里参观学习过。当时对于集群计算技术以及计算机科学与技术的其他方面都了解得不是很全面、很深入,因此听得云里雾里。时隔四年,我在计算机科学与技术系经过了三年的学习,再一次来到这里听老师讲解集群计算机与科学计算的话题,体会和四年前是不一样的。

考虑到其他同学可能来自很多不同院系,老师首先展示了一张主板的图片,然后介绍了桌面型计算机的结构。这节课上,老师还介绍了更高性能的服务器的架构,一个有意思的地方在于,由于服务器处理器核心数较多,核心与核心之间的连接在某些架构的设计中甚至也使用(片内)互联网络的连接方式,这与集群计算机在机器之间使用网络的连接方式是类似的。在这里,我体会到“网络”具有很强的适用性。此外,老师告诉我们,在大多数情况下,多核系统中,每个核心只直接连接一部分内存,该核心若要访问其他内存,就需要通过互联网络,借助其他核心进行访问。这样造成的结果就是某个核心访问不同地址的内存区域的速度(延迟)是不一样的,这叫做非一致内存访问(NUMA)。NUMA架构与普通的架构不同,所以操作系统等软件都需要经过精心地设计,才能发挥处理器最大的性能。另外,老师还介绍了集群计算的几个重要应用,例如气象模拟等。

这个单元也有实验环节。老师用一个计算计算圆周率的程序来为我们演示OpenMP的使用和并行计算带来的性能提升。首先,老师执行了执行了未经过并行化的计算程序,计算时间大约为2.5秒。然后,老师展示了加上OpenMP的计算程序,仅仅多了几行代码。测试使用10个线程,可以看到计算时间缩短为大约300毫秒,大约为之前的十分之一,效果显著。此外,另外的并行库还有pthread和MPI等。

下课后,老师允许我们隔着玻璃参观一下真正在工作的集群计算机,看到数百台服务器在一起运行,闪烁着绿灯,我仍然能够感觉到计算机科学是伟大的。

发表评论

注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)

本文链接:https://twd2.me/archives/11157QrCode