2023-03-08 08:38:51 +08:00
|
|
|
|
[#]: subject: "Parallel and distributed computing with Raspberry Pi clusters"
|
|
|
|
|
[#]: via: "https://opensource.com/article/23/3/parallel-distributed-computing-raspberry-pi-clusters"
|
|
|
|
|
[#]: author: "Peter Cheer https://opensource.com/users/visimpscot2"
|
|
|
|
|
[#]: collector: "lkxed"
|
|
|
|
|
[#]: translator: "geekpi"
|
2023-03-09 10:32:26 +08:00
|
|
|
|
[#]: reviewer: "wxy"
|
|
|
|
|
[#]: publisher: "wxy"
|
|
|
|
|
[#]: url: "https://linux.cn/article-15609-1.html"
|
2023-03-08 08:38:51 +08:00
|
|
|
|
|
|
|
|
|
用树莓派集群进行并行和分布式计算
|
|
|
|
|
======
|
|
|
|
|
|
2023-03-09 10:32:26 +08:00
|
|
|
|
![][0]
|
2023-03-08 08:38:51 +08:00
|
|
|
|
|
2023-03-09 10:32:26 +08:00
|
|
|
|
> 这个使用树莓派集群的学术实验向远程教育学生介绍了并行和分布式计算(PDC)的概念。
|
2023-03-08 08:38:51 +08:00
|
|
|
|
|
2023-03-09 10:32:26 +08:00
|
|
|
|
自从树莓派推出以来,创造者们已经在这个简陋的袖珍芯片系统上开展了无数的计算机科学教育项目。其中包括许多探索低成本树莓派集群的项目,以介绍 <ruby>并行和分布式计算<rt>Parallel and Distributed Computing</rt></ruby>(PDC)概念。
|
2023-03-08 08:38:51 +08:00
|
|
|
|
|
2023-03-09 10:32:26 +08:00
|
|
|
|
英国 <ruby>开放大学<rt>Open University</rt></ruby>(OU)为不同年龄、经历和背景的学生提供远程教育,这就提出了一些在更传统的大学中没有面临的问题。开放大学使用树莓派集群向远程教育学生介绍 PDC 概念的实验始于 2019 年,并在一篇 [学术论文][1] 中进行了介绍,但值得更广泛地了解。
|
|
|
|
|
|
|
|
|
|
该项目使用基于 [OctaPi 教程][2] 的树莓派集群,该指令由 GCHQ 在知识共享许可协议下发布。八个树莓派使用一个路由器和一个交换机连接在一个私人网络中。其中一个树莓派充当主控,而其他的是服务器,将结果反馈给主控设备。用 Python 编写的程序运行在主控树莓派,而 `dispy` 包将活动分发在集群的各个处理核心上。
|
|
|
|
|
|
|
|
|
|
他们为该集群开发了三个程序,你可以从 [Git 仓库][3] 下载它们。
|
2023-03-08 08:38:51 +08:00
|
|
|
|
|
|
|
|
|
其中两个程序是基于文本的,并与搜索问题有关:旅行推销员和密码散列。作为完整的搜索问题,这些是教授 PDC 概念的理想选择。第三个程序是图形化的。图像组合器将三幅图像作为输入,其中有不重叠的障碍物。它通过对三幅图像的 RGBA 值进行逐个像素的比较并选择中位数来构建一个没有任何障碍物的图像。
|
|
|
|
|
|
|
|
|
|
### 使用集群
|
|
|
|
|
|
2023-03-09 10:32:26 +08:00
|
|
|
|
开放大学是一个远程学习机构,所以学生通过网页界面访问集群。对集群的远程访问使用大学的 OpenSTEM 实验室的基础设施。10 个集群(8 个用树莓派 4 构建,2 个用树莓派 3B+ 建造)被安装在机架上,用网络摄像头对准每个集群。
|
2023-03-08 08:38:51 +08:00
|
|
|
|
|
2023-03-09 10:32:26 +08:00
|
|
|
|
学生们选择要运行的程序,使用的核心数量,以及所选程序的参数。作为输出,他们可以看到该程序在单个树莓派上运行的时间与使用所选核数的集群的时间相比。学生还可以看到程序的输出,如密码散列结果、最小和最大的旅行推销员路线,或未遮挡的图像。
|
2023-03-08 08:38:51 +08:00
|
|
|
|
|
|
|
|
|
![Generating a fourth image from information in three images][4]
|
|
|
|
|
|
2023-03-09 10:32:26 +08:00
|
|
|
|
网络摄像头显示了集群的实时流。主控树莓派有一个 LED 显示屏,显示程序运行时的状态。网络摄像头让学生清楚地知道,他们是在用真正的专用硬件做实验,而不是得到模拟的或预先录制的结果。
|
2023-03-08 08:38:51 +08:00
|
|
|
|
|
|
|
|
|
![Raspberry Pi cluster][5]
|
|
|
|
|
|
2023-03-09 10:32:26 +08:00
|
|
|
|
每个程序都有两个与之相关的活动,描述了程序设计和 PDC 操作的不同方面。其中一个主要的学习点是,PDC 计算可以提供显著的性能优势,但代价是划分和分发问题以及反过来重新组合结果所花费的时间和资源。第二个学习点是,效率受程序设计的影响很大。
|
2023-03-08 08:38:51 +08:00
|
|
|
|
|
|
|
|
|
### 学生喜欢
|
|
|
|
|
|
|
|
|
|
目前,树莓派集群的使用是可选的。不过根据目前的研究结果,学生们很喜欢它,并因能远程接触到物理硬件而受到激励。
|
|
|
|
|
|
|
|
|
|
一位学生说:“能够使用真正的集群,而不是让它虚拟化,这真的很有趣”。
|
|
|
|
|
|
|
|
|
|
另一名学生补充说:“能够真正看到集群的工作,看到多核工作的真实效果,这真的很令人兴奋。能够亲自尝试,而不仅仅是阅读有关理论,这真是太好了!”
|
|
|
|
|
|
|
|
|
|
学生们正在使用集群开展旨在教授 PDC 原理的学习活动,而不是编写和运行他们自己的程序。开发低成本的树莓派集群供远程大学学生使用的经验表明,远程实践活动对教授 PDC 概念和吸引学生有好处。
|
|
|
|
|
|
2023-03-09 10:32:26 +08:00
|
|
|
|
当我向该项目背后的团队成员之一 Daniel Gooch 询问时,他说:“对我来说,我们的不同之处在于,我们采用了一套现有的树莓派教程,并致力于整合更多外围材料,以确保它能够应对我们操作的距离和规模。”
|
2023-03-08 08:38:51 +08:00
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
via: https://opensource.com/article/23/3/parallel-distributed-computing-raspberry-pi-clusters
|
|
|
|
|
|
|
|
|
|
作者:[Peter Cheer][a]
|
|
|
|
|
选题:[lkxed][b]
|
|
|
|
|
译者:[geekpi](https://github.com/geekpi)
|
2023-03-09 10:32:26 +08:00
|
|
|
|
校对:[wxy](https://github.com/wxy)
|
2023-03-08 08:38:51 +08:00
|
|
|
|
|
|
|
|
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
|
|
|
|
|
|
|
|
|
[a]: https://opensource.com/users/visimpscot2
|
|
|
|
|
[b]: https://github.com/lkxed/
|
|
|
|
|
[1]: https://doi.org/10.1080/02680513.2022.2118573
|
|
|
|
|
[2]: https://projects.raspberrypi.org/en/projects/build-an-octapi
|
|
|
|
|
[3]: https://github.com/dg7692/TM129
|
|
|
|
|
[4]: https://opensource.com/sites/default/files/2023-02/image-project.png
|
2023-03-09 10:32:26 +08:00
|
|
|
|
[5]: https://opensource.com/sites/default/files/2023-02/cluster.png
|
|
|
|
|
[0]: https://img.linux.net.cn/data/attachment/album/202303/09/103012m05dzitda8581bcj.jpg
|