ซูเปอร์คอมพิวเตอร์ที่ใช้ Raspberry Pi พร้อมเทคโนโลยีระบายความร้อนด้วยน้ำ

มีบางพื้นที่ที่เราต้องการเครื่องคอมพิวเตอร์ขนาดเล็กที่สามารถทำงานร่วมกันได้เหมือนซูเปอร์คอมพิวเตอร์ มาดูกันว่าสามารถทำได้อย่างไร

ซูเปอร์คอมพิวเตอร์ที่ใช้ Raspberry Pi พร้อมเทคโนโลยีระบายความร้อนด้วยน้ำ

ซูเปอร์คอมพิวเตอร์ส่วนใหญ่มีซีพียูที่เชื่อมต่อกันโดยมีซีพียูมาสเตอร์โหนดที่แบ่งงานประมวลผลขนาดใหญ่ให้เป็นงานย่อย งานย่อยเหล่านี้จะได้รับมอบหมายให้กับซีพียูที่เชื่อมต่อกัน ซึ่งจะทำงานร่วมกันเพื่อทำงานให้เสร็จภายในเวลาที่สั้นลงมาก

ดังนั้นให้เราออกแบบซูเปอร์คอมพิวเตอร์ของเราเอง ซึ่งจะเป็นระบบพื้นฐานที่คุณสามารถเชื่อมต่อโหนดได้มากเท่าที่คุณต้องการเพื่อตอบสนองความต้องการในการคำนวณและการประมวลผลของคุณ เราจะใช้คอมพิวเตอร์บอร์ดเดียวและเชื่อมต่อเข้าด้วยกัน และทำให้หนึ่งในนั้นเป็นโหนดหลัก โหนดหลักจะกระจายงานและควบคุมคอมพิวเตอร์เครื่องอื่นๆ ทั้งหมด

ส่วนประกอบที่จำเป็นสำหรับโครงการนี้แสดงอยู่ในตารางรายการวัสดุ ต้นแบบแสดงในรูปที่ 1

รูปที่ 1: ซูเปอร์คอมพิวเตอร์พร้อมระบบระบายความร้อน

แต่ละโหนดของคลัสเตอร์สำหรับซูเปอร์คอมพิวเตอร์ของเราจะต้องมีส่วนประกอบที่ระบุไว้ในรายการวัสดุ หากต้องการสร้างซูเปอร์คอมพิวเตอร์คลัสเตอร์ที่มี RPI 100 ชุด คุณจะต้องใช้ส่วนประกอบข้างต้น 100 ชุด

การออกแบบฮาร์ดแวร์

คุณสามารถออกแบบระบบแบบแร็คธรรมดาหรือออกแบบบล็อกของแต่ละโหนดและเชื่อมต่อบล็อกเพื่อสร้างคลัสเตอร์ขนาดใหญ่สำหรับใช้งานส่วนตัว มาดูกันว่าคุณสามารถสร้างซูเปอร์คอมพิวเตอร์คลัสเตอร์แบบบล็อกได้อย่างไร โดยที่แต่ละบล็อกมีซีพียูสองตัวพร้อมระบบจัดการพลังงานและระบบระบายความร้อนที่กำหนดค่าไว้ล่วงหน้าแยกกัน การออกแบบนี้ทำให้คุณมีความยืดหยุ่นในการเพิ่มบล็อกคลัสเตอร์แต่ละบล็อกได้ตามต้องการ คุณสามารถบรรลุพลังการประมวลผลได้มากถึงหนึ่งเทราไบต์โดยเพิ่มบล็อกโหนดเดี่ยวเหล่านี้ให้เพียงพอ

ให้เราออกแบบเคสแบบบล็อกเดียวที่สามารถรองรับคอมพิวเตอร์บอร์ดเดียว RPi ได้ 2 เครื่องและถังเก็บน้ำระบายความร้อนทรงกระบอก ในการออกแบบเคส ให้เว้นช่องว่างด้านหน้าไว้ 2 ช่องเพื่อเปิดพอร์ต USB และอีเทอร์เน็ตของ RPi เว้นช่องว่างด้านล่างไว้ 2 ช่องเพื่อร้อยสายไฟและขั้วต่อของแหล่งจ่ายไฟ (ดูรูปที่ 2) นอกจากนี้ ให้เว้นช่องว่างระบายอากาศไว้เพื่อให้อากาศถ่ายเทได้สะดวกเพื่อให้ระบบเย็นลง

รูปที่ 2: การออกแบบเคสสำหรับบล็อค

หลังจากออกแบบเคสฮาร์ดแวร์ตามที่อธิบายไว้ข้างต้นแล้ว ให้พิมพ์แบบ 3 มิติ คุณสามารถออกแบบเองได้หากต้องการ หรือจะเลือกใช้ระบบแบบแร็คก็ได้ และตั้งค่าระบบระบายความร้อนและซีพียูในการตั้งค่าแร็ค

ระบบระบายความร้อน

ระบบระบายความร้อนที่ดีสำหรับซูเปอร์คอมพิวเตอร์เป็นสิ่งจำเป็น เนื่องจากซีพียูจะต้องทำงานที่ซับซ้อนและอาจร้อนขึ้นอย่างรวดเร็ว ขอแนะนำให้ใช้ระบบระบายความร้อนแบบคู่ โดยใช้เทอร์โมอิเล็กทริกก่อนแล้วจึงระบายความร้อนด้วยน้ำ หากต้องการผลลัพธ์ที่ดีขึ้น สามารถใช้สารหล่อเย็นแบบของเหลวแทนน้ำได้

