科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网服务器频道高性能计算Raspberry Pi技术:2000美金就能搭一台超级计算机

Raspberry Pi技术:2000美金就能搭一台超级计算机

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

谁说构建超级计算机必须投入数以百万计的高额成本?美国计算机系博士生Joshua Kiepert将基于Linux的Beowulf集群与Raspberry Pi计算机相结合,只用2000美元的超低成本便搭建出了一台迷你超级计算机。

来源:ZDNetserver频道 2013年5月29日

关键字: 集群 高性能计算 超级计算机 Raspberry Pi

  • 评论
  • 分享微博
  • 分享邮件

ZDNet至顶网服务器频道 05月29日 编译: 每每提起DIY计算设备,大家可能会首先想到组建发烧级游戏计算机,或花最少的钱将性能最强的组件整合起来。但我们恐怕不会将超级计算机与DIY这种理念联系到一起。不过博伊西州立大学电气工程与计算机系博士生Joshua Kiepert的成功案例充分证明了“凡事皆有可能”:他只用了不到2000美元便借助Raspberry Pii(简称RPi)单板建造出了一台迷你超级计算机。

Raspberry Pi:打造属于你自己的超级计算机

首台自制Raspberry Pi超级计算机

Raspberry Pi是一款基于Linux系统的个人电脑,配备一枚700MHz的处理器,并配备了Videocore IV GPU。Kiepert在实验中所使用的B机型拥有512MB内存、两个USB接口以及10/100 BaseT以太网端口。Kiepert在实验中将处理器超频至1GHz。

就自身条件来看,Raspberry Pi的配置已能满足普通玩家的需要,但它似乎并不适用于超级计算机。不过这难不倒Kiepert,他的博士课题正是研究如何通过在博伊西州立大学的Linux Onyx Beowulf超级计算机集群中的模拟无线传感器网络来实现数据共享。依据超级计算机的标准,该设备目前拥有32个节点,每一个都配备3.1GHz 英特尔至强E3-1225四核处理器以及8GB内存。

Beowulf集群完全采用价格低廉的成品组件,并通过Linux及并行处理软件实现整体协作。这套最初于1994年由戈达德宇航中心的Don Becker与Thomas Sterling共同推出的体系结构,如今已成为众多超级计算机的核心架构之一。

有这么一套完美的Beowulf式超级计算机在手,为什么Kiepert还要费力去打造属于自己的Beowulf集群?在《创建基于Raspberry Pi的Beowulf集群》白皮书中,他做出如下解释:

首先,虽然Onyx集群拥有出色的运行时间评级,但仍有可能在特殊情况下遭遇宕机。一旦Onyx无法正常使用,而研究项目却需要使用这类集群时,对于在校学生来说除了坐等一切恢复正常,并没有其它备选方案。RPi集群的出现解决了这个难题,它足以在必要时处理集群环境下MPI(即消息传递接口)或Java的项目运算工作。

其次,RPi的独特属性帮助我们为嵌入式系统提供外部低级硬件接口,例如I2C、SPI、UART以及GPIO等。这对于需要利用嵌入式系统进行大规模测试的电气工程师来说意义非凡。

第三,要让集群完全满足需求,用户必须在集群中安装所有必要工具。如果工具有所欠缺,用户还需与集群管理员取得联系,在对方的帮助下对环境做出调整。通过建立自己的集群,Kiepert可以根据需要对其进行设置,这就免去了沟通与等待的麻烦。

最后一点,RPi价格低廉。RPi平台是32节点集群创建手段中成本最低的方案之一。一套配套8GB SD卡的RPi设备只需要——45美元。相比之下,Onyx集群中的每个节点都需要投入1000到1500美元才能构建完成。总而言之,只需一笔与设置PC节点相当的开支,便能拥有属于自己的32节点Raspberry Pi集群。

在电子邮件中,Kiepert还补充称,“我之所以着手实施这个项目,是因为正好有一个礼拜的春假,在此期间我无法使用Onyx Beowulf集群。因为所在的计算机实验室正在进行装修,Onyx集群这段时间无法正常工作。我需要继续完成自己的博士研究课题,但没有Onyx的支持我什么都做不了,这是建立新集群的主要原因。"

此前,Kiepert曾花过不少时间研究Raspberry Pi(简称RPi),同时也算是位老牌Linux用户(主要使用Fedora与Mint)。另外,他工作的研究实验室曾利用RPi作为定制无线传感器网络系统的服务器设备,借以将传感器数据上传至中央数据库当中。因此,这个项目帮助他把以往积累的集群与RPi知识储备提升到新的层面,并为博士论文的撰写指明了新的可选方向。毫无疑问,亲手搭建一套计算集群让他获得了大量的实践经验。

Kiepert为他的超级计算机选择了Arch Linux。他的解释是:“Arch Linux将硬件需求压缩到了最低限度。其系统镜像仅为150MB,在10秒钟之内即可启动完成。安装镜像中不包含任何多余组件,且默认安装选项仅提供裸机、最小化环境且直接启动至具备网络支持的命令行界面,这对于性能并不充裕的自制计算设备而言非常重要。这套方案的优点还在于,我们能够以最简洁、最迅速的方式进行设置,只添加应用程序运行所必要的功能组件。但有利就有弊,这套系统需要我们从头学习,并在痛苦的摸索中找到使用Linux的最佳方式。”

当然,他的RPi集群还远不够理想。Kiepert坦率地表示“整体价值定位还是相当不错的,尤其是对于专注于分布式计算而非并行处理的集群程序开发工作而言。也就是说,针对集群开发的程序需要更注重分布式特性而非CPU密集型计算。计算密集型应用需要另谋出路,因为RPi体系的性能不足以像集群计算那样提供强大的计算支持。”

在电子邮件沟通中,Kiepert还补充称:“在集群设置过程中,最令人头痛的问题要数SD卡损坏。刚初在关闭集群电源(使用shutdown –h命令)并尝试重新启动时,我发现文件系统出现大量损坏。这似乎属于RPi的一项已知问题,常常在用户对处理器进行超频时出现。奇怪的是,此类故障只出现在从属节点当中,而从不会影响主节点。(主节点是一台三星3系列Chromebook,搭载1.7GHz双核ARM Cortex-A15处理器。)”

最后,Kiepert发现只要在关闭电源前先以手动方式取消NFS共享,问题就能得到很大改善。在开发工作中,他专门编写了一套脚本,负责向SD卡中写入镜像以备不时之需。只需要提供主机名称与IP地址,其它的工作脚本就能顺利完成。这大大简化了重新安装镜像的流程,尤其是在向全部32个SD卡首次写入初始镜像时。

组装工作结束后,Kiepert拥有了一台廉价但却有效的超级计算机——虽然用绝缘胶带粘在设备上的风扇让整体成果显得有些寒碜。让我们来看看它的处理能力到底有多强?

Kiepert尝试运行了高性能Linpack基准测试,这套专门针对超级计算机的标准化测试工具对他的自制计算机进行了一番考验,并发现这套拥有32块博通BCM2708 ARM11处理器(主频为1GHz)及14.6GB可用内存的RPi集群跑出了10.13 GFLOPS的计算性能峰值。虽然这一成绩还不足以让他的心血之作跻身超级计算机五百强榜单,但正如Kiepert所说,“诞生于1985年的第一台Cray-2超级计算机只跑出了1.9 GFLOPS的成绩。时光荏苒,科技万岁!”

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章