~เทคโนโลยีคลัสเตอร์+การเขียนโปรแกรมแบบขนานโดยใช้ MPI~
- เข้าอบรมเรื่องเทคโนโลยีคลัสเตอร์และการเขียนโปรแกรมแบบขนานโดยใช้ MPI
- ได้ฝึกเขียนโปรแกรมแบบขนานและดูผลการทดลอง
- ทำการทดลองโปรแกรมโดยใช้ putty และใช้ โปรแกรม vi
-เทคโนโลยีคลัสเตอร์
-
คลัสเตอร์ เป็นกลุ่มของเครื่องเทอร์มินอล หรือ เวิร์กสเตชันที่ต่อพ่วงกัน เครื่องแม่ข่ายหรือกลุ่มแม่ข่าย เพื่อทำงานร่วมกันและสามารถสำรองซึ่งกันและกัน เมื่อเครื่องแม่ข่ายเครื่องใดเครื่องหนึ่งเสีย
-
เครื่องหลาย ๆ เครื่อง ที่ต่อด้วย Network ความเร็วสูง เพื่อจะใช้ Application ร่วมกัน
-
มีรูปแบบการประมวลผลแบบกระจาย เป็นการเชื่อมต่อแบบ tightly-coupled ระหว่างคอมพิวเตอร์หลายๆ เครื่อง แล้วนำมันมาประมวลผลเพื่อแก้ปัญหาใดปัญหาหนึ่งโดยเฉพาะ
-
หนึ่งในผู้ศึกษา cluster คือ 'Beowulf' ต้นแบบของ Beowulf สร้างขึ้นในปี 1994 โดย Thomas Sterling และ Don Becker เป็น 16-node cluster เชื่อมต่อโดย ethernet
-
ความสำเร็จของ Beowulf ไม่ได้อยู่ที่ architecture แต่มาจาก cost/performance ratio มากกว่า
-
ซูเปอร์คอมพิวเตอร์มีการเชื่อม processing element ภายในที่ซับซ้อนและทำงานเร็วมาก จึงมีราคาแพงและใช้เวลาในการพัฒนานาน
-
Beowulf ใช้แค่ Ethernet หรือถ้าให้ความเร็วเพิ่มขึ้นอีกหน่อยก็เป็น Myrinet ถ้าดูจาก architecture แล้ว cluster สู้ซูเปอร์คอมพิวเตอร์ไม่ได้เลย แต่ cluster บางระบบเร็วขนาดติดอยู่ใน 50 World Fastest Computers บางระบบมีพลังการประมวลผลถึง 30 TeraFLOPS แต่ราคาน้อยกว่า 1 ใน 100 ของเครื่องซูเปอร์คอมพิวเตอร์ที่ทำงานได้เทียบเท่ากัน
-ทำไมต้องใช้ Cluster?
-
อัตราส่วนเทียบระหว่างราคากับประสิทธิภาพที่ได้รับ ถือว่าคุ้มค่า
-
ทุกเครื่องจะเชื่อมต่อกันด้วย Cluster Middle Wear แล้วมี Application รันอยู่ด้านบน
-High Throughput Computing
-
การเอา sequence มารันโดยแบ่ง data ออกให้เครื่องแต่ละตัว
-High Performance Computing
-
การแบ่งโปรแกรมออกเป็นส่วน ๆ ต้องเป็นโปรแกรมแบบขนานเท่านั้น แล้วจัดว่าจะมีการทำงานอย่างไร
-3 Components หลัก ในการทำ Cluster
-
Node => คือ คอมพิวเตอร์ที่อยู่ใน Cluster ตัวอย่างในส่วนประกอบของ Node เช่น
-
- CPU (CPU ที่นิยมทำ Cluster คือ -> Intel)
-
Memory (ความเร็วของ memory และ bandwidth จะต้องเข้ากันได้กับ CPU)
-
Motherboard(ต้องเข้ากับ CPU ได้, ดูความเร็วของ BUS)
Features ของ mainboard ที่น่าสนใจที่จะนำมาทำ Cluster -
- Wake-on-LAN
-
RAID (เพิ่มความจุ ความเร็ว และความน่าเชื่อถือของข้อมูล)อ่านข้อมูลเพิ่มเติมเกี่ยวกับ RAID คลิกที่นี่ Click
-
PXE(เอาไปทำ diskless clusterได้)
-
PCI Slot
-
Onboard VGA
-
Onboard Gigabit Network
-
Harddisk (เป็น IDE, SATA, SCSI)
-
Display card (Resolution อย่างน้อย 1024x768)
-
Chassis มี 3 ประเภท
-
- Tower หาง่าย ราคาถูก มีข้อเสียคือใช้เนื้อที่เยอะ มีขนาดใหญ่ ถ้าสร้าง node เยอะจะเปลืองที่
-
Rack-mount ลักษณะจะเล็กกะทัดรัด เหมาะสำหรับทำ Cluster ใหญ่ ๆ design บาง สะดวก แต่มีข้อเสียคือ มีปัญหาในเรื่องของความร้อน การระบายความร้อน และปัญหาเรื่องเสียง
-
Blade ใช้พัดลม, power supply ร่วมกัน ทำให้ประหยัดเนื้อที่ การจัดการเรื่องสายทำได้ง่าย แต่ข้อเสียคือมีราคาแพง
-
Interconnection Network
-
อย่างน้อย 1 GB/s
-
-
ดู Bandwidth, latency, ค่าใช้จ่าย และงบประมาณ
-
Myrinet มีลักษณะทางกายภาพคือ ตัวสายเป็นแก้ว ห้ามกระทบกระแทก ถ้าเกิดแตกหรือหัก จะเสีย ไม่สามารถใช้งานได้ ถ้าใช้ส่งข้อมูลขนาดใหญ่ ๆ ความเร็วก็จะพอ ๆ กับเน็ตอื่น ๆ แต่ถ้าเป็น short message จะส่งด้วยความเร็วสูงมาก
-
-
Others Accessories
-
-
KVM Switch
-
UPS
-
-Compute Intensive Application
-
เป็น Application ที่เน้นการประมวลผลระดับสูง
ตัวอย่างการนำโปรแกรมแบบ Compute Intensive Application ไปใช้ในการทำงาน
-
การพยากรณ์อากาศ
-
การทำ Image Processing
-
Data Mining
-
ภาพถ่ายดาวเทียม
-
การ Render ภาพ
-การประมวลผลแบบขนาน (Parallel Processing)
- ใช้ CPU 2 ตัวทำงานพร้อมกัน แต่งานต่างกัน
-
ทำให้รวดเร็วขึ้นในการทำงาน และประมวลผล
-
เป็นเทคโนโลยีคอมพิวเตอร์ที่มีแนวคิดที่ว่าการใช้ชิป 2 ตัวจะดีกว่าการใช้ชิปเพียงตัวเดียว
-
ได้นำมาใช้ในการพยากรณ์อากาศและการคาดหมายทางด้านธรณีวิทยาที่ต้องใช้การคำนวณ จำนวนมากมายมหาศาล
-
คอมพิวเตอร์ที่ใช้การประมวลผลแบบขนานจะมีประโยชน์ในการสร้างภาพสามมิติในการใช้ เทคนิคพิเศษในภาพยนตร์
-
parallel processing ต่างกับ multitasking คือโดยปกติคอมพิวเตอร์สามารถทำงานได้อยู่แล้วโดยการใช้ชิปเพียงตัวเดียวที่มีอยู่ เพื่อทำงานหลาย ๆ อย่างในเวลาเดียวกัน แต่การประมวลผลแบบขนานนั้นต้องใช้ชิป 2 ตัวทำงานร่วมกันเพื่อทำงานเพียง อย่างเดียวเท่านั้น
concept จะแบ่งงานใหญ่เป็นงานย่อย ๆ แล้ว ต่างคนต่างทำ ถ้ามีอะไรที่ต้องคุย ปรึกษากันก็คุยกัน เช่น การสร้างบ้าน จะแบ่งหน้าที่กันทำตัวบ้าน, หน้าต่าง, ประตู เป็นต้น เมื่อทำเสร็จก็นำมาประกอบกันเป็นบ้าน
-Software สำหรับสร้างระบบคลัสเตอร์ NPACI ROCKS
-
พัฒนาโดย RedHat
-การเขียนโปรแกรมแบบขนานโดยใช้ MPI
-
MPI (Message Passing Interface) เป็น API สำหรับการเขียนโปรแกรมให้ประมวลผลแบบขนาน
-ข้อแตกต่างระหว่าง Cluster กับ Grid
-
Cluster เป็นการเชื่อมต่อเพื่อเพิ่มสมรรถนะของการประมวลผลด้วยเครื่องคอมพิวเตอร์ที่มีแพลตฟอร์มเดียวกันอยู่ในพื้นที่จำกัด
-
Grid จะเชื่อมต่อได้ทุกแพลตฟอร์ม ไม่ว่าแต่ละแพลตฟอร์มจะห่างไกลกันเท่าไร
ไม่เห็นจะเข้าใจเลย -*-
เหอๆ คือกัน -*-
><"
ยากมากป่าว......
ถ้าเอาไปทำprojectจบจะได้ป่าว