สำหรับอ่างเก็บน้ำ/สารหล่อเย็น คุณสามารถใช้ภาชนะทรงกระบอกใสที่ปิดสนิทซึ่งทำจากแก้วหรือพลาสติกที่ใส่ไว้ในเคสที่ออกแบบไว้ก่อนหน้านี้ได้ อ่างเก็บน้ำจะต้องป้องกันการรั่วซึมเพื่อหลีกเลี่ยงความเสียหายต่อส่วนประกอบอิเล็กทรอนิกส์ที่อยู่ใกล้เคียงหรือทำให้เกิดไฟฟ้าลัดวงจร

รูปที่ 3: ท่อทางเข้าและทางออกที่ติดตั้งในอ่างเก็บน้ำ

ตามที่แสดงในรูปที่ 3 ให้เจาะรูสำหรับท่อน้ำเข้าและน้ำออกในอ่างเก็บน้ำ และเจาะรูอีกรูหนึ่งสำหรับสายไฟของปั๊มน้ำแบบจุ่ม ต่อท่อน้ำและสายไฟเข้าด้วยกัน จากนั้นปิดรูด้วยกาวยางเพื่อให้แน่ใจว่าไม่มีน้ำรั่วจากอ่างเก็บน้ำ ดูรายละเอียดในรูปที่ 4 รูปที่ 5 และรูปที่ 6

รูปที่ 4 : เจาะรูทางเข้าและทางออกของน้ำให้แน่นหนาและป้องกันน้ำรั่วซึมด้วยกาว

รูปที่ 5: ฝาปิดถังน้ำ

รูปที่ 6: อ่างเก็บน้ำที่เต็มไปด้วยของเหลว

คลุมส่วนประกอบอิเล็กทรอนิกส์ในอ่างเก็บน้ำด้วยแผ่นพลาสติกหรือเทปกาวเพื่อป้องกันหยดน้ำที่เกิดจากความชื้นภายใน ไม่ก่อให้เกิดปัญหาใดๆ ใส่ท่อทางเข้าและทางออกไว้ในบล็อกระบายความร้อนด้วยน้ำอะลูมิเนียม (ดูรูปที่ 7 และรูปที่ 8) และต่อปั๊มน้ำและสายเทอร์โมอิเล็กทริกเข้ากับแหล่งจ่ายไฟ DC 5V

รูปที่ 7: การตั้งค่าโมดูลเทอร์โมอิเล็กทริกบนชิปโปรเซสเซอร์ของ RPi

รูปที่ 8: บล็อกอลูมิเนียมสำหรับระบายความร้อนด้วยน้ำ

การประกอบ

เมื่ออ่างเก็บน้ำปั๊มน้ำหล่อเย็นและระบบระบายความร้อนทั้งหมดพร้อมสำหรับการติดตั้งแล้ว ตอนนี้คุณสามารถประกอบส่วนประกอบต่างๆ และเริ่มสร้างบล็อกของซูเปอร์คอมพิวเตอร์ได้แล้ว ขั้นแรก ให้ยึดคอมพิวเตอร์บอร์ดเดียว RPi ไว้ภายในเคสที่คุณออกแบบไว้ ดังที่แสดงในรูปที่ 9 จากนั้นจึงติดตั้งบล็อกระบายความร้อนตัวแรกบนบล็อกนั้น จากนั้น ติดตั้ง RPi ตัวที่สองไว้ภายในเคส โดยตรวจสอบให้แน่ใจว่าพอร์ตต่างๆ อยู่ภายนอกและสามารถเข้าถึงได้ผ่านรอยตัดในเคสที่ทำขึ้นเพื่อจุดประสงค์นั้น

รูปที่ 9: RPI วางลงในเคส

ยึด RPi ตัวที่ 2 ด้วยสกรู จากนั้นจึงยึดเทอร์โมอิเล็กทริกและบล็อกระบายความร้อนไว้บนนั้นด้วย จากนั้นปิดด้านบนของเคส เพื่อให้ดูเท่และมองเห็นน้ำไหล ให้ใช้แผ่นอะคริลิกใสปิดเคส รายละเอียดสามารถดูได้ในรูปที่ 10 ถึงรูปที่ 12

รูปที่ 10: อ่างเก็บน้ำที่ยึดด้วย RPI ในตัว

รูปที่ 11: มุมมองด้านบน

อ้างอิงแผนผังการเชื่อมต่อที่แสดงในรูปที่ 13 จากนั้นเชื่อมต่อปั๊มน้ำและเครื่องทำความเย็นเทอร์โมอิเล็กทริกกับแหล่งจ่ายไฟ DC 5-12V, 2A และจ่ายไฟให้กับ RPi ด้วยแหล่งจ่ายไฟ DC 2A, 5V

รูปที่ 12: การติดตั้งโมดูลตัวระบายความร้อนด้วยน้ำ

ซอฟต์แวร์

ติดตั้งระบบปฏิบัติการ Raspbeian เวอร์ชันล่าสุดใน RPi สร้างหน่วยหลักที่จะแบ่งงานที่ซับซ้อนออกเป็นโหนดที่ประกอบกันทั้งหมด และควบคุมโหนดเหล่านี้สำหรับการประมวลผลและการคำนวณ เช่นเดียวกับซูเปอร์คอมพิวเตอร์ ในการดำเนินการดังกล่าว ให้เปิดเทอร์มินัล Linux และตั้งค่า MPI ติดตั้ง MiPIH และเตรียมโหนดหลักที่จะแบ่งและควบคุมงานในกลุ่มคอมพิวเตอร์

sudo apt-get update

เปลี่ยนรหัสผ่านผู้ใช้ 'pi'

ภายใต้ 'การทำงานเครือข่าย' เปลี่ยนชื่อโฮสต์เป็น nodeX โดยแทนที่ X ด้วยหมายเลขเฉพาะ (node1, node2 เป็นต้น) node1 จะเป็นหน่วยหลักของเรา

ตั้งค่าอีเทอร์เน็ต:

sudo nano /etc/dhcpcd.conf

ไปที่จุดสิ้นสุดของไฟล์และเพิ่มสิ่งต่อไปนี้:

interface eth0
static ip_address=10.0.0.1/24

แล้วสร้างเอกลักษณ์เฉพาะตัว:

ssh-keygen -t rsa
Setup master node
ssh-copy-id 10.0.0.1

ตอนนี้โหนดหลักพร้อมแล้ว เปิดเทอร์มินัลของโหนดที่สองและเชื่อมต่ออีเทอร์เน็ตกับ RPi ทั้งสองตัวด้วยขั้วต่ออีเทอร์เน็ตและทำซ้ำขั้นตอนข้างต้นในนั้นเช่นกัน หากต้องการเพิ่มโหนดเพิ่มเติม (ซึ่งอาจเป็นพันโหนด) ให้สร้างอิมเมจที่สามารถบูตได้ของการตั้งค่า RPi ข้างต้นและเตรียมการ์ด SD ของโหนดทั้งหมดด้วยอิมเมจเดียวกัน

รูปที่ 13: แผนผังการเชื่อมต่อของโครงการ

เชื่อมต่อทั้งหมดด้วยขั้วต่ออีเทอร์เน็ต จากนั้นบูตทั้งหมดและตั้งค่าเป็นโหนดของมาสเตอร์โดยใช้คำสั่งและการกำหนดค่าต่อไปนี้ เปิดเทอร์มินัลและรันคำสั่งต่อไปนี้บนแต่ละโหนดของซูเปอร์คอมพิวเตอร์:

sudo apt install mpich
python3-mpi4py

sudo apt ติดตั้ง mpich

python3-mpi4py ไพธอน3-mpi4py

เมื่อเสร็จสมบูรณ์แล้ว การทดสอบ MPI จะทำงานบนแต่ละโหนด:

mpiexec -n 1 hostname

จาก node1 (10.0.0.1) ให้รันคำสั่งต่อไปนี้:

mpiexec -n 4 –hosts 10.0.0.1,10.0.0.2,
10.0.0.2,10.0.0.4 hostname

เมื่อการตั้งค่าทุกอย่างเสร็จสิ้น คุณสามารถทดสอบระบบได้ เชื่อมต่อแต่ละโหนดและจ่ายไฟให้ทั้งหมด

หากต้องการทดสอบซู เปอร์คอมพิวเตอร์ ให้ดาวน์โหลดโค้ดจากGithub

เปิดเทอร์มินัลของโหนดมาสเตอร์และรันสิ่งต่อไปนี้ในเทอร์มินัล Linux:

mpiexec -n 1 python3 prime.py 1000

เมื่อคุณรันโค้ดข้างต้น งานอันซับซ้อนในการค้นหาจำนวนเฉพาะที่สูงถึง 1,000 หรือ 4,000 หรือแม้แต่ 100,000 จะถูกแบ่งออกไปยังโหนดทั้งหมดในระบบ และโหนดจะประมวลผลร่วมกันและคำนวณเพื่อให้ได้ผลลัพธ์ รูปที่ 14 แสดงวิธีการทำงานของโปรแกรม

รูปที่ 14: การรันโค้ด

ดาวน์โหลดซอร์สโค้ด

บทความที่เกี่ยวข้อง

ซูเปอร์คอมพิวเตอร์ที่ใช้ Raspberry Pi พร้อมเทคโนโลยีระบายความร้อนด้วยน้ำ

มีบางพื้นที่ที่เราต้องการเครื่องคอมพิวเตอร์ขนาดเล็กที่สามารถทำงานร่วมกันได้เหมือนซูเปอร์คอมพิวเตอร์ มาดูกันว่าสามารถทำได้อย่างไร

นักเขียนบทความ
by 
นักเขียนบทความ
ซูเปอร์คอมพิวเตอร์ที่ใช้ Raspberry Pi พร้อมเทคโนโลยีระบายความร้อนด้วยน้ำ

ซูเปอร์คอมพิวเตอร์ที่ใช้ Raspberry Pi พร้อมเทคโนโลยีระบายความร้อนด้วยน้ำ

มีบางพื้นที่ที่เราต้องการเครื่องคอมพิวเตอร์ขนาดเล็กที่สามารถทำงานร่วมกันได้เหมือนซูเปอร์คอมพิวเตอร์ มาดูกันว่าสามารถทำได้อย่างไร

ซูเปอร์คอมพิวเตอร์ส่วนใหญ่มีซีพียูที่เชื่อมต่อกันโดยมีซีพียูมาสเตอร์โหนดที่แบ่งงานประมวลผลขนาดใหญ่ให้เป็นงานย่อย งานย่อยเหล่านี้จะได้รับมอบหมายให้กับซีพียูที่เชื่อมต่อกัน ซึ่งจะทำงานร่วมกันเพื่อทำงานให้เสร็จภายในเวลาที่สั้นลงมาก

ดังนั้นให้เราออกแบบซูเปอร์คอมพิวเตอร์ของเราเอง ซึ่งจะเป็นระบบพื้นฐานที่คุณสามารถเชื่อมต่อโหนดได้มากเท่าที่คุณต้องการเพื่อตอบสนองความต้องการในการคำนวณและการประมวลผลของคุณ เราจะใช้คอมพิวเตอร์บอร์ดเดียวและเชื่อมต่อเข้าด้วยกัน และทำให้หนึ่งในนั้นเป็นโหนดหลัก โหนดหลักจะกระจายงานและควบคุมคอมพิวเตอร์เครื่องอื่นๆ ทั้งหมด

ส่วนประกอบที่จำเป็นสำหรับโครงการนี้แสดงอยู่ในตารางรายการวัสดุ ต้นแบบแสดงในรูปที่ 1

รูปที่ 1: ซูเปอร์คอมพิวเตอร์พร้อมระบบระบายความร้อน

แต่ละโหนดของคลัสเตอร์สำหรับซูเปอร์คอมพิวเตอร์ของเราจะต้องมีส่วนประกอบที่ระบุไว้ในรายการวัสดุ หากต้องการสร้างซูเปอร์คอมพิวเตอร์คลัสเตอร์ที่มี RPI 100 ชุด คุณจะต้องใช้ส่วนประกอบข้างต้น 100 ชุด

การออกแบบฮาร์ดแวร์

คุณสามารถออกแบบระบบแบบแร็คธรรมดาหรือออกแบบบล็อกของแต่ละโหนดและเชื่อมต่อบล็อกเพื่อสร้างคลัสเตอร์ขนาดใหญ่สำหรับใช้งานส่วนตัว มาดูกันว่าคุณสามารถสร้างซูเปอร์คอมพิวเตอร์คลัสเตอร์แบบบล็อกได้อย่างไร โดยที่แต่ละบล็อกมีซีพียูสองตัวพร้อมระบบจัดการพลังงานและระบบระบายความร้อนที่กำหนดค่าไว้ล่วงหน้าแยกกัน การออกแบบนี้ทำให้คุณมีความยืดหยุ่นในการเพิ่มบล็อกคลัสเตอร์แต่ละบล็อกได้ตามต้องการ คุณสามารถบรรลุพลังการประมวลผลได้มากถึงหนึ่งเทราไบต์โดยเพิ่มบล็อกโหนดเดี่ยวเหล่านี้ให้เพียงพอ

ให้เราออกแบบเคสแบบบล็อกเดียวที่สามารถรองรับคอมพิวเตอร์บอร์ดเดียว RPi ได้ 2 เครื่องและถังเก็บน้ำระบายความร้อนทรงกระบอก ในการออกแบบเคส ให้เว้นช่องว่างด้านหน้าไว้ 2 ช่องเพื่อเปิดพอร์ต USB และอีเทอร์เน็ตของ RPi เว้นช่องว่างด้านล่างไว้ 2 ช่องเพื่อร้อยสายไฟและขั้วต่อของแหล่งจ่ายไฟ (ดูรูปที่ 2) นอกจากนี้ ให้เว้นช่องว่างระบายอากาศไว้เพื่อให้อากาศถ่ายเทได้สะดวกเพื่อให้ระบบเย็นลง

รูปที่ 2: การออกแบบเคสสำหรับบล็อค

หลังจากออกแบบเคสฮาร์ดแวร์ตามที่อธิบายไว้ข้างต้นแล้ว ให้พิมพ์แบบ 3 มิติ คุณสามารถออกแบบเองได้หากต้องการ หรือจะเลือกใช้ระบบแบบแร็คก็ได้ และตั้งค่าระบบระบายความร้อนและซีพียูในการตั้งค่าแร็ค

ระบบระบายความร้อน

ระบบระบายความร้อนที่ดีสำหรับซูเปอร์คอมพิวเตอร์เป็นสิ่งจำเป็น เนื่องจากซีพียูจะต้องทำงานที่ซับซ้อนและอาจร้อนขึ้นอย่างรวดเร็ว ขอแนะนำให้ใช้ระบบระบายความร้อนแบบคู่ โดยใช้เทอร์โมอิเล็กทริกก่อนแล้วจึงระบายความร้อนด้วยน้ำ หากต้องการผลลัพธ์ที่ดีขึ้น สามารถใช้สารหล่อเย็นแบบของเหลวแทนน้ำได้

สำหรับอ่างเก็บน้ำ/สารหล่อเย็น คุณสามารถใช้ภาชนะทรงกระบอกใสที่ปิดสนิทซึ่งทำจากแก้วหรือพลาสติกที่ใส่ไว้ในเคสที่ออกแบบไว้ก่อนหน้านี้ได้ อ่างเก็บน้ำจะต้องป้องกันการรั่วซึมเพื่อหลีกเลี่ยงความเสียหายต่อส่วนประกอบอิเล็กทรอนิกส์ที่อยู่ใกล้เคียงหรือทำให้เกิดไฟฟ้าลัดวงจร

รูปที่ 3: ท่อทางเข้าและทางออกที่ติดตั้งในอ่างเก็บน้ำ

ตามที่แสดงในรูปที่ 3 ให้เจาะรูสำหรับท่อน้ำเข้าและน้ำออกในอ่างเก็บน้ำ และเจาะรูอีกรูหนึ่งสำหรับสายไฟของปั๊มน้ำแบบจุ่ม ต่อท่อน้ำและสายไฟเข้าด้วยกัน จากนั้นปิดรูด้วยกาวยางเพื่อให้แน่ใจว่าไม่มีน้ำรั่วจากอ่างเก็บน้ำ ดูรายละเอียดในรูปที่ 4 รูปที่ 5 และรูปที่ 6

รูปที่ 4 : เจาะรูทางเข้าและทางออกของน้ำให้แน่นหนาและป้องกันน้ำรั่วซึมด้วยกาว

รูปที่ 5: ฝาปิดถังน้ำ

รูปที่ 6: อ่างเก็บน้ำที่เต็มไปด้วยของเหลว

คลุมส่วนประกอบอิเล็กทรอนิกส์ในอ่างเก็บน้ำด้วยแผ่นพลาสติกหรือเทปกาวเพื่อป้องกันหยดน้ำที่เกิดจากความชื้นภายใน ไม่ก่อให้เกิดปัญหาใดๆ ใส่ท่อทางเข้าและทางออกไว้ในบล็อกระบายความร้อนด้วยน้ำอะลูมิเนียม (ดูรูปที่ 7 และรูปที่ 8) และต่อปั๊มน้ำและสายเทอร์โมอิเล็กทริกเข้ากับแหล่งจ่ายไฟ DC 5V

รูปที่ 7: การตั้งค่าโมดูลเทอร์โมอิเล็กทริกบนชิปโปรเซสเซอร์ของ RPi

รูปที่ 8: บล็อกอลูมิเนียมสำหรับระบายความร้อนด้วยน้ำ

การประกอบ

เมื่ออ่างเก็บน้ำปั๊มน้ำหล่อเย็นและระบบระบายความร้อนทั้งหมดพร้อมสำหรับการติดตั้งแล้ว ตอนนี้คุณสามารถประกอบส่วนประกอบต่างๆ และเริ่มสร้างบล็อกของซูเปอร์คอมพิวเตอร์ได้แล้ว ขั้นแรก ให้ยึดคอมพิวเตอร์บอร์ดเดียว RPi ไว้ภายในเคสที่คุณออกแบบไว้ ดังที่แสดงในรูปที่ 9 จากนั้นจึงติดตั้งบล็อกระบายความร้อนตัวแรกบนบล็อกนั้น จากนั้น ติดตั้ง RPi ตัวที่สองไว้ภายในเคส โดยตรวจสอบให้แน่ใจว่าพอร์ตต่างๆ อยู่ภายนอกและสามารถเข้าถึงได้ผ่านรอยตัดในเคสที่ทำขึ้นเพื่อจุดประสงค์นั้น

รูปที่ 9: RPI วางลงในเคส

ยึด RPi ตัวที่ 2 ด้วยสกรู จากนั้นจึงยึดเทอร์โมอิเล็กทริกและบล็อกระบายความร้อนไว้บนนั้นด้วย จากนั้นปิดด้านบนของเคส เพื่อให้ดูเท่และมองเห็นน้ำไหล ให้ใช้แผ่นอะคริลิกใสปิดเคส รายละเอียดสามารถดูได้ในรูปที่ 10 ถึงรูปที่ 12

รูปที่ 10: อ่างเก็บน้ำที่ยึดด้วย RPI ในตัว

รูปที่ 11: มุมมองด้านบน

อ้างอิงแผนผังการเชื่อมต่อที่แสดงในรูปที่ 13 จากนั้นเชื่อมต่อปั๊มน้ำและเครื่องทำความเย็นเทอร์โมอิเล็กทริกกับแหล่งจ่ายไฟ DC 5-12V, 2A และจ่ายไฟให้กับ RPi ด้วยแหล่งจ่ายไฟ DC 2A, 5V

รูปที่ 12: การติดตั้งโมดูลตัวระบายความร้อนด้วยน้ำ

ซอฟต์แวร์

ติดตั้งระบบปฏิบัติการ Raspbeian เวอร์ชันล่าสุดใน RPi สร้างหน่วยหลักที่จะแบ่งงานที่ซับซ้อนออกเป็นโหนดที่ประกอบกันทั้งหมด และควบคุมโหนดเหล่านี้สำหรับการประมวลผลและการคำนวณ เช่นเดียวกับซูเปอร์คอมพิวเตอร์ ในการดำเนินการดังกล่าว ให้เปิดเทอร์มินัล Linux และตั้งค่า MPI ติดตั้ง MiPIH และเตรียมโหนดหลักที่จะแบ่งและควบคุมงานในกลุ่มคอมพิวเตอร์

sudo apt-get update

เปลี่ยนรหัสผ่านผู้ใช้ 'pi'

ภายใต้ 'การทำงานเครือข่าย' เปลี่ยนชื่อโฮสต์เป็น nodeX โดยแทนที่ X ด้วยหมายเลขเฉพาะ (node1, node2 เป็นต้น) node1 จะเป็นหน่วยหลักของเรา

ตั้งค่าอีเทอร์เน็ต:

sudo nano /etc/dhcpcd.conf

ไปที่จุดสิ้นสุดของไฟล์และเพิ่มสิ่งต่อไปนี้:

interface eth0
static ip_address=10.0.0.1/24

แล้วสร้างเอกลักษณ์เฉพาะตัว:

ssh-keygen -t rsa
Setup master node
ssh-copy-id 10.0.0.1

ตอนนี้โหนดหลักพร้อมแล้ว เปิดเทอร์มินัลของโหนดที่สองและเชื่อมต่ออีเทอร์เน็ตกับ RPi ทั้งสองตัวด้วยขั้วต่ออีเทอร์เน็ตและทำซ้ำขั้นตอนข้างต้นในนั้นเช่นกัน หากต้องการเพิ่มโหนดเพิ่มเติม (ซึ่งอาจเป็นพันโหนด) ให้สร้างอิมเมจที่สามารถบูตได้ของการตั้งค่า RPi ข้างต้นและเตรียมการ์ด SD ของโหนดทั้งหมดด้วยอิมเมจเดียวกัน

รูปที่ 13: แผนผังการเชื่อมต่อของโครงการ

