树莓派集群真的可以顶上一台高性能计算机吗?(扩展篇)

发布时间 2023-06-28 19:40:29作者: Death_Knight
之前写过文章:

树莓派集群真的可以顶上一台高性能计算机吗

讨论过树莓派集群是否可以比得上一台高性能计算机的问题,本篇这里是对前文的扩展。

 

 

 

========================================================

 

 

之所以写了本篇扩展是因为无意中在网上发现了下文:

https://arxiv.org/ftp/arxiv/papers/1911/1911.03709.pdf

 

 

 

之前写的文章只是纯理想的分析,并没有给出任何的实践操作,所以总感觉说服性不强,正好看到了这篇论文,感觉正好可以和自己之前的post中的论断相互契合。

 

 

 

 

我们需要知道正如自己之前post中所论断的,只有对基本不需要通信的分布式任务来说,树莓派集群的性能才可以和单台高性能计算机进行相比较的,这篇论文中所使用的例子也正是如此,这里使用了蒙特卡洛模拟求圆周率和求质数个数这两个不需要通信的任务。

 

 

 

 

 

使用这两个不需要子进程通信的任务,如果是mpi4py还是要比openmpi/mpich性能低的,这其中的性能差距是由于python计算性能与C++语言计算性能差距所造成的。

由于上面论文中使用的测试设置并不是很恰当,导致C++任务的计算时间与启动时间相当,所以上面的例子中C++任务的运行时间基本保持直线,并不受进程数所影响,因此论文中的上面两个运行效果图并没有什么说服力,上面的这两个实验只说明只有不通信的任务还存在树莓派与单台高性能计算机对比的可能,如果不是这种在运行过程中各子进程不需要通信的任务,那么树莓派集群是无法和单台高性能计算机做比较的。

 

树莓派集群在价格保持之前几年低价的情况下,在运行上面的这面的例子时和单台计算机相比或许存在价格优势,但是以今时今日的树莓派的高价来看,树莓派集群已然没有了价格上的优势;而且树莓派集群即使在价格上与单台高性能计算机可以比较,但是其所牺牲的是运算任务的范围,毕竟运算过程中各子进程不需要通信的任务还是比较小范围的。

 

 

不过不得不说的事树莓派的功率比较小,一个树莓派集群的总功耗往往也会比一个单台高性能主机的功耗低,但是还是之前提到的,树莓派集群的运算任务是受限的,也就是说只有所谓的不需要通信的任务来说树莓派才是可以在运行性能上可行的,同时也是只有该种情况树莓派集群才存在功率优势,也才存在省电这个概念。

 

 

 

=======================================================