คลัสเตอร์ Mini ITX Turing Pi 2 พร้อม RAM ขนาด 32 GB

คลัสเตอร์ Mini ITX Turing Pi 2 พร้อม RAM ขนาด 32 GB

สวัสดีชุมชน Habr! ฉันเพิ่งเขียนเกี่ยวกับคลัสเตอร์บอร์ดเวอร์ชันแรกของเรา [V1]. และวันนี้ฉันอยากจะบอกคุณว่าเราทำงานอย่างไรกับเวอร์ชันนี้ Turing V2 พร้อม 32 GB หน่วยความจำเข้าถึงโดยสุ่ม

เราชอบเซิร์ฟเวอร์ขนาดเล็กที่สามารถใช้สำหรับการพัฒนาในพื้นที่และการโฮสต์ในพื้นที่ เซิร์ฟเวอร์ของเราได้รับการออกแบบให้ทำงานตลอด 24 ชั่วโมงทุกวันไม่เหมือนกับคอมพิวเตอร์เดสก์ท็อปหรือแล็ปท็อป สามารถรวมเข้าด้วยกันได้อย่างรวดเร็ว ตัวอย่างเช่น มีโปรเซสเซอร์ 7 ตัวในคลัสเตอร์ และหลังจาก 4 นาทีก็มีโปรเซสเซอร์ 5 ตัว (ไม่มีอุปกรณ์เครือข่ายเพิ่มเติม) และทั้งหมดนี้ ในรูปแบบกะทัดรัด เงียบและประหยัดพลังงาน

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

ภายใต้การตัดทอน วิธีที่เราเปลี่ยนจาก V1 เป็น V2 และวิธีที่เราต้องใช้ฟอร์มแฟคเตอร์ Raspberry Pi CM4 ใหม่

หลังจากสร้างคลัสเตอร์สำหรับ 7 โหนดแล้ว คำถามคือ - อะไรต่อไป จะเพิ่มมูลค่าสินค้าได้อย่างไร? 8, 10 หรือ 16 โหนด? ผู้ผลิตโมดูลใดบ้าง เมื่อพิจารณาถึงผลิตภัณฑ์โดยรวม เราตระหนักว่าสิ่งสำคัญที่นี่ไม่ใช่จำนวนโหนดหรือใครเป็นผู้ผลิต แต่เป็นสาระสำคัญของคลัสเตอร์ในฐานะหน่วยการสร้าง เราต้องมองหาหน่วยการสร้างขั้นต่ำที่

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

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

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

เราเริ่มต้นด้วยการกำหนดจำนวนโหนด

จำนวนโหนด

ด้วยการตัดสินเชิงตรรกะอย่างง่าย เราตระหนักว่า 4 โหนดเป็นตัวเลือกที่ดีที่สุดสำหรับบล็อกคลัสเตอร์ขั้นต่ำ 1 โหนดไม่ใช่คลัสเตอร์ 2 โหนดไม่เพียงพอ (1 มาสเตอร์ 1 ผู้ปฏิบัติงาน ไม่มีความเป็นไปได้ในการปรับขนาดภายในบล็อก โดยเฉพาะอย่างยิ่งสำหรับตัวเลือกที่ต่างกัน) 3 โหนดดูโอเค แต่ไม่ใช่ทวีคูณของพลัง 2 และปรับขนาดภายใน บล็อกมีจำนวนจำกัด 6 โหนดมาในราคาเกือบจะเท่ากับ 7 โหนด (จากประสบการณ์ของเรา ราคานี้แพงมากอยู่แล้ว) 8 โหนดก็เยอะ ไม่เหมาะกับฟอร์มแฟกเตอร์ mini ITX และโซลูชัน PoC ที่แพงกว่าด้วยซ้ำ

สี่โหนดต่อบล็อกถือเป็นค่าเฉลี่ยสีทอง:

  • วัสดุต่อคลัสเตอร์บอร์ดน้อยกว่า จึงถูกกว่าในการผลิต
  • ทวีคูณของ 4 รวม 4 บล็อกให้ 16 ตัวประมวลผลทางกายภาพ
  • วงจรเสถียร 1 นายและ 3 คน
  • รูปแบบที่ต่างกันมากขึ้น โมดูลการคำนวณทั่วไป + การคำนวณแบบเร่งความเร็ว
  • ฟอร์มแฟกเตอร์ mini ITX พร้อมไดรฟ์ SSD และการ์ดเอ็กซ์แพนชัน

โมดูลการคำนวณ

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

คลัสเตอร์ Mini ITX Turing Pi 2 พร้อม RAM ขนาด 32 GB
Turing Pi Compute Module รองรับ Raspberry Pi CM4

โดยทั่วไปแล้ว ในการค้นหาโมดูล ตลาดโมดูลคอมพิวเตอร์ทั้งหมดจะเปิดขึ้นตั้งแต่โมดูลขนาดเล็กที่มี RAM 128 MB ถึง RAM 8 GB โมดูลที่มี RAM ขนาด 16 GB และอื่น ๆ อยู่ข้างหน้า สำหรับการโฮสต์แอปพลิเคชันขอบที่ใช้เทคโนโลยีเนทีฟบนคลาวด์ RAM ขนาด 1 GB นั้นไม่เพียงพอ และการปรากฏตัวล่าสุดของโมดูลสำหรับ RAM ขนาด 2, 4 และแม้แต่ 8 GB ทำให้มีที่ว่างสำหรับการเติบโต พวกเขาพิจารณาถึงตัวเลือกที่มีโมดูล FPGA สำหรับแอปพลิเคชันแมชชีนเลิร์นนิง แต่การสนับสนุนของพวกเขาล่าช้าเนื่องจากระบบนิเวศของซอฟต์แวร์ไม่ได้รับการพัฒนา ในขณะที่ศึกษาตลาดโมดูล เราเกิดแนวคิดในการสร้างอินเทอร์เฟซสากลสำหรับโมดูล และใน V2 เราเริ่มรวมอินเทอร์เฟซของโมดูลการคำนวณเข้าด้วยกัน สิ่งนี้จะช่วยให้เจ้าของเวอร์ชัน V2 สามารถเชื่อมต่อโมดูลจากผู้ผลิตรายอื่นและผสมเข้าด้วยกันสำหรับงานเฉพาะ

