ScholarGate
ผู้ช่วย

แบบจำลองเวลาและความล้มเหลว

แบบจำลองเวลาและความล้มเหลวระบุสิ่งที่อัลกอริทึมแบบกระจายอาจสันนิษฐานเกี่ยวกับความล่าช้าของข้อความและความเร็วของโปรเซสเซอร์ และวิธีการที่ส่วนประกอบต่าง ๆ ได้รับอนุญาตให้ล้มเหลวได้

ค้นหาหัวข้อด้วย PaperMindเร็ว ๆ นี้Find papers & topics
Tools & resources
ดาวน์โหลดสไลด์
Learn & explore
วิดีโอเร็ว ๆ นี้

Definition

แบบจำลองเวลากำหนดข้อสมมติฐานเกี่ยวกับขีดจำกัดบนของเวลาการส่งข้อความและความเร็วสัมพัทธ์ของกระบวนการ ในขณะที่แบบจำลองความล้มเหลวกำหนดชุดของวิธีการที่กระบวนการและช่องทางอาจเบี่ยงเบนไปจากพฤติกรรมที่ระบุไว้

Scope

หัวข้อนี้ครอบคลุมแบบจำลองเวลาแบบซิงโครนัส อะซิงโครนัส และกึ่งซิงโครนัส; การจำแนกประเภทของความล้มเหลวตั้งแต่การขัดข้อง (fail-stop) ไปจนถึงการละเว้นและเวลา ไปจนถึงความผิดพลาดแบบสุ่ม (Byzantine); และการสร้างนามธรรมของตัวตรวจจับความล้มเหลวที่เชื่อมโยงระบบอะซิงโครนัสกับการให้เหตุผลโดยอาศัยการหมดเวลา แบบจำลองเหล่านี้เป็นสัจพจน์ที่ใช้ในการอนุมานผลลัพธ์ทั้งที่เป็นไปได้และเป็นไปไม่ได้

Core questions

  • ขีดจำกัดของความล่าช้าและความเร็วที่อัลกอริทึมอาจสันนิษฐานได้คืออะไร และการหมดเวลาขึ้นอยู่กับสิ่งเหล่านั้นอย่างไร?
  • โปรโตคอลจะต้องปกปิดความล้มเหลวประเภทใดบ้าง — การขัดข้อง, การละเว้น, เวลา, Byzantine?
  • ระบบอะซิงโครนัสสามารถเสริมด้วยตัวตรวจจับความล้มเหลวเพื่อหลีกเลี่ยงผลลัพธ์ที่เป็นไปไม่ได้ได้อย่างไร?

Key theories

ภาวะกึ่งซิงโครนัส
ระบบจริงไม่ได้เป็นทั้งซิงโครนัสเต็มรูปแบบหรืออะซิงโครนัสเต็มรูปแบบ; แบบจำลองกึ่งซิงโครนัสสันนิษฐานว่ามีขีดจำกัดของความล่าช้าและความเร็วที่คงอยู่ตลอดไปหรือยังไม่ทราบ ซึ่งเพียงพอที่จะแก้ไขปัญหาฉันทามติในขณะที่ยังคงความเป็นจริง
ลำดับชั้นของแบบจำลองความล้มเหลว
ความล้มเหลวมีตั้งแต่การขัดข้องแบบ fail-stop ที่ไม่รุนแรง ไปจนถึงการละเว้นการส่ง/รับและการละเมิดเวลา ไปจนถึงพฤติกรรม Byzantine แบบสุ่ม; ความรุนแรงของความล้มเหลวที่โปรโตคอลต้องทนทานกำหนดปัจจัยการจำลองแบบที่จำเป็นและความซับซ้อนของข้อความ
ตัวตรวจจับความล้มเหลวที่ไม่น่าเชื่อถือ
ตัวตรวจจับความล้มเหลวแบบนามธรรมให้คำแนะนำที่อาจไม่ถูกต้องเกี่ยวกับกระบวนการที่ขัดข้อง; การระบุลักษณะของตัวตรวจจับที่อ่อนแอที่สุดที่เพียงพอต่อการแก้ไขปัญหาฉันทามติจะช่วยประสานความแม่นยำของระบบอะซิงโครนัสกับการนำไปใช้งานจริงโดยอาศัยการหมดเวลา

Clinical relevance

ระบบการผลิตมักจะเลือกแบบจำลองเวลาและความล้มเหลวโดยปริยายเมื่อมีการตั้งค่าการหมดเวลา เลือกปัจจัยการจำลองแบบ หรือตัดสินใจว่าจะป้องกันผู้เข้าร่วมที่เป็นอันตรายหรือไม่ การตั้งสมมติฐานเหล่านี้ผิดพลาดเป็นสาเหตุหลักที่พบบ่อยของเหตุการณ์ split-brain และข้อมูลสูญหาย

History

หลังจากที่แบบจำลองอะซิงโครนัสแสดงให้เห็นว่าอ่อนแอเกินไปสำหรับการสร้างฉันทามติที่ทนทานต่อความผิดพลาด Dwork, Lynch, และ Stockmeyer ได้นำเสนอภาวะกึ่งซิงโครนัสในปี 1988 และ Chandra และ Toueg ได้กำหนดรูปแบบตัวตรวจจับความล้มเหลวที่ไม่น่าเชื่อถือในปี 1996 ซึ่งทั้งหมดนี้ได้มอบเครื่องมือในการสร้างแบบจำลองที่ทำให้ข้อตกลงที่ทนทานต่อความผิดพลาดในทางปฏิบัติเป็นไปได้

Debates

การหมดเวลาเป็นข้อสมมติฐานด้านเวลาหรือตัวตรวจจับความล้มเหลว?
มุมมองหนึ่งถือว่าการหมดเวลาเป็นการเข้ารหัสขีดจำกัดของภาวะซิงโครนัส (ในที่สุด); อีกมุมมองหนึ่งถือว่าเป็นการนำตัวตรวจจับความล้มเหลวแบบนามธรรมไปใช้จริง การกำหนดกรอบทั้งสองนี้ส่วนใหญ่เทียบเท่ากัน แต่เน้นขอบเขตการออกแบบที่แตกต่างกันระหว่างแบบจำลองเครือข่ายและอัลกอริทึม

Key figures

  • Cynthia Dwork
  • Nancy Lynch
  • Larry Stockmeyer
  • Tushar Chandra
  • Sam Toueg

Related topics

Seminal works

  • dwork1988
  • chandra1996
  • lynch1996

Frequently asked questions

เหตุใดการตรวจจับความล้มเหลวที่เชื่อถือได้จึงไม่สามารถนำไปใช้ในระบบอะซิงโครนัสบริสุทธิ์ได้?
หากไม่มีขีดจำกัดของความล่าช้าของข้อความ กระบวนการที่ช้ามากแต่ยังทำงานอยู่จะไม่สามารถแยกแยะได้จากกระบวนการที่ขัดข้อง ดังนั้นตัวตรวจจับใด ๆ จะต้องผิดพลาดในบางครั้ง นี่คือเหตุผลที่ระบบอะซิงโครนัสได้รับการเสริมด้วยข้อสมมติฐานด้านเวลาหรือตัวตรวจจับที่ไม่น่าเชื่อถือ

Methods for this concept

Related concepts