การออกแบบคลัสเตอร์ HPC
HPC Cluster Design
ในหลักการออกแบบระบบ HPC ที่ควรจะเป็นนั้น จะเป็นการนำเครื่องคอมพิวเตอร์ความเร็วสูงจำนวนน้อยเครื่องมาติดตั้งเป็นระบบคลัสเตอร์ แทนที่จะใช้มากเครื่องเพื่อลดการติดต่อระหว่างโหนดผ่าน Network เนื่องจาก Network ของระบบมีความเร็วน้อยที่สุด จะเป็นคอขวดของระบบ
ระบบ HPC นั้น FrontEnd Node จะทำหน้าที่แชร์ไฟล์ และกระจายโหลดงานไปยังเครื่อง Compute Node โหลดในการประมวลผลต่าง ๆ จะเกิดอยู่ที่เครื่อง Compute Node ซึ่งจะติดต่อกันระหว่างเครื่องโดยผ่าน Network ดังนั้นในการออกแบบระบบ HPC ส่วนประกอบต่าง ๆ ของระบบจึงควรสอดคล้องกัน โดยตัวอย่างคลัสเตอร์ขนาดเล็ก (8 Compute Node) จะออกแบบแต่ละส่วน ดังนี้
FrontEnd Node
ทำหน้าทีหลักเป็นเครื่องบริหารจัดการระบบ จัดการคิวในการประมวลผล แชร์ไฟล์ไปยังเครื่อง Compute Node ในระบบ และ Compile Software ซึ่งไม่ต้องการ CPU ที่ต้องแรงมาก โดยใส่ CPUเพียงตัวเดียวก็น่าจะเพียงพอต่อการทำงาน ส่วน RAM ไม่ต้องใส่เยอะ ซัก 16GB-32GB ก็เพียงพอ โดยโหลดส่วนใหญ่ของ FrontEndจะถูกใช้ในการบริหารจัดการระบบ และการแชร์ดิสก์ ส่วน Storage ของ FrontEnd แบ่งออกเป็น 2 ส่วน ส่วนแรกแบ่งดิสก์เล็ก ๆ 2 ลูก ทำ Raid1 สำหรับติดตั้ง OS อีกส่วนหนึ่งใช้ดิสก์กลุ่มหนึ่ง ทำ RAID5 หรือ RAID6 สำหรับแชร์ดิสก์ไปยังเครื่อง Compute โดยทุกเครื่องจะเห็นไฟล์ที่เดียวกัน ซึ่งดิสก์ตรงนี้แนะนำใช้เป็น nvme หรือ SSD เพื่อรองรับการอ่านเขียนจากเครื่อง Compute Node หากดิสก์ตรงนี้ช้า ก็จะเป็นคอขวดของระบบ หากระบบมีCompute Node มากขึ้น เช่น 16 Compute Nodes ขึ้นไป แนะนำให้ทำระบบ Parallel File System เพื่อแชร์ไฟล์แยกต่างหาก เพื่อรองรับโหลดการอ่านเขียนจาก Compute Node เช่น Lustreหรือ BeeGFS
CPU | 1 x Intel/AMD at lease 8Core/16 Thread |
RAM | 16-32GB |
Storage | 2 x 240GB SSD 7200rpm (OS) 8 x 3.2 TB MU SSD RAID6 (Data/Share Storage) *Depend on data size **nvme prefer |
LAN | 1 x 10/25GbE (Private) 1 x 1GbE or 1 x 10/25 GbE(Public) 1 x Management (IPMI) |
PSU | Redundant hot-swap supplies |
Compute Node
เป็นส่วนประมวลผลข้อมูล ควรเลือก CPU ที่เร็วที่สุดหรือ Core มากๆ ในงบประมาณที่สามารถจัดหาได้ โดยเลือกใส่ 2 CPU ต่อเครื่อง ขนาดของ RAM ขึ้นอยู่กับ Application ที่รันว่าใช้ RAM เยอะหรือไม่ และเลือกการ์ดเครือข่ายความเร็วสูงสำหรับติดต่อกันระหว่างเครื่อง เพื่อไม่ให้เป็นคอขวดที่ Network
CPU | 2 x AMD/Intel CPU |
RAM | 64-128GB ** Depend on Application |
HDD | 1 x 240 GB SSD |
LAN | 1 x 10/25GbE (Private) 1 x Management (IPMI) |
PSU | Redundant hot-swap supplies |
Compute Node (GPU)
Spec จะเหมือนกับ Compute Node แต่ต้องดูเครื่องว่ารองการใส่ GPU ได้หรือไม่ สามารถเช็คเครื่อง Server รุ่นที่ Certified สามารถใส่การ์ด GPU ได้ที่
https://www.nvidia.com/en-us/data-center/resources/vgpu-certified-servers/
Network
Network ของระบบคลัสเตอร์อย่างน้อยต้องมี 2 วง
- Public Network : จะอยู่ที่ FrontEnd ไว้เป็น Networkที่ User เข้ามาใช้งานระบบ
- Private Network : ไว้สำหรับติดต่อระหว่างเครื่องในระบบคลัสเตอร์ แนะนำอย่างน้อย Networkควรมีความเร็ว 10/25GbE
หากมีงบประมาณมากพอควรเพิ่ม Network ความเร็วสูงอีกวงหนึ่งเพื่อให้เครื่องติดต่อกันผ่านวงนี้แทนเพื่อให้ติดต่อกันระหว่างเครื่องได้เร็วขึ้น
- Hispeed Network : Infiniband EDR / 100 GbE Ethernet
และหากเครื่องคอมพิวเตอร์มีพอร์ต Management (ILO,IDRAC,BMC) ที่สามารถสั่งคำสั่ง IPMI ไปยังอุปกรณ์ได้ ให้เพิ่ม Network Management อีกวงหนึ่ง
- Management Network : Gigabit Ethernet
Example Spec
Frontend spec : HPE DL325 gen10
CPU | 1 x AMD Epyc 8Core/16 Thread |
RAM | 16-32GB |
Storage | 2 x 240GB SSD 7200rpm (OS) 10 x 3.2 TB MU SSD RAID6 (Data/Share Storage) *Depend on data size **nvme prefer |
LAN | 2 x 1GbE (Public,IPMI management) 1 x 10/25GbE (Private) 1 x Management (IPMI) |
PSU | Redundant hot-swap supplies |
Compute node spec (8 nodes)
Cpmpute Nodes : HPE DL385 gen10 Plus (6 x Compute Nodes)
CPU | 2 x AMD 32 Cores |
RAM | 64-128GB ** Depend on Application |
HDD | 1 x 240 GB SSD |
LAN | 1 x 10/25GbE (Private) 1 x Management (IPMI) |
PSU | Redundant hot-swap supplies |
GPU Nodes : HPE DL385 gen10 Plus ( 2 x GPU Node)
CPU | 2 x AMD 32 Cores |
RAM | 64-128GB ** Depend on Application |
HDD | 1 x 240 GB SSD |
LAN | 1 x 10/25GbE (Private) 1 x Management (IPMI) |
PSU | Redundant hot-swap supplies |
GPU | 2 x Nvidia RTX8000 |
Network : HPE SN2010M
- 100GbE Switch (Compute Network)
- 10 x 3m DAC SFP28
Network : HPE OfficeConnect 1420 16G Switch
- 1GbE Switch
- 10 x 3m CAT5E Patch Cable