เชื่อมต่อทั้งหมดด้วยขั้วต่ออีเทอร์เน็ต จากนั้นบูตทั้งหมดและตั้งค่าเป็นโหนดของมาสเตอร์โดยใช้คำสั่งและการกำหนดค่าต่อไปนี้ เปิดเทอร์มินัลและรันคำสั่งต่อไปนี้บนแต่ละโหนดของซูเปอร์คอมพิวเตอร์:

sudo apt install mpich
python3-mpi4py

sudo apt ติดตั้ง mpich

python3-mpi4py ไพธอน3-mpi4py

เมื่อเสร็จสมบูรณ์แล้ว การทดสอบ MPI จะทำงานบนแต่ละโหนด:

mpiexec -n 1 hostname

จาก node1 (10.0.0.1) ให้รันคำสั่งต่อไปนี้:

mpiexec -n 4 –hosts 10.0.0.1,10.0.0.2,
10.0.0.2,10.0.0.4 hostname

เมื่อการตั้งค่าทุกอย่างเสร็จสิ้น คุณสามารถทดสอบระบบได้ เชื่อมต่อแต่ละโหนดและจ่ายไฟให้ทั้งหมด

หากต้องการทดสอบซู เปอร์คอมพิวเตอร์ ให้ดาวน์โหลดโค้ดจากGithub

เปิดเทอร์มินัลของโหนดมาสเตอร์และรันสิ่งต่อไปนี้ในเทอร์มินัล Linux:

mpiexec -n 1 python3 prime.py 1000

เมื่อคุณรันโค้ดข้างต้น งานอันซับซ้อนในการค้นหาจำนวนเฉพาะที่สูงถึง 1,000 หรือ 4,000 หรือแม้แต่ 100,000 จะถูกแบ่งออกไปยังโหนดทั้งหมดในระบบ และโหนดจะประมวลผลร่วมกันและคำนวณเพื่อให้ได้ผลลัพธ์ รูปที่ 14 แสดงวิธีการทำงานของโปรแกรม

รูปที่ 14: การรันโค้ด

ดาวน์โหลดซอร์สโค้ด

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

ซูเปอร์คอมพิวเตอร์ที่ใช้ Raspberry Pi พร้อมเทคโนโลยีระบายความร้อนด้วยน้ำ

ซูเปอร์คอมพิวเตอร์ที่ใช้ Raspberry Pi พร้อมเทคโนโลยีระบายความร้อนด้วยน้ำ

มีบางพื้นที่ที่เราต้องการเครื่องคอมพิวเตอร์ขนาดเล็กที่สามารถทำงานร่วมกันได้เหมือนซูเปอร์คอมพิวเตอร์ มาดูกันว่าสามารถทำได้อย่างไร

Lorem ipsum dolor amet consectetur adipiscing elit tortor massa arcu non.

ซูเปอร์คอมพิวเตอร์ส่วนใหญ่มีซีพียูที่เชื่อมต่อกันโดยมีซีพียูมาสเตอร์โหนดที่แบ่งงานประมวลผลขนาดใหญ่ให้เป็นงานย่อย งานย่อยเหล่านี้จะได้รับมอบหมายให้กับซีพียูที่เชื่อมต่อกัน ซึ่งจะทำงานร่วมกันเพื่อทำงานให้เสร็จภายในเวลาที่สั้นลงมาก

ดังนั้นให้เราออกแบบซูเปอร์คอมพิวเตอร์ของเราเอง ซึ่งจะเป็นระบบพื้นฐานที่คุณสามารถเชื่อมต่อโหนดได้มากเท่าที่คุณต้องการเพื่อตอบสนองความต้องการในการคำนวณและการประมวลผลของคุณ เราจะใช้คอมพิวเตอร์บอร์ดเดียวและเชื่อมต่อเข้าด้วยกัน และทำให้หนึ่งในนั้นเป็นโหนดหลัก โหนดหลักจะกระจายงานและควบคุมคอมพิวเตอร์เครื่องอื่นๆ ทั้งหมด

ส่วนประกอบที่จำเป็นสำหรับโครงการนี้แสดงอยู่ในตารางรายการวัสดุ ต้นแบบแสดงในรูปที่ 1

รูปที่ 1: ซูเปอร์คอมพิวเตอร์พร้อมระบบระบายความร้อน

แต่ละโหนดของคลัสเตอร์สำหรับซูเปอร์คอมพิวเตอร์ของเราจะต้องมีส่วนประกอบที่ระบุไว้ในรายการวัสดุ หากต้องการสร้างซูเปอร์คอมพิวเตอร์คลัสเตอร์ที่มี RPI 100 ชุด คุณจะต้องใช้ส่วนประกอบข้างต้น 100 ชุด

การออกแบบฮาร์ดแวร์

คุณสามารถออกแบบระบบแบบแร็คธรรมดาหรือออกแบบบล็อกของแต่ละโหนดและเชื่อมต่อบล็อกเพื่อสร้างคลัสเตอร์ขนาดใหญ่สำหรับใช้งานส่วนตัว มาดูกันว่าคุณสามารถสร้างซูเปอร์คอมพิวเตอร์คลัสเตอร์แบบบล็อกได้อย่างไร โดยที่แต่ละบล็อกมีซีพียูสองตัวพร้อมระบบจัดการพลังงานและระบบระบายความร้อนที่กำหนดค่าไว้ล่วงหน้าแยกกัน การออกแบบนี้ทำให้คุณมีความยืดหยุ่นในการเพิ่มบล็อกคลัสเตอร์แต่ละบล็อกได้ตามต้องการ คุณสามารถบรรลุพลังการประมวลผลได้มากถึงหนึ่งเทราไบต์โดยเพิ่มบล็อกโหนดเดี่ยวเหล่านี้ให้เพียงพอ

