กลับไปหน้าบทความ

อ่าน 1 นาที

อัลกอริทึมการกีดกันร่วมกันแบบกระจายของ Lamport

เปลี่ยนทางจากการเคลื่อนไหว

อัลกอริทึมการกีดกันร่วมกันแบบกระจายของ Lamportเป็นอัลกอริทึมแบบใช้การแย่งชิงเพื่อการ กีดกันร่วมกันในระบบแบบกระจาย

อัลกอริทึมการกีดกันร่วมกันแบบกระจายของ Lamport

อัลกอริทึมการกีดกันร่วมกันแบบกระจายของ Lamportเป็นอัลกอริทึมแบบใช้การแย่งชิงเพื่อการ กีดกันร่วมกันในระบบแบบกระจาย

อัลกอริทึม

คุณสมบัติของโหนด

  1. ทุกกระบวนการจะรักษาคิวของคำขอที่รออยู่เพื่อเข้าสู่ส่วนวิกฤตตามลำดับ คิวเหล่านี้เรียงลำดับตามการประทับเวลาเสมือนที่ได้มาจาก การประทับเวลา ของLamport [ 1 ]

อัลกอริทึม

กระบวนการร้องขอ

  1. โดยจัดลำดับคำขอไว้ในคิวของตนเอง (เรียงตามเวลาที่ส่ง)
  2. ส่งคำขอไปยังทุกโหนด
  3. กำลังรอการตอบกลับจากโหนดอื่นๆ ทั้งหมด
  4. หากคำขอของเราอยู่ในลำดับต้นๆ ของคิวและได้รับคำตอบทั้งหมดแล้ว ให้เข้าสู่ส่วนวิกฤต (critical section)
  5. เมื่อออกจากส่วนวิกฤตแล้ว ให้ลบคำขอของส่วนนั้นออกจากคิวและส่งข้อความปล่อยไปยังทุกกระบวนการ

กระบวนการอื่นๆ

  1. หลังจากได้รับคำขอแล้ว ระบบจะจัดคำขอนั้นลงในคิวคำขอของตัวเอง (เรียงตามเวลาที่ได้รับ) และตอบกลับพร้อมประทับเวลา
  2. หลังจากได้รับข้อความแจ้งการอนุมัติแล้ว ให้ลบคำขอที่เกี่ยวข้องออกจากคิวคำขอของตนเอง

ความซับซ้อนของข้อความ

อัลกอริทึมนี้สร้างข้อความ 3( N  − 1) ข้อความต่อคำขอ หรือข้อความ ( N  − 1) ข้อความและการกระจายเสียง 2 ครั้ง ข้อความ 3( N  − 1) ข้อความต่อคำขอประกอบด้วย:

  •  จำนวนคำขอทั้งหมด( N − 1)
  •  จำนวนการตอบกลับทั้งหมด( N − 1)
  •  จำนวนการปล่อยทั้งหมด( N − 1)

ข้อเสีย

อัลกอริทึมนี้มีข้อเสียหลายประการ ได้แก่:

  • ระบบนี้ไม่น่าเชื่อถืออย่างยิ่ง เพราะหากกระบวนการใดกระบวนการหนึ่งล้มเหลว ก็จะทำให้การดำเนินงานหยุดชะงักลง
  • มีความซับซ้อนของข้อความสูงถึง 3( N − 1) ข้อความต่อการเข้า/ออกในส่วนวิกฤต

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Lamport%27s_distributed_mutual_exclusion_algorithm&oldid=1157102062 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ อัลกอริทึมการกีดกันร่วมกันแบบกระจายของ Lamport

อัลกอริทึมการกีดกันร่วมกันแบบกระจายของ Lamportเป็นอัลกอริทึมแบบใช้การแย่งชิงเพื่อการ กีดกันร่วมกันในระบบแบบกระจาย

คุณสมบัติของโหนด

ทุกกระบวนการจะรักษาคิวของคำขอที่รออยู่เพื่อเข้าสู่ส่วนวิกฤตตามลำดับ คิวเหล่านี้เรียงลำดับตามการประทับเวลาเสมือนที่ได้มาจาก การประทับเวลา ของ Lamport [ 1 ]

ความซับซ้อนของข้อความ

อัลกอริทึมนี้สร้างข้อความ 3( N − 1) ข้อความต่อคำขอ หรือข้อความ ( N − 1) ข้อความและการกระจายเสียง 2 ครั้ง ข้อความ 3( N − 1) ข้อความต่อคำขอประกอบด้วย:

ข้อเสีย

อัลกอริทึมนี้มีข้อเสียหลายประการ ได้แก่: