用樹(shù)莓派集群進(jìn)行并行和分布式計(jì)算
自從樹(shù)莓派推出以來(lái),創(chuàng)造者們已經(jīng)在這個(gè)簡(jiǎn)陋的袖珍芯片系統(tǒng)上開(kāi)展了無(wú)數(shù)的計(jì)算機(jī)科學(xué)教育項(xiàng)目。其中包括許多探索低成本樹(shù)莓派集群的項(xiàng)目,以介紹 并行和分布式計(jì)算Parallel and Distributed Computing(PDC)概念。
英國(guó) 開(kāi)放大學(xué)Open University(OU)為不同年齡、經(jīng)歷和背景的學(xué)生提供遠(yuǎn)程教育,這就提出了一些在更傳統(tǒng)的大學(xué)中沒(méi)有面臨的問(wèn)題。開(kāi)放大學(xué)使用樹(shù)莓派集群向遠(yuǎn)程教育學(xué)生介紹 PDC 概念的實(shí)驗(yàn)始于 2019 年,并在一篇 ??學(xué)術(shù)論文?? 中進(jìn)行了介紹,但值得更廣泛地了解。
該項(xiàng)目使用基于 ??OctaPi 教程?? 的樹(shù)莓派集群,該指令由 GCHQ 在知識(shí)共享許可協(xié)議下發(fā)布。八個(gè)樹(shù)莓派使用一個(gè)路由器和一個(gè)交換機(jī)連接在一個(gè)私人網(wǎng)絡(luò)中。其中一個(gè)樹(shù)莓派充當(dāng)主控,而其他的是服務(wù)器,將結(jié)果反饋給主控設(shè)備。用 Python 編寫(xiě)的程序運(yùn)行在主控樹(shù)莓派,而 ??dispy?
? 包將活動(dòng)分發(fā)在集群的各個(gè)處理核心上。
他們?yōu)樵摷洪_(kāi)發(fā)了三個(gè)程序,你可以從 ??Git 倉(cāng)庫(kù)?? 下載它們。
其中兩個(gè)程序是基于文本的,并與搜索問(wèn)題有關(guān):旅行推銷(xiāo)員和密碼散列。作為完整的搜索問(wèn)題,這些是教授 PDC 概念的理想選擇。第三個(gè)程序是圖形化的。圖像組合器將三幅圖像作為輸入,其中有不重疊的障礙物。它通過(guò)對(duì)三幅圖像的 RGBA 值進(jìn)行逐個(gè)像素的比較并選擇中位數(shù)來(lái)構(gòu)建一個(gè)沒(méi)有任何障礙物的圖像。
使用集群
開(kāi)放大學(xué)是一個(gè)遠(yuǎn)程學(xué)習(xí)機(jī)構(gòu),所以學(xué)生通過(guò)網(wǎng)頁(yè)界面訪問(wèn)集群。對(duì)集群的遠(yuǎn)程訪問(wèn)使用大學(xué)的 OpenSTEM 實(shí)驗(yàn)室的基礎(chǔ)設(shè)施。10 個(gè)集群(8 個(gè)用樹(shù)莓派 4 構(gòu)建,2 個(gè)用樹(shù)莓派 3B+ 建造)被安裝在機(jī)架上,用網(wǎng)絡(luò)攝像頭對(duì)準(zhǔn)每個(gè)集群。
學(xué)生們選擇要運(yùn)行的程序,使用的核心數(shù)量,以及所選程序的參數(shù)。作為輸出,他們可以看到該程序在單個(gè)樹(shù)莓派上運(yùn)行的時(shí)間與使用所選核數(shù)的集群的時(shí)間相比。學(xué)生還可以看到程序的輸出,如密碼散列結(jié)果、最小和最大的旅行推銷(xiāo)員路線,或未遮擋的圖像。
Generating a fourth image from information in three images
網(wǎng)絡(luò)攝像頭顯示了集群的實(shí)時(shí)流。主控樹(shù)莓派有一個(gè) LED 顯示屏,顯示程序運(yùn)行時(shí)的狀態(tài)。網(wǎng)絡(luò)攝像頭讓學(xué)生清楚地知道,他們是在用真正的專(zhuān)用硬件做實(shí)驗(yàn),而不是得到模擬的或預(yù)先錄制的結(jié)果。
Raspberry Pi cluster
每個(gè)程序都有兩個(gè)與之相關(guān)的活動(dòng),描述了程序設(shè)計(jì)和 PDC 操作的不同方面。其中一個(gè)主要的學(xué)習(xí)點(diǎn)是,PDC 計(jì)算可以提供顯著的性能優(yōu)勢(shì),但代價(jià)是劃分和分發(fā)問(wèn)題以及反過(guò)來(lái)重新組合結(jié)果所花費(fèi)的時(shí)間和資源。第二個(gè)學(xué)習(xí)點(diǎn)是,效率受程序設(shè)計(jì)的影響很大。
學(xué)生喜歡
目前,樹(shù)莓派集群的使用是可選的。不過(guò)根據(jù)目前的研究結(jié)果,學(xué)生們很喜歡它,并因能遠(yuǎn)程接觸到物理硬件而受到激勵(lì)。
一位學(xué)生說(shuō):“能夠使用真正的集群,而不是讓它虛擬化,這真的很有趣”。
另一名學(xué)生補(bǔ)充說(shuō):“能夠真正看到集群的工作,看到多核工作的真實(shí)效果,這真的很令人興奮。能夠親自嘗試,而不僅僅是閱讀有關(guān)理論,這真是太好了!”
學(xué)生們正在使用集群開(kāi)展旨在教授 PDC 原理的學(xué)習(xí)活動(dòng),而不是編寫(xiě)和運(yùn)行他們自己的程序。開(kāi)發(fā)低成本的樹(shù)莓派集群供遠(yuǎn)程大學(xué)學(xué)生使用的經(jīng)驗(yàn)表明,遠(yuǎn)程實(shí)踐活動(dòng)對(duì)教授 PDC 概念和吸引學(xué)生有好處。
當(dāng)我向該項(xiàng)目背后的團(tuán)隊(duì)成員之一 Daniel Gooch 詢(xún)問(wèn)時(shí),他說(shuō):“對(duì)我來(lái)說(shuō),我們的不同之處在于,我們采用了一套現(xiàn)有的樹(shù)莓派教程,并致力于整合更多外圍材料,以確保它能夠應(yīng)對(duì)我們操作的距離和規(guī)模。”