คุณต้องการเครื่องที่สามารถส่งการคำนวณจุดลอยตัวได้หลายร้อยล้านล้านต่อวินาทีหรือไม่? หรือคุณต้องการเรื่องราวเกี่ยวกับซูเปอร์คอมพิวเตอร์ในห้องใต้ดินของคุณพลิกเบรกเกอร์ได้อย่างไร? การสร้างคลัสเตอร์ High Performance Compute ของคุณเอง หรือที่เรียกว่า supercomputer ถือเป็นความท้าทายสำหรับผู้เชี่ยวชาญทุกคนที่มีเวลาว่างช่วงสุดสัปดาห์และเงินสดบางส่วนก็สามารถรับมือได้ ในทางเทคนิคแล้ว ซูเปอร์คอมพิวเตอร์แบบมัลติโปรเซสเซอร์ที่ทันสมัยคือเครือข่ายของคอมพิวเตอร์ที่ทำงานร่วมกันเพื่อแก้ปัญหา บทความนี้จะอธิบายสั้นๆ ในแต่ละขั้นตอนในกระบวนการ โดยเน้นที่ฮาร์ดแวร์และซอฟต์แวร์
ขั้นตอน
ขั้นตอนที่ 1 กำหนดส่วนประกอบฮาร์ดแวร์และทรัพยากรที่จำเป็นก่อน
คุณจะต้องใช้เฮดโหนด โหนดประมวลผลที่เหมือนกันอย่างน้อยหนึ่งโหล สวิตช์อีเทอร์เน็ต หน่วยจ่ายไฟ และชั้นวาง กำหนดความต้องการไฟฟ้า ความเย็น และพื้นที่ที่ต้องการ ตัดสินใจเลือกที่อยู่ IP ที่คุณต้องการสำหรับเครือข่ายส่วนตัวของคุณ ตั้งชื่อโหนดว่าอะไร คุณต้องการติดตั้งแพ็คเกจซอฟต์แวร์ใด และเทคโนโลยีใดที่คุณต้องการให้ความสามารถในการคำนวณแบบขนาน (เพิ่มเติมในภายหลัง)
- แม้ว่าฮาร์ดแวร์จะมีราคาแพง แต่ซอฟต์แวร์ทั้งหมดที่ระบุไว้ในวิธีการนี้ฟรี และส่วนใหญ่เป็นโอเพ่นซอร์ส
- หากคุณต้องการดูว่าซูเปอร์คอมพิวเตอร์ของคุณเร็วแค่ไหนในทางทฤษฎี ให้ใช้เครื่องมือนี้:
ขั้นตอนที่ 2 สร้างโหนดคอมพิวท์
คุณจะต้องประกอบโหนดคอมพิวท์หรือซื้อเซิร์ฟเวอร์ที่สร้างไว้ล่วงหน้า
- เลือกแชสซีเซิร์ฟเวอร์คอมพิวเตอร์ที่เพิ่มพื้นที่ ความเย็น และประหยัดพลังงาน
- หรือคุณสามารถใช้เซิร์ฟเวอร์ที่ล้าสมัยได้หลายสิบเครื่อง ซึ่งทั้งหมดจะมีมากกว่าผลรวมของชิ้นส่วน แต่ช่วยให้คุณประหยัดเงินก้อนใหญ่ได้ โปรเซสเซอร์ อะแดปเตอร์เครือข่าย และมาเธอร์บอร์ดทั้งหมดควรเหมือนกันเพื่อให้ทั้งระบบสามารถเล่นด้วยกันได้อย่างสวยงาม แน่นอน อย่าลืม RAM และที่เก็บข้อมูลสำหรับแต่ละโหนดและอย่างน้อยหนึ่งไดรฟ์ออปติคัลสำหรับเฮดโหนด
ขั้นตอนที่ 3 ติดตั้งเซิร์ฟเวอร์ลงในแร็ค
เริ่มจากด้านล่างเพื่อไม่ให้ชั้นวางหนักด้านบน คุณจะต้องมีเพื่อนมาช่วย - เซิร์ฟเวอร์ที่หนาแน่นอาจหนักมาก และการนำพวกเขาเข้าไปในรางที่ยึดไว้ในแร็คนั้นทำได้ยาก
ขั้นตอนที่ 4 ติดตั้งสวิตช์อีเทอร์เน็ตเหนือแชสซีเซิร์ฟเวอร์
ใช้เวลานี้เพื่อกำหนดค่าสวิตช์: อนุญาตให้ใช้ขนาดเฟรมจัมโบ้ 9000 ไบต์ ตั้งค่าที่อยู่ IP เป็นที่อยู่คงที่ที่คุณเลือกในขั้นตอนที่ 1 และปิดโปรโตคอลการกำหนดเส้นทางที่ไม่จำเป็น เช่น SMTP Snooping
ขั้นตอนที่ 5. ติดตั้ง PDU (หน่วยจ่ายไฟ)
คุณอาจต้องใช้ไฟ 220 โวลต์สำหรับการประมวลผลประสิทธิภาพสูง ทั้งนี้ขึ้นอยู่กับกระแสไฟที่โหนดของคุณอาจต้องการที่โหลดสูงสุด
ขั้นตอนที่ 6 เมื่อติดตั้งทุกอย่างแล้ว คุณสามารถเริ่มกระบวนการกำหนดค่าได้
Linux เป็นระบบปฏิบัติการโดยพฤตินัยสำหรับคลัสเตอร์ HPC ไม่เพียง แต่เป็นสภาพแวดล้อมในอุดมคติสำหรับการคำนวณทางวิทยาศาสตร์เท่านั้น แต่ยังไม่ต้องเสียค่าใช้จ่ายในการติดตั้งบนโหนดหลายร้อยหรือหลายพันโหนด ลองนึกภาพว่าการติดตั้ง Windows บนโหนดทั้งหมดนั้นมีค่าใช้จ่ายเท่าไร!
- เริ่มต้นด้วยการติดตั้ง BIOS ของเมนบอร์ดและเฟิร์มแวร์เวอร์ชันล่าสุด ซึ่งควรจะเหมือนกันในทุกโหนด
- ติดตั้ง distro linux ที่คุณต้องการในแต่ละโหนดด้วย UI แบบกราฟิกสำหรับโหนดส่วนหัว ตัวเลือกยอดนิยม ได้แก่ CentOS, OpenSuse, Scientific Linux, RedHat และ SLES
- ผู้เขียนคนนี้แนะนำเป็นอย่างยิ่งให้ใช้ Rocks Cluster Distribution นอกเหนือจากการติดตั้งเครื่องมือทั้งหมดที่จำเป็นสำหรับคลัสเตอร์การประมวลผลแล้ว Rocks ยังใช้วิธีที่ยอดเยี่ยมในการ 'แจกจ่าย' อินสแตนซ์จำนวนมากของตัวเองไปยังโหนดอย่างรวดเร็วโดยใช้การบู๊ต PXE และขั้นตอน 'Kick Start' ของ Red Hat
ขั้นตอนที่ 7 ติดตั้งอินเทอร์เฟซการส่งข้อความ ตัวจัดการทรัพยากร และไลบรารีที่จำเป็นอื่นๆ
หากคุณไม่ได้ติดตั้ง Rocks ในขั้นตอนก่อนหน้า คุณจะต้องตั้งค่าซอฟต์แวร์ที่จำเป็นด้วยตนเองเพื่อเปิดใช้งานกลไกการคำนวณแบบขนาน
- ก่อนอื่น คุณจะต้องมีระบบจัดการทุบตีแบบพกพา เช่น Torque Resource Manager ซึ่งช่วยให้คุณแยกย่อยและแจกจ่ายงานไปยังหลายเครื่องได้
- จับคู่แรงบิดกับ Maui Cluster Scheduler เพื่อสิ้นสุดการตั้งค่า
- ถัดไป คุณจะต้องติดตั้งอินเทอร์เฟซการส่งข้อความ ซึ่งจำเป็นสำหรับแต่ละกระบวนการบนโหนดคอมพิวท์ที่แยกจากกันเพื่อแบ่งปันข้อมูลเดียวกัน OpenMP เป็นเกมง่ายๆ
- อย่าลืมไลบรารีคณิตศาสตร์และคอมไพเลอร์แบบมัลติเธรดเพื่อสร้างโปรแกรมคอมพิวเตอร์แบบขนานของคุณ ฉันพูดถึงว่าคุณควรติดตั้ง Rocks หรือไม่?
ขั้นตอนที่ 8 เชื่อมโยงโหนดคอมพิวท์เข้าด้วยกัน
โหนดหลักจะส่งงานคำนวณไปยังโหนดประมวลผล ซึ่งจะต้องส่งผลลัพธ์กลับมา รวมถึงการส่งข้อความถึงกัน ยิ่งเร็วยิ่งดี
- ใช้เครือข่ายอีเทอร์เน็ตส่วนตัวเพื่อเชื่อมต่อโหนดทั้งหมดในคลัสเตอร์
- เฮดโหนดยังสามารถทำหน้าที่เป็นเซิร์ฟเวอร์ NFS, PXE, DHCP, TFTP และ NTP ผ่านเครือข่ายอีเทอร์เน็ต
- คุณต้องแยกเครือข่ายนี้ออกจากเครือข่ายสาธารณะ ซึ่งจะทำให้มั่นใจได้ว่าแพ็กเก็ตการออกอากาศจะไม่รบกวนเครือข่ายอื่นๆ ใน LAN ของคุณ
ขั้นตอนที่ 9 ทดสอบคลัสเตอร์
สิ่งสุดท้ายที่คุณอาจต้องการทำก่อนปล่อยพลังการประมวลผลทั้งหมดนี้ให้กับผู้ใช้ของคุณคือทดสอบประสิทธิภาพ เกณฑ์มาตรฐาน HPL (High Performance Lynpack) เป็นตัวเลือกยอดนิยมสำหรับการวัดความเร็วการคำนวณของคลัสเตอร์ คุณจะต้องคอมไพล์จากซอร์สด้วยการปรับแต่งที่เป็นไปได้ทั้งหมดที่คอมไพเลอร์เสนอให้สำหรับสถาปัตยกรรมที่คุณเลือก
- แน่นอน คุณต้องรวบรวมจากแหล่งที่มาพร้อมตัวเลือกการเพิ่มประสิทธิภาพที่เป็นไปได้ทั้งหมดสำหรับแพลตฟอร์มของคุณ ตัวอย่างเช่น หากใช้ CPU ของ AMD ให้คอมไพล์ด้วย Open64 ด้วยระดับการเพิ่มประสิทธิภาพ -0fast
- เปรียบเทียบผลลัพธ์ของคุณบน TOP500.org เพื่อเปรียบเทียบคลัสเตอร์ของคุณกับซูเปอร์คอมพิวเตอร์ 500 ที่เร็วที่สุดในโลก!
วิดีโอ - การใช้บริการนี้ อาจมีการแบ่งปันข้อมูลบางอย่างกับ YouTube
เคล็ดลับ
- สำหรับความเร็วเครือข่ายที่สูงมาก ให้ดูที่อินเทอร์เฟซเครือข่าย InfiniBand พร้อมที่จะจ่ายราคาพรีเมี่ยมแม้ว่า
- IPMI สามารถทำให้การบริหารคลัสเตอร์ขนาดใหญ่เป็นเรื่องง่ายโดยการจัดหา KVM-over-IP การหมุนเวียนพลังงานจากระยะไกล และอื่นๆ
- ใช้ปมประสาทเพื่อตรวจสอบโหลดการคำนวณบนโหนด