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

การส่งข้อความเป็นองค์ประกอบพื้นฐานของคลัสเตอร์คอมพิวเตอร์ ทั้งหมด คลัสเตอร์คอมพิวเตอร์ทั้งหมด ตั้งแต่ Beowulf ที่สร้างเองไปจนถึง ซูเปอร์คอมพิวเตอร์ที่เร็วที่สุดในโลก ล้วนอาศัยการส่งข้อความเพื่อประสานกิจกรรมของโหนดจำนวนมากที่ประกอบกันขึ้น [ 1 ] [ 2 ]การส่งข้อความในคลัสเตอร์คอมพิวเตอร์ที่สร้างด้วยเซิร์ฟเวอร์และสวิตช์ ทั่วไป ถูกใช้โดยบริการอินเทอร์เน็ตแทบทุกบริการ [ 1 ]
เมื่อไม่นานมานี้ การใช้คลัสเตอร์คอมพิวเตอร์ที่มีโหนดมากกว่าหนึ่งพันโหนดได้แพร่หลายมากขึ้น เมื่อจำนวนโหนดในคลัสเตอร์เพิ่มขึ้น ความซับซ้อนของระบบย่อยการสื่อสารที่เพิ่มขึ้นอย่างรวดเร็วทำให้ความล่าช้าในการส่งข้อความผ่านการเชื่อมต่อกลายเป็นปัญหาประสิทธิภาพที่สำคัญในการดำเนินการโปรแกรมแบบขนาน[ 3 ]
อาจใช้เครื่องมือเฉพาะเพื่อจำลอง แสดงภาพ และทำความเข้าใจประสิทธิภาพของการส่งข้อความบนคลัสเตอร์คอมพิวเตอร์ ก่อนที่จะประกอบคลัสเตอร์คอมพิวเตอร์ขนาดใหญ่โปรแกรมจำลองแบบอิงตามการติดตามสามารถใช้โหนดจำนวนเล็กน้อยเพื่อช่วยทำนายประสิทธิภาพของการส่งข้อความบนการกำหนดค่าที่ใหญ่ขึ้น หลังจากการทดสอบบนโหนดจำนวนเล็กน้อย โปรแกรมจำลองจะอ่านไฟล์บันทึก การดำเนินการและการถ่ายโอนข้อความ และจำลองประสิทธิภาพของระบบย่อยการส่งข้อความเมื่อมีการแลกเปลี่ยนข้อความจำนวนมากระหว่างโหนดจำนวนมากยิ่งขึ้น[ 4 ] [ 5 ]
ข้อความและการคำนวณ
แนวทางการส่งข้อความ
ในอดีต วิธีการสื่อสารระหว่างโหนดคลัสเตอร์โดยทั่วไปมีสองวิธี ได้แก่ PVM ( Parallel Virtual Machine)และ MPI ( Message Passing Interface ) [ 6 ]อย่างไรก็ตาม ปัจจุบัน MPI ได้กลายเป็นมาตรฐานโดยพฤตินัยสำหรับการส่งข้อความบนคลัสเตอร์คอมพิวเตอร์[ 7 ]
PVM มีมาก่อน MPI และได้รับการพัฒนาที่ห้องปฏิบัติการแห่งชาติโอ๊คริดจ์ราวปี 1989 โดยมีชุดไลบรารีซอฟต์แวร์ที่ช่วยให้โหนดการคำนวณทำหน้าที่เป็น "เครื่องเสมือนแบบขนาน" โดยมีสภาพแวดล้อมการทำงานสำหรับการส่งข้อความ การจัดการงานและทรัพยากร และการแจ้งเตือนข้อผิดพลาด และต้องติดตั้งโดยตรงบนทุกโหนดคลัสเตอร์ PVM สามารถใช้งานได้โดยโปรแกรมของผู้ใช้ที่เขียนด้วยภาษาC , C++ หรือFortranเป็นต้น[ 6 ] [ 8 ]
ต่างจาก PVM ซึ่งมีการใช้งานที่เป็นรูปธรรม MPI เป็นข้อกำหนดมากกว่าชุดไลบรารีที่เฉพาะเจาะจง ข้อกำหนดนี้เกิดขึ้นในช่วงต้นทศวรรษ 1990 จากการอภิปรายระหว่าง 40 องค์กร โดยความพยายามเริ่มต้นได้รับการสนับสนุนจากARPAและNational Science Foundationการออกแบบ MPI ดึงเอาคุณสมบัติต่างๆ ที่มีอยู่ในระบบเชิงพาณิชย์ในขณะนั้นมาใช้ จากนั้นข้อกำหนด MPI ก็ก่อให้เกิดการใช้งานเฉพาะ การใช้งาน MPI โดยทั่วไปจะใช้TCP/IPและการเชื่อมต่อซ็อกเก็ต[ 6 ] ปัจจุบัน MPI เป็นแบบจำลองการสื่อสารที่แพร่หลายซึ่งช่วยให้สามารถเขียน โปรแกรมแบบขนานได้ในภาษาต่างๆ เช่นC , Fortran , Pythonเป็นต้น[ 8 ]ข้อกำหนด MPI ได้ถูกนำไปใช้ในระบบต่างๆ เช่นMPICHและOpen MPI [ 8 ] [ 9 ]
การทดสอบ การประเมิน และการเพิ่มประสิทธิภาพ

คลัสเตอร์คอมพิวเตอร์ใช้กลยุทธ์หลายอย่างในการจัดการกับการกระจายการประมวลผลไปยังโหนดหลายโหนดและค่าใช้จ่ายในการสื่อสารที่เกิดขึ้น คลัสเตอร์คอมพิวเตอร์บางแห่ง เช่นTianhe-Iใช้โปรเซสเซอร์ที่แตกต่างกันสำหรับการส่งข้อความกับโปรเซสเซอร์ที่ใช้สำหรับการคำนวณ Tianhe-I ใช้ โปรเซสเซอร์ FeiTeng-1000 มากกว่าสองพันตัว เพื่อเพิ่มประสิทธิภาพการทำงานของระบบส่งข้อความที่เป็นกรรมสิทธิ์ ในขณะที่การคำนวณดำเนินการโดยโปรเซสเซอร์XeonและNvidia Tesla [ 10 ] [ 11 ]
แนวทางหนึ่งในการลดภาระการสื่อสารคือการใช้พื้นที่ใกล้เคียง (เรียกอีกอย่างว่าlocales ) สำหรับงานเฉพาะ โดยงานคำนวณจะถูกกำหนดให้กับ "พื้นที่ใกล้เคียง" เฉพาะในคลัสเตอร์ เพื่อเพิ่มประสิทธิภาพโดยใช้โปรเซสเซอร์ที่อยู่ใกล้กันมากขึ้น[ 3 ]อย่างไรก็ตาม เนื่องจากในหลายกรณีโครงสร้างทางกายภาพ ที่แท้จริง ของโหนดคลัสเตอร์คอมพิวเตอร์และการเชื่อมต่อระหว่างกันอาจไม่เป็นที่รู้จักของนักพัฒนาแอปพลิเคชัน การพยายามปรับแต่งประสิทธิภาพในระดับโปรแกรมแอปพลิเคชันจึงค่อนข้างยาก[ 3 ]
เนื่องจาก MPI ได้กลายเป็นมาตรฐานโดยพฤตินัยบนคลัสเตอร์คอมพิวเตอร์ การเพิ่มจำนวนโหนดคลัสเตอร์ส่งผลให้มีการวิจัยอย่างต่อเนื่องเพื่อปรับปรุงประสิทธิภาพและความสามารถในการขยายขนาดของไลบรารี MPI ความพยายามเหล่านี้รวมถึงการวิจัยเพื่อลดการใช้หน่วยความจำของไลบรารี MPI [ 7 ]
ตั้งแต่แรกเริ่ม MPI ได้จัดเตรียมสิ่งอำนวยความสะดวกสำหรับการสร้างโปรไฟล์ประสิทธิภาพผ่าน "ระบบสร้างโปรไฟล์" PMPI [ 12 ]การใช้คำนำหน้า PMIPI- ช่วยให้สามารถสังเกตจุดเข้าและจุดออกของข้อความได้ อย่างไรก็ตาม เนื่องจากลักษณะระดับสูงของโปรไฟล์นี้ ข้อมูลประเภทนี้จึงให้เพียงภาพรวมของพฤติกรรมที่แท้จริงของระบบการสื่อสารเท่านั้น ความต้องการข้อมูลเพิ่มเติมส่งผลให้เกิดการพัฒนาระบบ MPI-Peruse ขึ้น Peruse ให้โปรไฟล์ที่มีรายละเอียดมากขึ้นโดยการทำให้แอปพลิเคชันสามารถเข้าถึงการเปลี่ยนแปลงสถานะภายในไลบรารี MPI ได้ ซึ่งทำได้โดยการลงทะเบียนการเรียกกลับกับ Peruse จากนั้นเรียกใช้เป็นตัวกระตุ้นเมื่อเหตุการณ์ข้อความเกิดขึ้น[ 13 ] Peruse สามารถทำงานร่วมกับระบบการแสดงภาพ PARAVER ได้ PARAVER มีสองส่วนประกอบ คือ ส่วนประกอบการติดตามและส่วนประกอบการแสดงภาพสำหรับการวิเคราะห์การติดตาม สถิติที่เกี่ยวข้องกับเหตุการณ์เฉพาะ ฯลฯ [ 14 ] PARAVER อาจใช้รูปแบบการติดตามจากระบบอื่น หรือทำการติดตามด้วยตนเองก็ได้ มันทำงานในระดับงาน ระดับเธรด และในรูปแบบไฮบริด ร่องรอยมักมีข้อมูลมากมายจนอาจรับมือไม่ไหว ดังนั้น PARAVER จึงสรุปข้อมูลเหล่านั้นเพื่อให้ผู้ใช้สามารถมองเห็นและวิเคราะห์ได้[ 13 ] [ 14 ] [ 15 ]
การวิเคราะห์ประสิทธิภาพ
เมื่อมีการพัฒนาระบบขนานขนาดใหญ่ ซึ่งมักอยู่ ในระดับ ซูเปอร์คอมพิวเตอร์จำเป็นอย่างยิ่งที่จะต้องสามารถทดลองกับการกำหนดค่าหลายแบบและจำลองประสิทธิภาพได้ มีแนวทางมากมายในการสร้างแบบจำลองประสิทธิภาพการส่งข้อความในสถานการณ์นี้ ตั้งแต่แบบจำลองเชิงวิเคราะห์ไปจนถึงการจำลองตามร่องรอย และบางแนวทางอาศัยการใช้สภาพแวดล้อมการทดสอบที่อิงตาม "การสื่อสารเทียม" เพื่อทำการทดสอบสังเคราะห์ประสิทธิภาพการส่งข้อความ[ 3 ]ระบบเช่นBIGSIMให้สิ่งอำนวยความสะดวกเหล่านี้โดยอนุญาตให้จำลองประสิทธิภาพบนโทโพโลยีโหนด ต่างๆ การส่งข้อความ และกลยุทธ์การจัดตารางเวลา[ 4 ]
แนวทางการวิเคราะห์
ในระดับการวิเคราะห์ จำเป็นต้องสร้างแบบจำลองเวลาการสื่อสาร T ในรูปของชุดส่วนประกอบย่อย เช่นความหน่วง ในการเริ่มต้น แบนด์วิดท์ แบบไม่จำกัดและจำนวนโปรเซสเซอร์ แบบจำลองที่เป็นที่รู้จักกันดีคือแบบจำลองของ Hockney ซึ่งอาศัยการสื่อสารแบบจุดต่อจุดโดยใช้ T = L + (M / R) โดยที่ M คือขนาดข้อความ L คือความหน่วงในการเริ่มต้น และ R คือแบนด์วิดท์แบบไม่จำกัดในหน่วย MB/s [ 16 ]
Xu และ Hwang ได้ขยายแบบจำลองของ Hockney โดยรวมถึงจำนวนโปรเซสเซอร์ด้วย ทำให้ทั้งความหน่วงและแบนด์วิดท์เชิงเส้นกำกับเป็นฟังก์ชันของจำนวนโปรเซสเซอร์[ 16 ] [ 17 ]จากนั้น Gunawan และ Cai ได้ขยายแบบจำลองนี้เพิ่มเติมโดยการแนะนำขนาดแคชและแยกข้อความตามขนาด ทำให้ได้แบบจำลองสองแบบ แบบหนึ่งสำหรับข้อความที่มีขนาดต่ำกว่าขนาดแคช และอีกแบบหนึ่งสำหรับข้อความที่มีขนาดสูงกว่า[ 16 ]
การจำลองประสิทธิภาพ

อาจใช้เครื่องมือเฉพาะเพื่อจำลองและทำความเข้าใจประสิทธิภาพของการส่งข้อความบนคลัสเตอร์คอมพิวเตอร์ ตัวอย่างเช่น CLUSTERSIM ใช้สภาพแวดล้อมภาพที่ใช้ Java สำหรับการจำลองเหตุการณ์แบบไม่ต่อเนื่องในแนวทางนี้ โหนดที่คำนวณและโทโพโลยีเครือข่ายจะถูกจำลองแบบด้วยภาพ งาน ระยะเวลา และความซับซ้อนของงานจะถูกแสดงด้วยการกระจายความน่าจะเป็น เฉพาะ ทำให้ สามารถเสนอและทดลองอัลกอริทึมการจัดตารางงานแบบขนานต่างๆ ได้ ดังนั้นจึงสามารถจำลองและทำความเข้าใจค่าใช้จ่ายในการสื่อสารสำหรับการส่งข้อความ MPIได้ดียิ่งขึ้นในบริบทของการดำเนินการงานแบบขนานขนาดใหญ่[ 18 ]
เครื่องมือจำลองอื่นๆ ได้แก่ MPI-sim และ BIGSIM [ 19 ] MPI-Sim เป็นโปรแกรมจำลองที่ขับเคลื่อนด้วยการดำเนินการซึ่งต้องใช้โปรแกรม C หรือ C++ ในการทำงาน[ 18 ] [ 19 ]ในทางกลับกัน ClusterSim ใช้ระบบการสร้างแบบจำลองระดับสูงแบบไฮบริดซึ่งเป็นอิสระจากภาษาโปรแกรมที่ใช้สำหรับการดำเนินการโปรแกรม[ 18 ]
แตกต่างจาก MPI-Sim, BIGSIM เป็นระบบที่ขับเคลื่อนด้วยการติดตามซึ่งจำลองตามบันทึกการดำเนินการที่บันทึกไว้ในไฟล์โดยโปรแกรมอีมูเลเตอร์แยกต่างหาก[ 5 ] [ 19 ] BIGSIM ประกอบด้วยอีมูเลเตอร์และซิมูเลเตอร์ อีมูเลเตอร์จะดำเนินการแอปพลิเคชันบนโหนดจำนวนน้อยและจัดเก็บผลลัพธ์ เพื่อให้ซิมูเลเตอร์สามารถใช้และจำลองกิจกรรมบนโหนดจำนวนมากได้[ 5 ]อีมูเลเตอร์จะจัดเก็บข้อมูลของบล็อกการดำเนินการตามลำดับ (SEB) สำหรับโปรเซสเซอร์หลายตัวในไฟล์บันทึก โดยแต่ละ SEB จะบันทึกข้อความที่ส่ง แหล่งที่มาและปลายทาง การพึ่งพา เวลา ฯลฯ ซิมูเลเตอร์จะอ่านไฟล์บันทึกและจำลอง และอาจทำเครื่องหมายข้อความเพิ่มเติมซึ่งจะถูกจัดเก็บเป็น SEB ด้วย[ 4 ] [ 5 ]ดังนั้น ซิมูเลเตอร์จึงสามารถให้มุมมองเกี่ยวกับประสิทธิภาพของแอปพลิเคชันขนาดใหญ่มาก โดยอิงจากการติดตามการดำเนินการที่อีมูเลเตอร์ให้ไว้บนโหนดจำนวนน้อยกว่ามาก ก่อนที่เครื่องทั้งหมดจะพร้อมใช้งานหรือได้รับการกำหนดค่า[ 5 ]
ดูเพิ่มเติม
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ การส่งข้อความในคลัสเตอร์คอมพิวเตอร์
การส่งข้อความ เป็นองค์ประกอบพื้นฐานของ คลัสเตอร์คอมพิวเตอร์ ทั้งหมด คลัสเตอร์คอมพิวเตอร์ทั้งหมด ตั้งแต่ Beowulf ที่สร้างเองไปจนถึง ซูเปอร์คอมพิวเตอร์ ที่เร็วที่สุดในโลก...
แนวทางการส่งข้อความ
ในอดีต วิธีการสื่อสารระหว่างโหนดคลัสเตอร์โดยทั่วไปมีสองวิธี ได้แก่ PVM ( Parallel Virtual Machine) และ MPI ( Message Passing Interface ) [ 6 ] อย่างไรก็ตาม ปัจจุบัน MPI ได้กลายเป็นมาตรฐานโดยพฤตินัยสำหรับการส่งข้อความบนคลัสเตอร์คอมพิวเตอร์ [ 7 ]
การทดสอบ การประเมิน และการเพิ่มประสิทธิภาพ
คลัสเตอร์คอมพิวเตอร์ใช้กลยุทธ์หลายอย่างในการจัดการกับการกระจายการประมวลผลไปยังโหนดหลายโหนดและค่าใช้จ่ายในการสื่อสารที่เกิดขึ้น คลัสเตอร์คอมพิวเตอร์บางแห่ง เช่น Tianhe-I ใช้โปรเซสเซอร์ที่แตกต่างกันสำหรับการส่งข้อความกับโปรเซสเซอร์ที่ใช้สำหรับการคำนวณ Tianhe-I...
การวิเคราะห์ประสิทธิภาพ
เมื่อมีการพัฒนาระบบขนานขนาดใหญ่ ซึ่งมักอยู่ ในระดับ ซูเปอร์คอมพิวเตอร์ จำเป็นอย่างยิ่งที่จะต้องสามารถทดลองกับการกำหนดค่าหลายแบบและจำลองประสิทธิภาพได้ มีแนวทางมากมายในการสร้างแบบจำลองประสิทธิภาพการส่งข้อความในสถานการณ์นี้...