树莓派集群真的可以顶上一台高性能计算机吗
参考:
1. 价格。当然现在这个已经不是树莓派的优势了,2022年的树莓派价格基本涨价了2到3倍,如果按照没有涨价钱的时候来看这个问题还是有优势的,比如一个树莓派计算模块250RMB,一个高性能计算机如Altra Max CPU平台要2.5w的RMB以上,也就是说一个高性能计算平台的价格可以顶上没涨价之前的树莓派计算模块100个左右的价格,而一个树莓派计算模块按照有4个计算核心来算,那么30个树莓派的核心数和单核心性能就可以和高性能服务器计算平台的造价相当了。也就是说使用树莓派集群的话,如果保证相似的单核性能和核心数,那么选择使用树莓派集群会比使用单个高性能服务器要便宜70%左右,从这可以看到在树莓派涨价之前使用树莓派集群会有多吗大的优势,不过现在就要另当别论了,在树莓派普遍涨价2到3倍情况下树莓派集群已经不具备价格优势了。
2. 噪音。这个方面玩过服务器的人就都会懂,一个服务器开机就是好多个3000转的工业风扇在那嗡嗡的,那声音绝对在70分贝左右了,而树莓派的散热使用的都是下面这个类型的:
树莓派的这种风扇,即使是几十台树莓派的集群运行,其声音也都能控制在50分贝左右,在这方面树莓派绝对是有优势的。
3. 用电。这个方面可以说是用电功率,也可以说是电费使用方面,一般服务器的满载功率为2000w以上,一个树莓派计算模块最高功率不超过10w,,三十个树莓派也不超300w,也就是说服务器的用电量会是树莓派集群的6到7倍,而用电功率就是电费,可以说树莓派计算在使用电费的方面是有绝对优势的。
服务器端测速表现:
可以看到在家用1Gb/s的网络中,一般网络速度是可以到底940mb/s的,而工业高速网络则会是这个速度的x50倍,不过高速网络的硬件费用比较高昂,一般家用用户是难以接受的。
我们需要知道使用树莓派构建的计算集群其网速就是1Gb/s的网络,这时有人或许会说树莓派其实也是可以通过计算模块+扩展板+100Gb/s网卡实现高速互联集群的,这个确实不假,不过需要知道的是本文研究的假设是树莓派没有涨价2倍到3倍之前的树莓派价格,要知道如果按照现在树莓派的价格来看树莓派集群在价格方面与单台高性能计算机来说已经没有任何优势了,而如果通过方案:树莓派计算模块+扩展板+100Gb/s网卡,来实现树莓派集群那么必然要比同等运算核心的单台计算机价格高上几倍的,因此这个方案是根本没有任何讨论价值的(比如组个100核心的高速网络互联树莓派集群用25万RMB,你搞一个i9-13900k造价不超1万RMB,这个i9-13900k从核心数量与单核速度来看是绝对不必100核心高速互联树莓派集群性能差的,而且价格差的可以说是相当的离谱,一个高性能网卡需要5000-10000RMB,一个树莓派扩展板要1000-3000RMB,一个树莓派计算模块也要500-1000RMB,一个13900k的CPU在5500RMB以内)。也就是说树莓派集群与单台高性能的性能对比是存在两个前提的:
1. 树莓派按照两年前的价格(现在价格的30%到50%);
2. 网络互联只使用自带的1Gb/s的网卡。
换一种说法就是,在低速网络下,在树莓派在保持低价的情况下,树莓派集群是否可以和单台高性能计算机进行性能对比(价格优势是树莓派的主要优势,如果没有价格优势的话树莓派集群自然就没有存在的价值了,在总造价没有优势的情况下噪音和电费都不是那么主要了)。
如果存在一种计算任务,基本没有太多是数据需要通信,甚至只会在启动时通信一次并在结束前通信一次,并且每次通信的数据量都为几个字节长度的那种,那么不论使用MPI还是RPC都是可以的,并且即使是网络通信速率极低的情况也是可以的,而该种情况就是树莓派集群所使用的场景。可以说树莓派集群适用的场景就是那种,集群各个节点之间不需要太多通信的计算场景,即使是需要频繁通信也要保证每次通信的数据量都是非常小的,因为如果单次通信的数据量极小,比如像是几个字节的通信,那么高速网络和低速网络是没有太大的对总体性能影响差距的,这里举个例子,就是分布式计算质数问题:
问题:计算108之内的所有为质数的数值个数。
我们可以把这个问题分为100个子任务,每个子任务计算106内数值为质数的个数,计算结束后再加这100个子任务的结果加和;也可以把这个问题分为50个子任务,每个子任务计算2*106内数值为质数的个数,计算结束后再加这50个子任务的结果加和。如果一个树莓派计算模块为4个核心,主频为1.5Ghz;而我们使用相同架构的服务器级arm CPU,假设单机高性能arm CPU运行在3.0Ghz下并有50个计算核心;那么在这种任务下即使是低速网络的树莓派集群的运算性能也是可以达到单机高性能计算机的性能的。
可以说,使用树莓派集群的计算任务是有很多限制的,在保证之前的两个大前提的情况下,只有那种不太需要通信同步的计算任务,或者是即使频繁通信也只是较小数据量的情况下树莓派集群才有与单台高性能计算机的可比性。我们可以知道,即使树莓派恢复到几年前的低价,适用于树莓派集群的计算任务也只是小范围的,不过对于那种需要重复运行的测试工作,而且启动运行后只有在结束时才需要同步汇总的任务还是可以使用树莓派集群的,不过这也是在树莓派没涨价之前的事情,那么树莓派集群的真正意义在哪呢?其实树莓派集群的真正意义就是research,这种research其实不是学术类的,而是企业探索型的,更加形象的说这东西是属于极客玩的DIY。不过,这个东西也不是纯玩的,如果说在树莓派保持几年前低价的情况下,有一些比较对应的应用场景如软件测试等还是可以通过使用树莓派获得较低的电费和噪音好处的,不过在今天这个树莓派价格来看还是直接买个i9-13900k来的靠谱;不过使用树莓派集群也是可以做一些集群模拟任务的,就是说你有一个分布式的计算任务打算用一个高性能计算来运行,但是由于这个造价比较高昂,这个计算任务是否真的可以通过高性能计算集群得到解决也是未知的,这时候可以使用这个低速网络低配置CPU的树莓派集群来模拟一下看看效果;不过不管怎么说,这个树莓派集群的适用的任务都是极为小众的,而且在今天这个高价树莓派的情况下使用树莓派集群更加显得没有太多价值了。
总结来说,如果你不是极客,如果你不是有闲钱,就不要想着搞树莓派集群,不然吃灰是必然的下场。
==================================
posted on 2022-12-12 20:10 Angry_Panda 阅读(1060) 评论(0) 编辑 收藏 举报