การฝึกงานในวันที่ 27 เมษายน 2549


เทคโนโลยีคลัสเตอร์และการเขียนโปรแกรมแบบขนานโดยใช้ MPI

        ในวันนี้ได้มีการเข้าฟังอบรมเกี่ยวกับเรื่องเทคโนโลนี cluster และการเขียนโปรแกรมแบบขนานโดยใช้ MPI ซ่งมีการให้ทดลองเขียนโปรแกรมขึ้นมา ซึ่งโปรแกรมที่เขียนขึ้นมานั้นเขียนโดยใช้ putty และสร้างขึ้นด้วย vi นั่นเอง  โดยจะมีการลงโปรแกรมไว้ที่เครื่องแม่แล้วทำการรันโดยให้ user กับเครื่องลูก ทำให้เครื่องลูกก็สามารถรันโปรแกรมที่เขียนขึ้นได้นั่นเอง

       ความรู้เบื้องต้นเกี่ยวกับ cluster

*เทคโนโลยีคลัสเตอร์คอมพิวติ้ง (Cluster Computing)  เทคโนโลยีคลัสเตอร์คอมพิวติ้ง เป็นการนำเครื่องคอมพิวเตอร์หลายๆ เครื่องมาเชื่อมรับกัน และ มีระบบซอฟต์แวร์ให้เครื่องเหล่านี้ ทำงานร่วมกันอย่างเป็นเอกภาพ โดยมีจุดประสงค์เพื่อรองปัญหาขนาดใหญ่ ที่เครื่องคอมพิวเตอร์เพียงเครื่องเดียวไม่สามารถรองรับได้ เทคโนโลยีคลัสเตอร์คอมพิวติ้ง ทำให้สามารถสร้างทรัพยากรการคำนวณประสิทธิภาพสูง โดยใช้อุปกรณ์ที่มีจำหน่ายทั่วไป มาแทนที่เครื่องคอมพิวเตอร์สมรรถนะสูงที่มีราคาแพง งานวิจัยเทคโนโลยีคลัสเตอร์คอมพิวติ้ง รับผิดชอบ ติดตาม และ นำเทคโนโลยีคลัสเตอร์คอมพิวติ้งมาใช้ในการวิจัยในประเทศ นอกจากนี้ ยังรับผิดชอบการวิจัยและพัฒนาในสาขาใกล้เคียง เช่น การประมวลผลแบบกระจาย และ กริดคอมพิวติ้ง (distributed/grid computing)

*cluster เป็นการเชื่อมต่อแบบ tightly-coupled ระหว่างคอมพิวเตอร์หลายๆ เครื่อง แล้วนำมันมาประมวลผลเพื่อแก้ปัญหาใดปัญหาหนึ่งโดยเฉพาะ หนึ่งในผู้บุกเบิก cluster ก็คือ 'Beowulf'

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

 

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

*การประมวลผลแบบขนาน(Parallel Computing) คือ การที่ให้คอมพิวเตอร์หลายๆ เครื่องช่วยกันประมวลผลการทำงานเดียวกัน โดยจะอาศัยกระบวนการและการโปรแกรมต่างๆ เข้ามาช่วยในการควบคุม การแจกแจงงานให้คอมพิวเตอร์แต่ละตัวอย่างมีประสิทธิภาพ โดยจะวัดประสิทธิภาพที่ได้จากการประมวลผลโดยการนำเอา Hough Algorithm ซึ่งเป็นวิธีการทำงานที่ใช้ในตรวจสอบวัตถุที่ต้องการจากภาพหลัก (Target) กับภาพที่ใช้ในการตรวจสอบ (Template) ซึ่งปรกติแล้วการทำงานของวิธีการทำงานนี้จะค่อนข้างใช้เวลาเนื่องจากการประมวลผลภาพด้วยวิธีการนี้มีการทำงานที่ค่อนข้างซับซ้อนมาก และสาเหตุอื่นๆ เพราะฉะนั้นจึงเหมาะสมที่จะเลือก Hough Algorithm เพื่อที่จะทดสอบประสิทธิภาพของการทำงานแบบขนาน (Parallel Computing)

*myrinet เร็วแต่เหมาะที่จะใช้ในการส่ง short message โดยสายที่ใช้ส่งทำด้วยแก้ว

*cluster distribution ทำให้สามารถลง cluster ได้อย่างง่ายๆ

*frontend จะมีทั้งวงนอกและวงใน หากเกิดความเสียกายจะทำให้ cluster ทำงานต่อไม่ได้ และเวลาประมวลผลจะส่งต่อไปยังส่วนของ compute node

*HPL เอาไว้วัดประสิทธิภาพของ cluster

***ความรู้เพิ่มเติมเกี่ยวกับ cluster**

 

http://www.vwin.co.th/knowledge/cluster1.pdf

**ความรู้เพิ่มเติมเกี่ยวกับ raid**

http://pccare.cattelecom.com/e-learning/Document/CCNA/raid.html

สามารถศึกษารายละเอียดเพิ่มเติมได้จากบทความของคุณ  dankejung

http://gotoknow.org/archive/2006/04/27/23/47/10/e25847

คำสำคัญ (Tags): #uncategorized
หมายเลขบันทึก: 26204เขียนเมื่อ 1 พฤษภาคม 2006 04:58 น. ()แก้ไขเมื่อ 20 มิถุนายน 2012 18:12 น. ()สัญญาอนุญาต: จำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (0)

ไม่มีความเห็น

พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท