สารบัญ:
- ขั้นตอนที่ 1: ดูเวอร์ชันวิดีโอ
- ขั้นตอนที่ 2: สิ่งที่คุณต้องการ
- ขั้นตอนที่ 3: การติดตั้งและกำหนดค่า Raspbian
- ขั้นตอนที่ 4: การติดตั้ง MPICH
- ขั้นตอนที่ 5: การติดตั้ง MPI4PY
- ขั้นตอนที่ 6: การคัดลอกรูปภาพ
- ขั้นตอนที่ 7: การกำหนดค่า Raspberry Pi's ที่เหลืออยู่
- ขั้นตอนที่ 8: ยืนยันโฮสต์คีย์
- ขั้นตอนที่ 9: การเรียกใช้โปรแกรมบนซูเปอร์คอมพิวเตอร์ของคุณ
วีดีโอ: วิธีทำซุปเปอร์คอมพิวเตอร์ Raspberry Pi!: 9 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
ด้วยตัวของมันเอง Raspberry Pi ไม่ได้มีสเป็คที่น่าประทับใจ แต่ด้วยราคาที่ไม่แพง การซื้อหลาย ๆ อย่างและเชื่อมต่อพวกมันเพื่อใช้พลังในการประมวลผลแบบผสมผสานอาจทำให้คอมพิวเตอร์ราคาประหยัดที่ดีได้ มีแท่นขุดเจาะที่น่าประทับใจหลายแห่งซึ่งเชื่อมต่อ Pi หลายสิบเครื่องเข้าด้วยกัน ดังนั้นในคำแนะนำนี้ เรามาสำรวจว่าเทคโนโลยีที่อยู่เบื้องหลังการประมวลผลแบบคลัสเตอร์และสร้าง Bramble Pi ของเราเองได้อย่างไร!
ขั้นตอนที่ 1: ดูเวอร์ชันวิดีโอ
ฉันได้ทำวิดีโอเวอร์ชันสองส่วนของโครงการเดียวกันนี้ด้วย ดังนั้นหากคุณไม่ใช่คนที่ชอบอ่านหนังสือ ให้ย้อนกลับไปดู vids! โปรดทราบว่าเวอร์ชันวิดีโอใช้ Raspbian Wheezy อย่างไรก็ตาม คำแนะนำด้านล่างมีไว้สำหรับ Raspbian Distro ปัจจุบัน ซึ่งก็คือ Jessie ในขณะที่ฉันกำลังเขียนสิ่งนี้
ขั้นตอนที่ 2: สิ่งที่คุณต้องการ
เพื่อติดตามโครงการนี้ ต่อไปนี้คือส่วนที่คุณจะต้องได้รับ
นี่คือสิ่งที่คุณต้องการ:
- 2 หรือมากกว่า Raspberry Pi's
- การ์ด SD สำหรับแต่ละ Pi
- สายไฟสำหรับ Pi. แต่ละตัว
- ฮับ USB ที่ขับเคลื่อนด้วย (อุปกรณ์เสริม)
- สายเคเบิลเครือข่าย
- ฮับหรือเราเตอร์
ค่าใช้จ่ายทั้งหมด: ~$100.00
ขั้นตอนที่ 3: การติดตั้งและกำหนดค่า Raspbian
เมื่อคุณมีส่วนประกอบทั้งหมดแล้ว ขั้นตอนต่อไปคือการดาวน์โหลดและกำหนดค่า Raspbian OS บน Raspberry Pi ตัวใดตัวหนึ่ง นี่จะเป็นเจ้านายของคุณ Pi นี่คือขั้นตอน:
- ดาวน์โหลด Raspbian Image จากที่นี่
-
เบิร์นอิมเมจ Raspbian ลงในการ์ด SD แต่ละการ์ดที่คุณมีสำหรับ Raspberry Pi แต่ละอัน
- หากคุณมี Windows คุณสามารถทำตามคำแนะนำเหล่านี้ได้
- หากคุณมี Mac คุณสามารถทำตามคำแนะนำเหล่านี้ได้
- เมื่อภาพถูกเบิร์นลงในการ์ด SD ของคุณแล้ว ให้ใส่ลงใน Raspberry Pi แต่ละตัวแล้วเปิดเครื่องขึ้นมา
-
เมื่อบู๊ตครั้งแรก คุณจะเห็น Rasbperry Pi Desktop คลิกที่ไอคอนเมนูที่มุมบนซ้ายแล้วไปที่การตั้งค่า > การกำหนดค่า Raspberry Pi นี่คือตัวเลือกที่เราจะต้องกำหนดค่า
- ขยายระบบไฟล์หากจำเป็น
- เปลี่ยนชื่อโฮสต์เป็น Pi01
- เปลี่ยนตัวเลือกการบูตเป็น CLI (Command Line Interface) เนื่องจากเราจะไม่ใช้อินเทอร์เฟซเดสก์ท็อปจริงๆ
- นาฬิกาบนแท็บ "อินเทอร์เฟซ" และตรวจสอบว่าเปิดใช้งาน SSH แล้ว
- คลิกที่แท็บ "โอเวอร์คล็อก" และเลือก "เทอร์โบ"
- เปลี่ยนหน่วยความจำ GPU เป็น 16mb
- คลิกที่แท็บ "Localization" และตั้งค่ารูปแบบแป้นพิมพ์ให้ตรงกับประเทศของคุณ
- เสร็จสิ้นการกำหนดค่าและรีบูต Pi ของคุณ
ขั้นตอนที่ 4: การติดตั้ง MPICH
ยังคงใช้ Pi เพียงตัวเดียวเป็นต้นแบบ ตอนนี้เราต้องติดตั้งซอฟต์แวร์หลักที่จะช่วยให้เราใช้พลังการประมวลผลของ Pi ทั้งหมดในเครือข่ายของเรา ซอฟต์แวร์นั้นเรียกว่า MPICH ซึ่งเป็นส่วนต่อประสานการส่งข้อความ นี่คือสิ่งที่คุณต้องทำเพื่อติดตั้ง:
sudo apt-get update
mkdir mpich2
cd ~/mpich2
wget
tar xfz mpich-3.1.tar.gz
sudo mkdir /home/rpimpi/
sudo mkdir /home/rpimpi/mpi-install
mkdir /home/pi/mpi-build
cd /home/pi/mpi-build
sudo apt-get ติดตั้ง gfortran
sudo /home/pi/mpich2/mpich-3.1/configure -prefix=/home/rpimpi/mpi-install
sudo make
sudo ทำการติดตั้ง
nano.bashrc
PATH=$PATH:/home/rpimpi/mpi-install/bin
sudo รีบูต
mpiexec -n 1 ชื่อโฮสต์
คำสั่งเหล่านี้จะดาวน์โหลดและติดตั้ง MPICH รวมทั้งเพิ่มเป็นพาธไปยังไฟล์บูต BASHRC ของคุณ คำสั่งสุดท้ายรันการทดสอบเพื่อดูว่าใช้งานได้หรือไม่ หากคำสั่งสุดท้ายส่งคืน "Pi01" แสดงว่าคุณทำทุกอย่างสำเร็จแล้ว
ขั้นตอนที่ 5: การติดตั้ง MPI4PY
ตามที่เป็นอยู่ MPICH สามารถเรียกใช้โปรแกรม C และ Fortran แต่เนื่องจาก Raspberry Pi มีสภาพแวดล้อมการเข้ารหัส Python ที่ติดตั้งไว้ล่วงหน้า การติดตั้งล่าม Python เป็น MPI จึงเป็นวิธีที่ง่ายที่สุด นี่คือคำสั่งให้ทำ:
sudo aptitude ติดตั้ง python-dev
wget
tar -zxf mpi4py-1.3.1
cd mpi4py-1.3.1
หลาม setup.py build
หลาม setup.py ติดตั้ง
ส่งออก PYTHONPATH=/home/pi/mpi4py-1.3.1
mpiexec -n 5 python demo/helloworld.py
คำสั่งสุดท้ายนั้นควรส่งคืนห้าคำตอบ แต่ละอันเป็นกระบวนการที่แตกต่างกันใน Pi01 ที่รันโปรแกรม python "Hello World" ที่เราเพิ่งสร้างขึ้น
ขั้นตอนที่ 6: การคัดลอกรูปภาพ
ตอนนี้เรากำหนดค่า Pi หลักของเราสำเร็จแล้ว เราจำเป็นต้องคัดลอกอิมเมจการ์ด SD ของ Pi นั้นไปยัง Pi อื่นๆ ทั้งหมด นี่คือวิธีที่คุณสามารถทำได้บน Windows:
- นำการ์ด SD หลักออกจาก Pi แล้วใส่ลงในคอมพิวเตอร์ของคุณ
- ใช้ Win32DiskImager ใช้ปุ่ม "อ่าน" เพื่อบันทึกเนื้อหาของการ์ด SD ลงในคอมพิวเตอร์ของคุณ
- นำการ์ด SD หลักออกแล้วใส่การ์ด SD สำหรับ Pi อีกอันหนึ่ง จากนั้นใช้ตัวเลือก "เขียน" ของ Win32DiskImager เพื่อเขียนภาพที่เราบันทึกไว้ในการ์ด SD ใหม่
- ทำซ้ำขั้นตอนที่ 3 จนกว่าคุณจะมีภาพต้นแบบที่เขียนลงในการ์ด SD ทั้งหมด
ขั้นตอนที่ 7: การกำหนดค่า Raspberry Pi's ที่เหลืออยู่
ตอนนี้เรามีการ์ด SD ที่เตรียมไว้แล้ว ใส่การ์ด Master SD กลับเข้าไปใน Master Pi เชื่อมต่อกับเราเตอร์และบูตเครื่องกลับขึ้นมาใหม่ จากนั้นสำหรับ Raspberry Pi ที่เหลือ ให้ใส่การ์ด SD ลงในการ์ดทั้งหมด เชื่อมต่อกับเราเตอร์เดียวกันกับ Master Pi ของคุณ จากนั้นจึงบูตเครื่องทั้งหมด Pi รองไม่จำเป็นต้องมีคีย์บอร์ด เมาส์ หรือจอภาพ
เมื่อเปิดเครื่อง Pi ทั้งหมดแล้ว โดยใช้ Master Pi ของเรา เราจะสามารถรับที่อยู่ IP ของแต่ละ Pi บนเครือข่ายได้ นี่คือวิธี:
-
ติดตั้ง NMAP. ก่อน
sudo apt-get update
sudo apt-get ติดตั้ง nmap
-
จากนั้นรับ IP ปัจจุบันสำหรับต้นแบบ Pi
ifconfig
-
ตอนนี้คุณสามารถสแกนซับเน็ตเราเตอร์ของคุณเพื่อหาที่อยู่ Pi IP อื่น ๆ ได้
sudo nmap -sn 192.168.1.*
คัดลอกที่อยู่ IP ทั้งหมดที่เกี่ยวข้องกับ Raspberry Pi อื่น ๆ บนเครือข่าย จากนั้นเราจะสามารถใช้ IP เหล่านั้นเพื่อเชื่อมต่อกับ Pi อื่น ๆ โดยใช้ SSH สิ่งที่เราต้องทำก่อนคือเปลี่ยนชื่อ Pi รองแต่ละรายการเป็นชื่อเครือข่ายที่ไม่ซ้ำกัน ตอนนี้พวกเขาทั้งหมดตั้งค่าเป็น Pi01 แล้ว สมมติว่าหนึ่งในที่อยู่ IP รองของ Pi คือ 192.168.0.3 คุณสามารถเชื่อมต่อและเปลี่ยนชื่อได้ดังนี้:
-
สร้างการเชื่อมต่อ SSH
-
เรียกใช้ raspi-config
sudo raspi-config
- ในอินเทอร์เฟซ ให้เลื่อนลงไปที่ตัวเลือกขั้นสูง แล้วเลือกชื่อโฮสต์
- สำหรับชื่อโฮสต์ ให้เปลี่ยน Pi01 เป็นหมายเลขลำดับถัดไป ซึ่งก็คือ Pi02
-
จากนั้นออกจากเซสชัน SSH
ทางออก
คุณต้องการทำซ้ำขั้นตอนเหล่านั้นสำหรับ Pi อื่น ๆ บนเครือข่ายโดยเปลี่ยนชื่อเป็น Pi03, Pi04 เป็นต้น
ใน Pi ต้นแบบของคุณ คุณต้องการสร้างไฟล์ข้อความใหม่ที่เรียกว่า "ไฟล์เครื่อง"
ไฟล์เครื่องนาโน
และในนั้น คุณต้องการพิมพ์ที่อยู่ IP ของ Pi แต่ละรายการ (รวมถึงที่อยู่ IP หลัก) ในบรรทัดใหม่แล้วบันทึกไฟล์
ณ จุดนี้ เราสามารถเรียกใช้ไฟล์ทดสอบโดยใช้
mpiexec -f machinefile -n 4 ชื่อโฮสต์
แต่จะเกิดข้อผิดพลาดโดยบอกว่ามี "การยืนยันคีย์โฮสต์ล้มเหลว" ดังนั้นในขั้นตอนต่อไป เรามาแก้ไขกัน
ขั้นตอนที่ 8: ยืนยันโฮสต์คีย์
เพื่อแก้ไขเพื่อไม่ให้การสื่อสารกับ Pi แต่ละตัวส่งผลให้การตรวจสอบคีย์โฮสต์ล้มเหลว เราจำเป็นต้องสร้างและสลับคีย์สำหรับ Raspberry Pi แต่ละตัวของเรา ส่วนนี้อาจซับซ้อนเล็กน้อย แต่หวังว่าคุณจะอยู่กับฉันได้
-
บน Master Pi ในโฟลเดอร์เริ่มต้นเริ่มต้น ให้สร้างคีย์ใหม่
cd~
ssh-keygen
-
ไปที่โฟลเดอร์ ssh และคัดลอกไฟล์คีย์ไปยังไฟล์ใหม่ชื่อ "pi01"
cd.ssh
cp id_rsa.pub pi01
-
ถัดไป คุณต้องการเชื่อมต่อผ่าน SSH เข้ากับ Pi02 และทำซ้ำขั้นตอนเดียวกันเพื่อสร้างไฟล์คีย์ Pi02
ssh-keygen
cd.ssh
cp id_rsa.pub pi02
-
ก่อนออกจาก Pi02 เราจำเป็นต้องคัดลอกไฟล์คีย์ Pi01 ไปที่มันและอนุญาต
scp 192.168.1.2:/home/pi/.ssh/pi01.
cat pi01 >> ได้รับอนุญาต_keys
ทางออก
-
เมื่อ Pi02 เสร็จสิ้น ให้ทำซ้ำขั้นตอนทั้งหมดสำหรับ Pi03
ssh-keygen
cd.ssh
cp id_rsa.pub pi03
scp 192.168.1.2:/home/pi/.ssh/pi01.
cat pi01 >> ได้รับอนุญาต_keys
ทางออก
- ทำซ้ำขั้นตอนสุดท้ายสำหรับ Pi ที่เหลือที่คุณมีในเครือข่ายของคุณ
-
หลังจากสร้างคีย์สำหรับ Pi แต่ละตัวแล้ว ให้กลับไปที่ Master Pi ของคุณและคัดลอกคีย์ทั้งหมดที่สร้างขึ้นบน Pi แต่ละตัว
cp 192.168.1.3:/home/pi/.ssh/pi02
cat pi02 >> ได้รับอนุญาต_keys
cp 192.168.1.4:/home/pi/.ssh/pi03
cat pi03 >> ได้รับอนุญาต_keys
cp 192.168.1.5:/home/pi/.ssh/pi02
cat pi04 >> ได้รับอนุญาต_keys
- (ทำซ้ำสำหรับ Pi จำนวนมากที่อยู่ในเครือข่ายของคุณ)
ขั้นตอนที่ 9: การเรียกใช้โปรแกรมบนซูเปอร์คอมพิวเตอร์ของคุณ
ตอนนี้ทุกอย่างควรได้รับการตั้งค่า ขณะที่ยังอยู่บน Master Pi ของคุณ ให้ลองเรียกใช้ไฟล์เครื่องนี้อีกครั้ง:
ซีดี ~
mpiexec -f machinefile -n 4 ชื่อโฮสต์
หากทุกอย่างถูกต้อง ควรส่งคืนที่อยู่ IP ของ Raspberry Pi ทั้งหมดของคุณ ตอนนี้เราได้ทดสอบซูเปอร์คอมพิวเตอร์เรียบร้อยแล้ว ให้เรียกใช้โปรแกรมหลามกับมัน:
-
ดาวน์โหลดและเปิดเครื่องรูดสคริปต์ทดสอบการถอดรหัสรหัสผ่าน Python ของฉัน
wget
tar -zxf python_test.tar.gz
-
แก้ไขแฮชรหัสผ่านเป็นอันที่คุณต้องการถอดรหัส
nano python_test/md5_attack.py
-
คัดลอกไฟล์ Python ไปยัง Pi ทั้งหมดของคุณ
scp -r python_test 192.168.1.3:/home/pi
scp -r python_test 192.168.1.4:/home/pi
scp -r python_test 192.168.1.5:/home/pi
- (ทำซ้ำสำหรับ Pi ที่เหลือทั้งหมด)
-
เรียกใช้สคริปต์หลาม
mpiexec -f machinefile -n 5 python python_test/md5_attack.py
สคริปต์จะทำงานโดยใช้พลังประมวลผลของ Pi ทั้งหมดในเครือข่ายของคุณ! อย่าลังเลที่จะทดสอบโดยใช้สคริปต์หลามของคุณเอง!
รางวัลที่สามในการประกวด Raspberry Pi 2016
แนะนำ:
บ้านอัจฉริยะโดย Raspberry Pi: 5 ขั้นตอน (พร้อมรูปภาพ)
บ้านอัจฉริยะโดย Raspberry Pi: มีผลิตภัณฑ์หลายอย่างที่ทำให้แฟลตของคุณฉลาดขึ้น แต่ส่วนใหญ่เป็นโซลูชันที่เป็นกรรมสิทธิ์ แต่ทำไมคุณต้องเชื่อมต่ออินเทอร์เน็ตเพื่อเปลี่ยนไฟด้วยสมาร์ทโฟนของคุณ นั่นเป็นเหตุผลหนึ่งที่ทำให้ฉันสร้าง Smar ของตัวเอง
จอแสดงผลเกม LED ทำจากไม้ที่ขับเคลื่อนโดย Raspberry Pi Zero: 11 ขั้นตอน (พร้อมรูปภาพ)
จอแสดงผล LED สำหรับเล่นเกมแบบไม้ที่ขับเคลื่อนโดย Raspberry Pi Zero: โปรเจ็กต์นี้ใช้จอแสดงผล LED แบบ WS2812 ขนาด 20x10 พิกเซลที่มีขนาด 78x35 ซม. ซึ่งสามารถติดตั้งได้ง่ายในห้องนั่งเล่นเพื่อเล่นเกมย้อนยุค เมทริกซ์เวอร์ชันแรกนี้สร้างขึ้นในปี 2016 และสร้างขึ้นใหม่โดยคนอื่นๆ อีกหลายคน ประสบการณ์นี้
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): 6 ขั้นตอน (พร้อมรูปภาพ)
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): การชาร์จแบบเหนี่ยวนำ (เรียกอีกอย่างว่าการชาร์จแบบไร้สายหรือการชาร์จแบบไร้สาย) เป็นการถ่ายโอนพลังงานแบบไร้สาย ใช้การเหนี่ยวนำแม่เหล็กไฟฟ้าเพื่อจ่ายกระแสไฟฟ้าให้กับอุปกรณ์พกพา แอปพลิเคชั่นที่พบบ่อยที่สุดคือ Qi Wireless Charging st
4 ขั้นตอน Digital Sequencer: 19 ขั้นตอน (พร้อมรูปภาพ)
4 ขั้นตอน Digital Sequencer: CPE 133, Cal Poly San Luis Obispo ผู้สร้างโปรเจ็กต์: Jayson Johnston และ Bjorn Nelson ในอุตสาหกรรมเพลงในปัจจุบัน ซึ่งเป็นหนึ่งใน “instruments” เป็นเครื่องสังเคราะห์เสียงดิจิตอล ดนตรีทุกประเภท ตั้งแต่ฮิปฮอป ป๊อป และอีฟ
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: 13 ขั้นตอน (พร้อมรูปภาพ)
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: ทำป้ายโฆษณาแบบพกพาราคาถูกด้วยตัวเอง ด้วยป้ายนี้ คุณสามารถแสดงข้อความหรือโลโก้ของคุณได้ทุกที่ทั่วทั้งเมือง คำแนะนำนี้เป็นการตอบสนองต่อ/ปรับปรุง/เปลี่ยนแปลงของ: https://www.instructables.com/id/Low-Cost-Illuminated-