Table of Content

Pentium FDIV bug – บทเรียนที่เจ็บปวด ว่าอย่าคิดแทนลูกค้า

Table of Content

...

ในการพัฒนาชิป Pentium ยุคแรกของบริษัท Intel นั้น บริษัทได้มีการพัฒนาขั้นตอนวิธีการหาร (floating-point division calculations) จากตอนแรกที่ใช้ขั้นตอนวิธีแบบ shift-and-subtract division เป็นแบบ Sweeney, Robertson, and Tocher (SRT) algorithm แทน ซึ่งทำให้ผลหารออกมาเร็วขึ้นเป็น 2 bits ต่อวงรอบนาฬิกา 1 คาบ โดยขั้นตอนวิธีดังกล่าวจำเป็นต้องเก็บค่า constant ไว้ใช้ในการคำนวณ แต่เมื่อผลิตตัวชิปออกมากลับเกิดความผิดพลาด ทำให้ค่า constant บางส่วนไม่ได้เก็บค่าตามที่ต้องการเองไว้

ความผิดพลาดดังกล่าวทำให้การหารจำนวนจริงบนชิป Pentium นั้นจะมีความผิดพลาดเป็นส่วนใหญ่ที่ทศนิยมตำแหน่งที่เก้าหรือสิบ ไม่ว่าอย่างไรก็ตาม ในกรณีที่แย่ที่สุด (worst-case) อาจจะทำให้ความผิดพลาดขึ้นมาเป็นที่ทศนิยมตำแหน่งที่สี่ได้เลย

ลูกค้าที่ซื้อชิปตัวนี้ของ Intel ที่เริ่มสังเกตความผิดพลาดเป็นคนแรกคือ Thomas Nicely ซึ่งตอนนั้นทำงานเป็นอาจารย์คณิตศาสตร์อยู่ที่ Lynchburg College ช่วงนั้นเขากำลังทำวิจัยเกี่ยวกับจำนวนเฉพาะด้วยคอมพิวเตอร์ที่ทำงานด้วยชิปดังกล่าวอยู่

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

หลังจากนั้น Thomas Nicely ก็เริ่มกระจายข่าวไปยังสถาบันการศึกษาต่าง ๆ ถึงความผิดพลาดในชิปตัวนี้ ก่อนที่ข่าวนี้จะแพร่สะพัดไปยังโลกอินเทอร์เน็ต และขึ้นไปออกอากาศใน CNN ช่วงเดือนพฤษจิกายนของปีเดียวกัน

ตัวบริษัท Intel ก็ล่วงรู้ถึงความผิดพลาดในชิปนั้น แต่ก็คิดว่าความผิดพลาดไม่ได้ส่งผลกระทบอะไรมากกับการใช้เครื่องคอมแบบส่วนตัว (personal computer) ซึ่งไม่จำเป็นต้องอาศัยความแม่นยำในการคำนวณมากอยู่แล้ว จึงออกมาตรการชดเชยแบบมีเงื่อนไขว่า “ถ้าจะเปลี่ยนชิปตัวใหม่จะต้องอ้างให้ได้ว่าได้รับผลกระทบจากความคลาดเคลื่อนในการคำนวณดังกล่าว” ซึ่งทำให้เกิดความไม่พอใจและความไม่น่าเชื่อถือในสินค้าของบริษัท Intel อย่างมาก

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

การตัดสินใจที่ผิดพลาดของ Intel ครั้งนี้ ทำให้บริษัทต้องสูญเงินกว่า 743 ล้านเหรียญสหรัฐ (เมื่อคิดเป็นมูลค่าปัจจุบันตามอัตราเงินเฟ้อ) และเป็นวิกฤตการณ์ด้านการบริหารความสัมพันธ์ลูกค้าที่น่าจดจำอย่างหนึ่ง

Andrew Grove ได้ให้สัมภาษณ์กับ Wall Street Journal หลังจากเหตุการณ์ดังกล่าวว่า “พวกเราคิดผิดเองที่คิดแทนลูกค้าว่าเขาควรหรือไม่ควรจะกังวลกับอะไร หรือคิดเองว่าเขาควรหรือไม่ควรจะทำอย่างไร”

หลังจากเหตุการณ์ดังกล่าว อุตสาหกรรมการผลิตชิป โดยเฉพาะบริษัทชั้นนำก็เริ่มใช้ Formal Verification ในการตรวจสอบการทำงานของชิปที่พัฒนาใหม่

Automated Theorem Proving ซึ่งเคยนำมาใช้พิสูจน์เรื่อง Four-Coloring Theorem (บทความเก่า) ได้รับความสนใจขึ้นมาในทันทีในยุคที่ชิปคอมพิวเตอร์มีความซับซ้อนมากขึ้นเรื่อย ๆ

รูปภาพจากตรงนี้

Nutchanon J's Stories

รวมบทความของนิสิตคณะวิศวะฯ คนหนึ่งในจุฬา ที่เรียนภาคไฟฟ้า

Powered by Bootstrap 4 Github Pages