V2 รองรับสาย Raspberry Pi 4 Compute Module (CM4) ทั้งหมด รวมถึงรุ่น Lite และโมดูล RAM ขนาด 8 GB

คลัสเตอร์ Mini ITX Turing Pi 2 พร้อม RAM ขนาด 32 GB

รอบนอก

หลังจากระบุผู้จำหน่ายโมดูลและจำนวนโหนดแล้ว เราก็เข้าหาบัส PCI ซึ่งเป็นที่ตั้งของอุปกรณ์ต่อพ่วง บัส PCI เป็นมาตรฐานสำหรับอุปกรณ์ต่อพ่วงและพบได้ในโมดูลคอมพิวเตอร์เกือบทั้งหมด เรามีโหนดหลายโหนด และตามหลักแล้ว แต่ละโหนดควรสามารถแชร์อุปกรณ์ PCI ในโหมดคำขอพร้อมกันได้ ตัวอย่างเช่น หากเป็นดิสก์ที่เชื่อมต่อกับบัส ก็จะพร้อมใช้งานในทุกโหนด เราเริ่มมองหาสวิตช์ PCI ที่รองรับหลายโฮสต์และพบว่าไม่มีสวิตช์ใดที่ตรงกับความต้องการของเรา โซลูชันทั้งหมดเหล่านี้ส่วนใหญ่จำกัดอยู่ที่ 1 โฮสต์หรือหลายโฮสต์ แต่ไม่มีโหมดคำขอพร้อมกันไปยังปลายทาง ปัญหาที่สองคือราคาสูงถึง 50 ดอลลาร์หรือมากกว่าต่อชิป ใน V2 เราตัดสินใจเลื่อนการทดลองกับสวิตช์ PCI (เราจะกลับมาที่สวิตช์เหล่านี้ในภายหลังเมื่อเราพัฒนา) และเดินไปตามเส้นทางของการกำหนดบทบาทสำหรับแต่ละโหนด: สองโหนดแรกเปิดเผยพอร์ตมินิ PCI Express ต่อโหนด โหนดที่สาม เปิดเผยคอนโทรลเลอร์ SATA 2 พอร์ต 6 Gbps ในการเข้าถึงดิสก์จากโหนดอื่น คุณสามารถใช้ระบบไฟล์เครือข่ายภายในคลัสเตอร์ ทำไมจะไม่ล่ะ?

แอบมอง

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

คลัสเตอร์ Mini ITX Turing Pi 2 พร้อม RAM ขนาด 32 GBคลัสเตอร์ Mini ITX Turing Pi 2 พร้อม RAM ขนาด 32 GBคลัสเตอร์ Mini ITX Turing Pi 2 พร้อม RAM ขนาด 32 GB

ด้วยเหตุนี้ เราจึงได้คลัสเตอร์ยูนิตที่มีโหนด 4 พิน 260 โหนด, พอร์ต mini PCIe (Gen 2) 2 พอร์ต, พอร์ต SATA (Gen 2) 3 พอร์ต บอร์ดนี้มี Managed Switch แบบ Layer-2 พร้อมรองรับ VLAN พอร์ต mini PCIe ถูกลบออกจากโหนดแรก ซึ่งคุณสามารถติดตั้งการ์ดเครือข่ายและรับพอร์ตอีเทอร์เน็ตหรือโมเด็ม 5G อื่น และสร้างเราเตอร์สำหรับเครือข่ายบนคลัสเตอร์และพอร์ตอีเทอร์เน็ตจากโหนดแรก

คลัสเตอร์ Mini ITX Turing Pi 2 พร้อม RAM ขนาด 32 GB

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

ใบสมัคร

โครงสร้างพื้นฐาน Edge สำหรับแอปพลิเคชันและบริการที่โฮสต์เอง

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

เวิร์กสเตชัน ARM

ด้วย RAM สูงสุด 32 GB ต่อคลัสเตอร์ โหนดแรกสามารถใช้กับ OS เวอร์ชันเดสก์ท็อป (เช่น Ubuntu Desktop 20.04 LTS) และโหนดที่เหลืออีก 3 โหนดสำหรับงานคอมไพล์ ทดสอบ และดีบัก พัฒนาโซลูชันเนทีฟบนคลาวด์สำหรับ ARM กระจุก เป็นโหนดสำหรับ CI / CD บนโครงสร้างพื้นฐาน ARM edge ในผลิตภัณฑ์

คลัสเตอร์ Turing V2 ด้วยโมดูล CM4 เกือบจะเหมือนกันทางสถาปัตยกรรม (ความแตกต่างใน ARMv8 เวอร์ชันรอง) กับคลัสเตอร์ตามอินสแตนซ์ AWS Graviton ตัวประมวลผลโมดูล CM4 ใช้สถาปัตยกรรม ARMv8 เพื่อให้คุณสามารถสร้างอิมเมจและแอปพลิเคชันสำหรับอินสแตนซ์ AWS Graviton 1 และ 2 ซึ่งทราบกันดีว่ามีราคาถูกกว่าอินสแตนซ์ x86 มาก

ที่มา: will.com