‹

06. ความสำเร็จที่เงียบงัน — ความล้มเหลวที่รายงานว่าทุกอย่างเรียบร้อยดี

06. ​ความสำเร็จ​ที่​เงียบงัน — ​ความล้มเหลว​ที่​รายงาน​ว่า​ทุกอย่าง​เรียบร้อย​ดี

​ภาพลวงตา​ของ​ความแน่นอน​ใน​การปฏิบัติ​งาน

​ความล้มเหลว​ที่​อันตราย​ที่สุด​ไม่​ใช่​เครื่อง​หยุด​ทำงาน ​แต่​คือ​ข้อมูล​เสียหาย​ที่​ถูก​ส่งกลับ​มา​เงียบๆ ​ใน​คราบ​ของ​ความสำเร็จ​ที่​ถูกต้อง ​สแต็ก​จัดเก็บ​ข้อมูล​ยืนยัน​ว่า​เขียน​แล้ว ​แอปพลิเคชัน​จึง​ถือว่า​ข้อมูล​ถูก​บันทึก​ไว้​ปลอดภัย ​แต่​คำยืนยัน​นั้น​มัก​ซ่อน​ความไม่​เสถียร​ทางกายภาพ​ที่อยู่​ข้างใต้​เอาไว้ ​นักวิจัย​ที่ NetApp ​และ University of Wisconsin ​ศึกษา​ฮาร์ด​ไดรฟ์ 1.53 ​ล้าน​ตัว​เป็นเวลา 32 ​เดือน ​และ​พบ​ว่า​ไดรฟ์ SATA ​แบบ nearline 9.5% ​เกิด​ข้อผิดพลาด​ใน​เซกเตอร์​แบบ​แฝง​อย่าง​น้อย​หนึ่ง​ครั้ง​ต่อ​ปี ​อัตรา​ที่สูง​ขนาด​นี้​บอก​ว่า​ชิ้นส่วน​ทางกายภาพ​เสื่อมสภาพ​อยู่​บ่อยครั้ง​โดย​ไม่​ไป​กระตุ้น​กลไก​รายงาน​ข้อผิดพลาด​ที่​วิศวกร​ใช้​ดูแล​ความสมบูรณ์​ของ​ระบบ​และ​ความถูกต้อง​ของ​ข้อมูล ​ความล้มเหลว​แบบนี้​จึง​ซ่อนตัว​พ้น​ชั้น​ตรวจสอบ ​เพราะ​ฮาร์ดแวร์​เอง​ไม่​ส่งสัญญาณ​ใด​เลย​ว่า​บิต​ที่เก็บ​อยู่​ข้างล่าง​เบี่ยง​ไป​จาก​อินพุต​ต้นฉบับ​แล้ว

​ขนาด​ของ​ฮาร์ดแวร์​ที่​ไม่​แน่นอน

​ความสมบูรณ์​ของ​ข้อมูล​เป็น​สิ่ง​ที่​อนุมาน​เอา​ที่​ชั้น​จุด​เชื่อมต่อ​ไม่​ได้ ​เพราะ​เมื่อ​ระบบ​ทำงาน​ใน​ระดับ​กลุ่ม​เครื่อง​ขนาดใหญ่​อย่าง​ทุกวันนี้ ​ความเสียหาย​เกิดขึ้น​ใน​อัตรา​ที่สูง​พอ​จะ​มีความหมาย​ใน​เชิง​พื้นฐาน ​การศึกษา​คู่ขนาน​บน​ประชากร​ไดรฟ์​กลุ่ม​เดียวกัน​เป็นเวลา 41 ​เดือน ​พบ checksum ​ไม่​ตรงกัน​แบบ​เงียบ​มากกว่า 400,000 ​ครั้ง ​นี่​คือ​หลักฐาน​ว่าการ​รายงาน​ตามมาตร​ฐาน​มัก​จับความ​เสียหาย​ที่​มีนัย​สำคัญ​ไม่​ได้ ​ที่ Meta ​วิศวกร​รายงาน​ว่า CPU cores ​ราว 1-in-1,000 ​มีข้อบกพร่อง​ที่​ทำให้​ข้อมูล​เสียหาย​แบบ​เงียบ​ได้ ​ปรากฏการณ์​นี้​บีบ​ให้​ต้อง​ประเมิน​ความน่าเชื่อถือ​กัน​ใหม่​ใน​ระดับ​คำสั่ง ​การศึกษา "Cores that don't count" ​ของ Google ​ไป​ใน​ทางเดียว​กัน ​และ​บัญญัติ​คำ​ว่า "mercurial cores" ​ให้​โปรเซสเซอร์​ที่​คำนวณ​ผล​ผิด​แบบ​เงียบ ​ขณะ​ยัง​รายงาน​สถานะ​ปกติ​ไป​ยัง​เคอร์เนล ​ข้อ​ค้นพบ​เหล่านี้​ชี้​ว่าการ​ไม่​มี​คำเตือน​ไม่​ใช่​หลักฐาน​ว่า​ระบบ​สมบูรณ์ ​ชั้น​ฮาร์ดแวร์​อาจ​กำลังผลิต​ข้อผิดพลาด​อยู่ ​ในขณะที่​อ้างว่า​ตัวเอง​ทำงาน​ได้​ไม่มีที่ติ

​ความจำเป็น​แบบ​ต้นทาง​ถึง​ปลายทาง

​การตรวจสอบ​ความสมบูรณ์​ต้อง​อยู่​ที่​จุดสิ้นสุด​ของ​ระบบ Saltzer, Reed ​และ Clark ​โต้แย้ง​ไว้​เช่นนั้น​ใน​ปี 1984 ​เพราะ​ชั้น​กลาง​เชื่อใจ​ให้​รายงาน​ความล้มเหลว​ภายใน​ของ​ตัวเอง​ไม่​ได้ ​ข้อโต้แย้ง​แบบ​ต้นทาง​ถึง​ปลายทาง​นี้​ยัง​เป็นมาตร​ฐาน​ของ​การออกแบบ​ที่​แข็งแกร่ง ​มัน​เลี่ยง​ความเข้าใจผิด​ที่ว่า​ส่วนประกอบ​แต่ละ​ชิ้น​จะ​ระบุ​และ​รายงาน​สถานะ​ความเสียหาย​ภายใน​ได้​ครบ​ทุก​แบบ ​ไม่​มี​ฉันทา​มติ​ใด​ปฏิเสธ​ข้อโต้แย้ง​หลัก​นี้ ​สิ่ง​ที่​มัน​ก่อให้เกิด​คือ​วรรณกรรม​ปรับปรุง​ต่อยอด​ยาว​กว่า 40 ​ปี ​ว่าด้วย​ตำแหน่ง​ที่​ควร​วาง checksum ​ใน​สแต็ก​เครือข่าย​ที่​เปลี่ยนไป​เรื่อยๆ

​ตัวอย่าง: ​ภาพถ่าย​ดิจิทัล​ที่มา​ถึง​โดย​มี​พิกเซล​เสีย​หนึ่ง​พิกเซล​คือ​ความสำเร็จ​ของ​ระบบ ​และ​มัน​ปิดบัง​ความล้มเหลว​ของ​สื่อ​จัดเก็บ​ข้อมูล​ที่อยู่​เบื้องล่าง

​คำตัดสิน. ​ความน่าเชื่อถือ​เป็นคุณ​สมบัติ​ของ​จุด​เชื่อมต่อ ​ความปลอดภัย​จึง​ต้อง​จัดการ​ด้วย​การตรวจสอบ​แบบ​ต้นทาง​ถึง​ปลายทาง ​ไม่​ใช่​พึ่ง​สถานะ​ที่​ส่วนประกอบ​ภายใน​รายงาน​มา

​จะ​พลิก​คำตัดสิน​ได้​เมื่อ: ​มี​การศึกษา​เชิง​ยาว​ที่​ครอบคลุม​แสดงว่า​ฮาร์ดแวร์​จัดเก็บ​ข้อมูล​และ​ประมวลผล​สมัยใหม่​มี​อัตรา​ข้อผิดพลาด​เป็น​ศูนย์ ​จน checksum ​แบบ​ต้นทาง​ถึง​ปลายทาง​กลายเป็น​ของ​ซ้ำซ้อน​และ​ไม่​จำเป็น​ใน​เชิง​การคำนวณ

​แหล่ง​อ้างอิง. 2007 · L. N. Bairavasundaram, G. R. Goodson, S. Pasupathy, J. Schindler, "An Analysis of Latent Sector Errors in Disk Drives" — ACM DL · 2008 · L. N. Bairavasundaram, G. R. Goodson, B. Schroeder, A. C. Arpaci-Dusseau, R. H. Arpaci-Dusseau, "An Analysis of Data Corruption in the Storage Stack" — USENIX PDF

บทถัดไป · 7 / 1207. เงื่อนไขแฝง — อุบัติเหตุที่ดำรงอยู่ก่อนแล้ว
Size
Page
Font

At The Seams

❦
101. รอยต่อ — เหตุใดความล้มเหลวจึงกระจุกตัว ณ จุดที่ส่วนประกอบมาบรรจบกัน202. หน่วยวัดและข้อสมมติฐาน — ความไม่เข้ากันที่ไม่มีใครรับผิดชอบ303. การส่งต่องาน — จุดที่ข้อมูลมักสูญหาย404. การเบี่ยงเบนของโปรโตคอล — เมื่อสองฝ่ายมีความเห็นไม่ตรงกันเรื่องสัญญา505. การหมดเวลาและการลองใหม่ — ยาที่กลายเป็นต้นเหตุของโรค606. ความสำเร็จที่เงียบงัน — ความล้มเหลวที่รายงานว่าทุกอย่างเรียบร้อยดี707. เงื่อนไขแฝง — อุบัติเหตุที่ดำรงอยู่ก่อนแล้ว808. ปฏิกิริยาตอบสนองด้วยการกล่าวโทษ — เหตุใด 'ความผิดพลาดของมนุษย์' จึงเป็นจุดจบของการสืบสวน909. การชันสูตรเหตุขัดข้อง — การเปลี่ยนเหตุการณ์หยุดชะงักให้เป็นสินทรัพย์1010. Resilience Engineering — งานอย่างที่คิดว่าทำ และงานอย่างที่ทำจริง1111. การควบคุม ไม่ใช่ส่วนประกอบ — การปรับกรอบแนวคิดของ Leveson1212. การค้นหารอยต่อของคุณ — ขั้นตอนการปฏิบัติ