เหตุใดวิสัยทัศน์ระบบปฏิบัติการแบบกระจายของ Amoeba จึงล้มเหลว ขณะที่ Linux พิชิตโลก

ทีมชุมชน BigGo
เหตุใดวิสัยทัศน์ระบบปฏิบัติการแบบกระจายของ Amoeba จึงล้มเหลว ขณะที่ Linux พิชิตโลก

ช่วงต้นทศวรรษ 1990 เป็นพсвідก์ของการต่อสู้ที่น่าสนใจระหว่างแนวทางการพัฒนาระบบปฏิบัติการที่แตกต่างกันอย่างสิ้นเชิง ขณะที่ Linus Torvalds กำลังพัฒนา Linux เป็น monolithic kernel ที่สามารถทำงานบนฮาร์ดแวร์ราคาประหยุด ศาสตราจารย์ Andrew Tanenbaum กำลังทำงานกับ Amoeba ระบบปฏิบัติการแบบกระจายที่ทะเยอทะยานซึ่งสัญญาว่าจะทำให้เครือข่ายของคอมพิวเตอร์ทำงานเหมือนเครื่องเดียวที่มีประสิทธิภาพสูง

อุปสรรคด้านฮาร์ดแวร์ที่ฆ่านวัตกรรม

ความล้มเหลวของ Amoeba ไม่ได้เกิดจากการออกแบบที่แย่หรือการขาดวิสัยทัศน์ ระบบนี้ให้ประสิทธิภาพที่น่าประทับใจสำหรับยุคนั้น โดยสามารถทำ remote procedure calls ได้ในเวลาเพียง 1.4 มิลลิวินาที และความเร็วของ file server ที่ 677 กิโลไบต์ต่อวินาที อย่างไรก็ตาม มันต้องการโปรเซสเซอร์ 386 หลายตัว RAM อย่างน้อย 16MB ในเครื่องหนึ่ง และ Ethernet card ของ WD โดยเฉพาะ ซึ่งเป็นการตั้งค่าที่มีค่าใช้จ่ายหลายพันดอลลาร์ในปี 1992

ในขณะเดียวกัน Linux สามารถทำงานบน 386SX เครื่องเดียวราคาถูกด้วย RAM เพียง 2-4MB ความแตกต่างอย่างมากในความต้องการฮาร์ดแวร์นี้สร้างอุปสรรคที่ไม่สามารถข้ามผ่านได้สำหรับนักพัฒนาที่ทำเป็นงานอดิเรกและนักศึกษาที่จะกลายเป็นผู้นำการใช้งานและผู้มีส่วนร่วมในช่วงแรกของ Linux

การเปรียบเทียบความต้องการด้านฮาร์ดแวร์ (1992)

ระบบ RAM ขั้นต่ำ ความต้องการ CPU เครือข่าย ราคาประมาณ
Amoeba 16MB (หลัก) + 4MB (โหนด) 386 หลายตัว การ์ด Ethernet WD $3,000+ USD
Linux 0.99 2-4MB 386SX เดี่ยว ไม่บังคับ $500-1,000 USD
Windows 3.1 2MB 386 เดี่ยว ไม่บังคับ $300-800 USD

ปรากฏการณ์ Worse is Better ในทางปฏิบัติ

เรื่องราวของ Amoeba เทียบกับ Linux แสดงให้เห็นหลักการ worse is better ในการนำเทคโนโลยีมาใช้อย่างสมบูรณ์แบบ Amoeba เป็นตัวแทนของสิ่งที่ถูกต้อง คือแนวทางที่ได้รับการออกแบบอย่างละเอียดถี่ถ้วนและเหนือกว่าในเชิงทฤษฎีสำหรับการคำนวณแบบกระจาย Linux อาจจะแย่กว่า คือการออกแบบแบบ monolithic ที่นักวิชาการหลายคนวิพากษ์วิจารณ์

แต่ความเรียบง่ายและอุปสรรคต่ำในการเข้าถึงของ Linux ทำให้มันแพร่กระจายอย่างรวดเร็วในหมู่นักพัฒนาที่ไม่สามารถจ่ายค่าการตั้งค่าฮาร์ดแวร์ที่แพงได้ ดังที่สมาชิกชุมชนคนหนึ่งกล่าวไว้ว่า ต้นทุนเริ่มต้นและความยุ่งยากมีความสำคัญมากกว่าความเหนือกว่าทางเทคนิคในระยะยาวเมื่อพูดถึงการนำเทคโนโลยีมาใช้

ข้อมูลจำเพาะด้านประสิทธิภาพของ Amoeba (ทศวรรษ 1990)

  • ความหน่วงของ remote procedure call: 1.4 มิลลิวินาที
  • อัตราความเร็วของ file server: 677 KB/s การส่งมอบข้อมูลอย่างต่อเนื่อง
  • แพลตฟอร์มฮาร์ดแวร์: เครื่อง Sun-3/50 class
  • ข้อกำหนดเครือข่าย: การ์ด WD Ethernet

โอกาสที่สูญเสียไปในการคำนวณแบบกระจาย

การละทิ้งการวิจัยระบบปฏิบัติการแบบกระจายอย่าง Amoeba พร้อมกับโครงการที่คล้ายกันอย่าง Mosix และ Beowulf เป็นตัวแทนของเส้นทางที่ไม่ได้เลือกในประวัติศาสตร์การคำนวณ ระบบเหล่านี้สัญญาถึงอนาคตที่คุณสามารถเพิ่มคอมพิวเตอร์เพื่อเพิ่มพลังการประมวลผล เหมือนกับการเพิ่ม RAM ให้กับเครื่องเดียว

ระบบ container orchestration ในปัจจุบันอย่าง Kubernetes พยายามแก้ปัญหาที่คล้ายกัน แต่ด้วยความซับซ้อนที่มากกว่ามาก แนวทางระบบปฏิบัติการแบบกระจายจะซ่อนความซับซ้อนนี้ไว้หลัง interface ของระบบปฏิบัติการที่คุ้นเคย ทำให้การคำนวณแบบกระจายเข้าถึงได้สำหรับโปรแกรมเมอร์ทั่วไป แทนที่จะต้องการความรู้ DevOps เฉพาะทาง

มรดกที่ไม่คาดคิด

น่าสนใจที่การมีส่วนร่วมที่ยั่งยืนที่สุดของ Amoeba ต่อการคำนวณไม่ใช่สถาปัตยกรรมแบบกระจาย แต่เป็นผลพลอยได้ที่ไม่คาดคิด Guido van Rossum ได้พัฒนาภาษาโปรแกรม Python ขณะทำงานกับ Amoeba ที่ Centre for Mathematics and Computer Science ใน Amsterdam Python ได้กลายเป็นหนึ่งในภาษาโปรแกรมที่ได้รับความนิยมมากที่สุดในโลก โดยมีอายุยืนยาวกว่าระบบที่มันถูกสร้างขึ้นมาเพื่อใช้งานเดิม

เรื่องราวของ Amoeba เป็นการเตือนใจว่าในเทคโนโลยี โซลูชันทางเทคนิคที่ดีที่สุดไม่ได้ชนะเสมอไป บางครั้ง การเข้าถึงได้และราคาประหยุดมีความสำคัญมากกว่าการเหนือกว่าในเชิงทฤษฎี แม้ว่าเราจะเพียงคาดเดาได้เท่านั้นว่าการคำนวณในปัจจุบันจะแตกต่างไปแค่ไหนหากระบบปฏิบัติการแบบกระจายประสบความสำเร็จ แต่บทเรียนจากช่วงเวลานี้ยังคงมีอิทธิพลต่อวิธีที่เราคิดเกี่ยวกับการออกแบบระบบและการนำเทคโนโลยีมาใช้

อ้างอิง: Amoeba A Distributed Operating System for the 1990s