用樹莓派集群進行並行和分散式計算
自從樹莓派推出以來,創造者們已經在這個簡陋的袖珍晶元系統上開展了無數的計算機科學教育項目。其中包括許多探索低成本樹莓派集群的項目,以介紹 並行和分散式計算 (PDC)概念。
英國 開放大學 (OU)為不同年齡、經歷和背景的學生提供遠程教育,這就提出了一些在更傳統的大學中沒有面臨的問題。開放大學使用樹莓派集群向遠程教育學生介紹 PDC 概念的實驗始於 2019 年,並在一篇 學術論文 中進行了介紹,但值得更廣泛地了解。
該項目使用基於 OctaPi 教程 的樹莓派集群,該指令由 GCHQ 在知識共享許可協議下發布。八個樹莓派使用一個路由器和一個交換機連接在一個私人網路中。其中一個樹莓派充當主控,而其他的是伺服器,將結果反饋給主控設備。用 Python 編寫的程序運行在主控樹莓派,而 dispy
包將活動分發在集群的各個處理核心上。
他們為該集群開發了三個程序,你可以從 Git 倉庫 下載它們。
其中兩個程序是基於文本的,並與搜索問題有關:旅行推銷員和密碼散列。作為完整的搜索問題,這些是教授 PDC 概念的理想選擇。第三個程序是圖形化的。圖像組合器將三幅圖像作為輸入,其中有不重疊的障礙物。它通過對三幅圖像的 RGBA 值進行逐個像素的比較並選擇中位數來構建一個沒有任何障礙物的圖像。
使用集群
開放大學是一個遠程學習機構,所以學生通過網頁界面訪問集群。對集群的遠程訪問使用大學的 OpenSTEM 實驗室的基礎設施。10 個集群(8 個用樹莓派 4 構建,2 個用樹莓派 3B+ 建造)被安裝在機架上,用網路攝像頭對準每個集群。
學生們選擇要運行的程序,使用的核心數量,以及所選程序的參數。作為輸出,他們可以看到該程序在單個樹莓派上運行的時間與使用所選核數的集群的時間相比。學生還可以看到程序的輸出,如密碼散列結果、最小和最大的旅行推銷員路線,或未遮擋的圖像。
網路攝像頭顯示了集群的實時流。主控樹莓派有一個 LED 顯示屏,顯示程序運行時的狀態。網路攝像頭讓學生清楚地知道,他們是在用真正的專用硬體做實驗,而不是得到模擬的或預先錄製的結果。
每個程序都有兩個與之相關的活動,描述了程序設計和 PDC 操作的不同方面。其中一個主要的學習點是,PDC 計算可以提供顯著的性能優勢,但代價是劃分和分發問題以及反過來重新組合結果所花費的時間和資源。第二個學習點是,效率受程序設計的影響很大。
學生喜歡
目前,樹莓派集群的使用是可選的。不過根據目前的研究結果,學生們很喜歡它,並因能遠程接觸到物理硬體而受到激勵。
一位學生說:「能夠使用真正的集群,而不是讓它虛擬化,這真的很有趣」。
另一名學生補充說:「能夠真正看到集群的工作,看到多核工作的真實效果,這真的很令人興奮。能夠親自嘗試,而不僅僅是閱讀有關理論,這真是太好了!」
學生們正在使用集群開展旨在教授 PDC 原理的學習活動,而不是編寫和運行他們自己的程序。開發低成本的樹莓派集群供遠程大學學生使用的經驗表明,遠程實踐活動對教授 PDC 概念和吸引學生有好處。
當我向該項目背後的團隊成員之一 Daniel Gooch 詢問時,他說:「對我來說,我們的不同之處在於,我們採用了一套現有的樹莓派教程,並致力於整合更多外圍材料,以確保它能夠應對我們操作的距離和規模。」
via: https://opensource.com/article/23/3/parallel-distributed-computing-raspberry-pi-clusters
作者:Peter Cheer 選題:lkxed 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive