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


~เทคโนโลยีคลัสเตอร์+การเขียนโปรแกรมแบบขนานโดยใช้ 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 จะเชื่อมต่อได้ทุกแพลตฟอร์ม ไม่ว่าแต่ละแพลตฟอร์มจะห่างไกลกันเท่าไร

 

คำสำคัญ (Tags): #uncategorized
หมายเลขบันทึก: 25847เขียนเมื่อ 27 เมษายน 2006 23:47 น. ()แก้ไขเมื่อ 26 พฤษภาคม 2012 17:15 น. ()สัญญาอนุญาต: จำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (4)
ไม่เห็นจะเข้าใจเลย -*-

ยากมากป่าว......

ถ้าเอาไปทำprojectจบจะได้ป่าว

 

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