Xgrid ระบบประมวลผลแบบกริดของ Apple
สรุปใจความสำคัญ
- Xgrid พัฒนาโดย Apple Inc. เพื่อสร้างคลัสเตอร์ประมวลผลจากเครื่อง Mac ในเครือข่าย
- ใช้โปรโตคอล BEEP ในการสื่อสารระหว่างไคลเอนต์ ตัวควบคุม และเอเจนต์
- มีต้นกำเนิดมาจากโปรแกรม Zilla ของ NeXT ที่พัฒนาโดย Richard Crandall
- ถูกรวมอยู่ใน Mac OS X 10.4 ถึง 10.7 และถูกยกเลิกในเวอร์ชัน 10.8 Mountain Lion
Xgrid เป็นโปรแกรมและโปรโตคอลการประมวลผลแบบกริด (Grid Computing) ซึ่งเป็นซอฟต์แวร์กรรมสิทธิ์ที่พัฒนาโดยแผนก Advanced Computation Group ของบริษัท Apple Inc. ระบบนี้ถูกออกแบบมาเพื่อให้ผู้ดูแลระบบเครือข่ายสามารถสร้างคลัสเตอร์คอมพิวเตอร์ (Computing Cluster) เพื่อนำทรัพยากรการประมวลผลที่ไม่ได้ถูกใช้งานจากเครื่องคอมพิวเตอร์หลายเครื่องในเครือข่ายมาใช้ในการคำนวณงานขนาดใหญ่ที่สามารถแบ่งย่อยเป็นงานเล็กๆ ได้ เช่น การสร้างแผนที่ Mandelbrot หรือการเรนเดอร์ภาพ 3 มิติ
การทำงานและโครงสร้างระบบ
Xgrid ทำงานโดยการเปลี่ยนเครื่องคอมพิวเตอร์ที่รองรับให้กลายเป็นโหนด (Node) ในเครือข่าย โดยมีองค์ประกอบหลัก 3 ส่วนที่สามารถทำงานบนเครื่องเดียวกันหรือแยกเครื่องกันได้ ดังนี้:
- ไคลเอนต์ (Client): ทำหน้าที่ส่งงานคำนวณ (Job) ไปยังตัวควบคุม
- ตัวควบคุม (Controller): ทำหน้าที่เป็นตัวจัดตารางงาน (Job Scheduler) โดยจะแบ่งงานใหญ่ให้กลายเป็นงานย่อย (Tasks) และมอบหมายงานเหล่านั้นให้กับเอเจนต์ต่างๆ ในเครือข่าย
- เอเจนต์ (Agent): ทำหน้าที่ประมวลผลงานย่อยที่ได้รับมอบหมาย และส่งผลลัพธ์กลับไปยังตัวควบคุม เพื่อให้ตัวควบคุมรวบรวมผลลัพธ์ทั้งหมดส่งคืนให้แก่ไคลเอนต์
ในด้านเทคนิค Xgrid ใช้โปรโตคอลการสื่อสารเฉพาะตัวที่ทำงานอยู่บนโครงสร้างพื้นฐานของ BEEP (Blocks Extensible Exchange Protocol) ซึ่งเป็นเฟรมเวิร์กโปรโตคอลแอปพลิเคชันเครือข่าย เครื่องคอมพิวเตอร์ที่เปิดใช้งานบริการ Xgrid ในเครือข่ายจะถูกตรวจพบและเพิ่มเข้าไปในรายการเครื่องที่พร้อมใช้งานโดยอัตโนมัติ
ประวัติและการพัฒนา
ต้นกำเนิดของ Xgrid สามารถย้อนกลับไปได้ถึงโปรแกรม Zilla ซึ่งพัฒนาโดย Richard Crandall ในช่วงปลายทศวรรษ 1980 สำหรับระบบปฏิบัติการ OpenStep ของ NeXT Zilla ถือเป็นโปรแกรมประมวลผลแบบกระจาย (Distributed Computing) รุ่นแรกๆ ที่นำแนวคิดการใช้ทรัพยากรเครื่องในขณะที่หน้าจอพักหน้าจอ (Screen-saver) ทำงานมาใช้ ซึ่งเป็นแนวคิดที่ต่อมาถูกนำไปใช้ในโครงการชื่อดังอย่าง SETI@home
หลังจาก Apple เข้าซื้อกิจการ NeXT ในปี 1997 ได้นำแนวคิดจาก Zilla มาพัฒนาต่อยอดจนกลายเป็น Xgrid โดยมีลำดับการปล่อยตัวดังนี้:
- มกราคม 2004: ปล่อย Xgrid Technology Preview 1
- พฤศจิกายน 2004: ปล่อย Xgrid Technology Preview 2
- เมษายน 2005: เปิดตัว Xgrid 1.0 อย่างเป็นทางการพร้อมกับ Mac OS X 10.4 Tiger
Xgrid ถูกติดตั้งมาพร้อมกับ Mac OS X เวอร์ชัน 10.4 ถึง 10.7 โดยในเวอร์ชันไคลเอนต์จะเน้นการสั่งงานผ่านบรรทัดคำสั่ง (Command-line) ในขณะที่เวอร์ชันสำหรับ Mac OS X Server จะมีแผงควบคุมแบบกราฟิก (GUI) และฟีเจอร์ที่ครบถ้วนกว่า
การนำไปใช้งานและจุดสิ้นสุด
มีการนำ Xgrid ไปใช้ในโครงการวิจัยระดับนานาชาติหลายแห่ง เช่น OpenMacGrid ของ MacResearch และโครงการ Xgrid@Stanford ของมหาวิทยาลัยสแตนฟอร์ด ซึ่งใช้ในการวิจัยทางชีวเคมี
อย่างไรก็ตาม Apple ได้ยุติการพัฒนาและถอด Xgrid ออกจากระบบปฏิบัติการตั้งแต่ OS X 10.8 Mountain Lion เป็นต้นไป พร้อมกับบริการอื่นๆ เช่น Podcast Producer
คำถามที่พบบ่อย
Xgrid คืออะไร?
Xgrid คือซอฟต์แวร์การประมวลผลแบบกริด (Grid Computing) ของ Apple ที่ช่วยให้ผู้ใช้สามารถรวมพลังการประมวลผลจากเครื่อง Mac หลายเครื่องในเครือข่ายเพื่อทำงานคำนวณขนาดใหญ่ที่แบ่งย่อยได้
Xgrid ทำงานอย่างไร?
ระบบจะแบ่งงานใหญ่ (Job) ออกเป็นงานย่อย (Tasks) โดยตัวควบคุม (Controller) จะส่งงานย่อยเหล่านี้ไปยังเครื่องต่างๆ (Agents) ในเครือข่ายเพื่อประมวลผลและส่งผลลัพธ์กลับมารวบรวม
Xgrid เหมาะกับงานประเภทใด?
เหมาะกับงานที่เรียกว่า 'Embarrassingly Parallel Tasks' หรือการคำนวณที่แบ่งย่อยได้ง่าย เช่น การเรนเดอร์ 3D, การคำนวณแบบ Monte Carlo และการสร้างแผนที่ Mandelbrot
ปัจจุบันยังสามารถใช้ Xgrid ได้หรือไม่?
Xgrid ถูกยกเลิกโดย Apple ตั้งแต่ OS X 10.8 Mountain Lion ดังนั้นจึงไม่สามารถใช้งานได้ใน macOS เวอร์ชันปัจจุบัน