ให้เราออกแบบเคสแบบบล็อกเดียวที่สามารถรองรับคอมพิวเตอร์บอร์ดเดียว RPi ได้ 2 เครื่องและถังเก็บน้ำระบายความร้อนทรงกระบอก ในการออกแบบเคส ให้เว้นช่องว่างด้านหน้าไว้ 2 ช่องเพื่อเปิดพอร์ต USB และอีเทอร์เน็ตของ RPi เว้นช่องว่างด้านล่างไว้ 2 ช่องเพื่อร้อยสายไฟและขั้วต่อของแหล่งจ่ายไฟ (ดูรูปที่ 2) นอกจากนี้ ให้เว้นช่องว่างระบายอากาศไว้เพื่อให้อากาศถ่ายเทได้สะดวกเพื่อให้ระบบเย็นลง

รูปที่ 2: การออกแบบเคสสำหรับบล็อค

หลังจากออกแบบเคสฮาร์ดแวร์ตามที่อธิบายไว้ข้างต้นแล้ว ให้พิมพ์แบบ 3 มิติ คุณสามารถออกแบบเองได้หากต้องการ หรือจะเลือกใช้ระบบแบบแร็คก็ได้ และตั้งค่าระบบระบายความร้อนและซีพียูในการตั้งค่าแร็ค

ระบบระบายความร้อน

ระบบระบายความร้อนที่ดีสำหรับซูเปอร์คอมพิวเตอร์เป็นสิ่งจำเป็น เนื่องจากซีพียูจะต้องทำงานที่ซับซ้อนและอาจร้อนขึ้นอย่างรวดเร็ว ขอแนะนำให้ใช้ระบบระบายความร้อนแบบคู่ โดยใช้เทอร์โมอิเล็กทริกก่อนแล้วจึงระบายความร้อนด้วยน้ำ หากต้องการผลลัพธ์ที่ดีขึ้น สามารถใช้สารหล่อเย็นแบบของเหลวแทนน้ำได้

สำหรับอ่างเก็บน้ำ/สารหล่อเย็น คุณสามารถใช้ภาชนะทรงกระบอกใสที่ปิดสนิทซึ่งทำจากแก้วหรือพลาสติกที่ใส่ไว้ในเคสที่ออกแบบไว้ก่อนหน้านี้ได้ อ่างเก็บน้ำจะต้องป้องกันการรั่วซึมเพื่อหลีกเลี่ยงความเสียหายต่อส่วนประกอบอิเล็กทรอนิกส์ที่อยู่ใกล้เคียงหรือทำให้เกิดไฟฟ้าลัดวงจร

รูปที่ 3: ท่อทางเข้าและทางออกที่ติดตั้งในอ่างเก็บน้ำ

ตามที่แสดงในรูปที่ 3 ให้เจาะรูสำหรับท่อน้ำเข้าและน้ำออกในอ่างเก็บน้ำ และเจาะรูอีกรูหนึ่งสำหรับสายไฟของปั๊มน้ำแบบจุ่ม ต่อท่อน้ำและสายไฟเข้าด้วยกัน จากนั้นปิดรูด้วยกาวยางเพื่อให้แน่ใจว่าไม่มีน้ำรั่วจากอ่างเก็บน้ำ ดูรายละเอียดในรูปที่ 4 รูปที่ 5 และรูปที่ 6

รูปที่ 4 : เจาะรูทางเข้าและทางออกของน้ำให้แน่นหนาและป้องกันน้ำรั่วซึมด้วยกาว

รูปที่ 5: ฝาปิดถังน้ำ

รูปที่ 6: อ่างเก็บน้ำที่เต็มไปด้วยของเหลว

คลุมส่วนประกอบอิเล็กทรอนิกส์ในอ่างเก็บน้ำด้วยแผ่นพลาสติกหรือเทปกาวเพื่อป้องกันหยดน้ำที่เกิดจากความชื้นภายใน ไม่ก่อให้เกิดปัญหาใดๆ ใส่ท่อทางเข้าและทางออกไว้ในบล็อกระบายความร้อนด้วยน้ำอะลูมิเนียม (ดูรูปที่ 7 และรูปที่ 8) และต่อปั๊มน้ำและสายเทอร์โมอิเล็กทริกเข้ากับแหล่งจ่ายไฟ DC 5V

รูปที่ 7: การตั้งค่าโมดูลเทอร์โมอิเล็กทริกบนชิปโปรเซสเซอร์ของ RPi

รูปที่ 8: บล็อกอลูมิเนียมสำหรับระบายความร้อนด้วยน้ำ

การประกอบ

เมื่ออ่างเก็บน้ำปั๊มน้ำหล่อเย็นและระบบระบายความร้อนทั้งหมดพร้อมสำหรับการติดตั้งแล้ว ตอนนี้คุณสามารถประกอบส่วนประกอบต่างๆ และเริ่มสร้างบล็อกของซูเปอร์คอมพิวเตอร์ได้แล้ว ขั้นแรก ให้ยึดคอมพิวเตอร์บอร์ดเดียว RPi ไว้ภายในเคสที่คุณออกแบบไว้ ดังที่แสดงในรูปที่ 9 จากนั้นจึงติดตั้งบล็อกระบายความร้อนตัวแรกบนบล็อกนั้น จากนั้น ติดตั้ง RPi ตัวที่สองไว้ภายในเคส โดยตรวจสอบให้แน่ใจว่าพอร์ตต่างๆ อยู่ภายนอกและสามารถเข้าถึงได้ผ่านรอยตัดในเคสที่ทำขึ้นเพื่อจุดประสงค์นั้น

รูปที่ 9: RPI วางลงในเคส

ยึด RPi ตัวที่ 2 ด้วยสกรู จากนั้นจึงยึดเทอร์โมอิเล็กทริกและบล็อกระบายความร้อนไว้บนนั้นด้วย จากนั้นปิดด้านบนของเคส เพื่อให้ดูเท่และมองเห็นน้ำไหล ให้ใช้แผ่นอะคริลิกใสปิดเคส รายละเอียดสามารถดูได้ในรูปที่ 10 ถึงรูปที่ 12

รูปที่ 10: อ่างเก็บน้ำที่ยึดด้วย RPI ในตัว

รูปที่ 11: มุมมองด้านบน

อ้างอิงแผนผังการเชื่อมต่อที่แสดงในรูปที่ 13 จากนั้นเชื่อมต่อปั๊มน้ำและเครื่องทำความเย็นเทอร์โมอิเล็กทริกกับแหล่งจ่ายไฟ DC 5-12V, 2A และจ่ายไฟให้กับ RPi ด้วยแหล่งจ่ายไฟ DC 2A, 5V

รูปที่ 12: การติดตั้งโมดูลตัวระบายความร้อนด้วยน้ำ

ซอฟต์แวร์

ติดตั้งระบบปฏิบัติการ Raspbeian เวอร์ชันล่าสุดใน RPi สร้างหน่วยหลักที่จะแบ่งงานที่ซับซ้อนออกเป็นโหนดที่ประกอบกันทั้งหมด และควบคุมโหนดเหล่านี้สำหรับการประมวลผลและการคำนวณ เช่นเดียวกับซูเปอร์คอมพิวเตอร์ ในการดำเนินการดังกล่าว ให้เปิดเทอร์มินัล Linux และตั้งค่า MPI ติดตั้ง MiPIH และเตรียมโหนดหลักที่จะแบ่งและควบคุมงานในกลุ่มคอมพิวเตอร์

sudo apt-get update

เปลี่ยนรหัสผ่านผู้ใช้ 'pi'

ภายใต้ 'การทำงานเครือข่าย' เปลี่ยนชื่อโฮสต์เป็น nodeX โดยแทนที่ X ด้วยหมายเลขเฉพาะ (node1, node2 เป็นต้น) node1 จะเป็นหน่วยหลักของเรา

ตั้งค่าอีเทอร์เน็ต:

sudo nano /etc/dhcpcd.conf

ไปที่จุดสิ้นสุดของไฟล์และเพิ่มสิ่งต่อไปนี้:

interface eth0
static ip_address=10.0.0.1/24

แล้วสร้างเอกลักษณ์เฉพาะตัว:

ssh-keygen -t rsa
Setup master node
ssh-copy-id 10.0.0.1

ตอนนี้โหนดหลักพร้อมแล้ว เปิดเทอร์มินัลของโหนดที่สองและเชื่อมต่ออีเทอร์เน็ตกับ RPi ทั้งสองตัวด้วยขั้วต่ออีเทอร์เน็ตและทำซ้ำขั้นตอนข้างต้นในนั้นเช่นกัน หากต้องการเพิ่มโหนดเพิ่มเติม (ซึ่งอาจเป็นพันโหนด) ให้สร้างอิมเมจที่สามารถบูตได้ของการตั้งค่า RPi ข้างต้นและเตรียมการ์ด SD ของโหนดทั้งหมดด้วยอิมเมจเดียวกัน

รูปที่ 13: แผนผังการเชื่อมต่อของโครงการ

เชื่อมต่อทั้งหมดด้วยขั้วต่ออีเทอร์เน็ต จากนั้นบูตทั้งหมดและตั้งค่าเป็นโหนดของมาสเตอร์โดยใช้คำสั่งและการกำหนดค่าต่อไปนี้ เปิดเทอร์มินัลและรันคำสั่งต่อไปนี้บนแต่ละโหนดของซูเปอร์คอมพิวเตอร์:

sudo apt install mpich
python3-mpi4py

sudo apt ติดตั้ง mpich

python3-mpi4py ไพธอน3-mpi4py

เมื่อเสร็จสมบูรณ์แล้ว การทดสอบ MPI จะทำงานบนแต่ละโหนด:

mpiexec -n 1 hostname

จาก node1 (10.0.0.1) ให้รันคำสั่งต่อไปนี้:

mpiexec -n 4 –hosts 10.0.0.1,10.0.0.2,
10.0.0.2,10.0.0.4 hostname

เมื่อการตั้งค่าทุกอย่างเสร็จสิ้น คุณสามารถทดสอบระบบได้ เชื่อมต่อแต่ละโหนดและจ่ายไฟให้ทั้งหมด

หากต้องการทดสอบซู เปอร์คอมพิวเตอร์ ให้ดาวน์โหลดโค้ดจากGithub

เปิดเทอร์มินัลของโหนดมาสเตอร์และรันสิ่งต่อไปนี้ในเทอร์มินัล Linux:

mpiexec -n 1 python3 prime.py 1000

เมื่อคุณรันโค้ดข้างต้น งานอันซับซ้อนในการค้นหาจำนวนเฉพาะที่สูงถึง 1,000 หรือ 4,000 หรือแม้แต่ 100,000 จะถูกแบ่งออกไปยังโหนดทั้งหมดในระบบ และโหนดจะประมวลผลร่วมกันและคำนวณเพื่อให้ได้ผลลัพธ์ รูปที่ 14 แสดงวิธีการทำงานของโปรแกรม

รูปที่ 14: การรันโค้ด

ดาวน์โหลดซอร์สโค้ด

Related articles