M.Sc TU. Blog

เว็บบล๊อกผลงาน (Web Blog) นักศึกษาระดับปริญญาโท คณะวิทยาศาสตร์และเทคโนโลยี สาขาวิทยาการคอมพิวเตอร์ มหาวิทยาลัยธรรมศาสตร์

วันพุธที่ 24 มีนาคม พ.ศ. 2553

Two-Phase Commit Protocol (Thread Model)

Project_Master-Slave แบบที่ใช้ Threads

ได้ทำโปรแกรม Master ในการรันใช้คำสั่ง
> tf-master -m -p -s

โดยที่สามารถกำหนดค่าต่างๆ ได้แก่
-m คือ โหมดในการรัน (โหมดโปรแกรม A หรือโหมดโปรแกรม B)
-p คือ หมายเลข port ที่จะให้ slave เข้ามา register
-s คือ จำนวน slave มากสุดที่จะให้เชื่อมต่อได้

สำหรับโปรแกรม Slave รันโดยใช้คำสั่ง
> tf-slave -i -p

โดยกำหนดค่าในการเชื่อมต่อไปหา Master ดังนี้
-i คือ IP ของเครื่อง master
-p คือ port ที่ใช้ register
สำหรับฟังก์ชั่นที่ทำเสร็จ (ในวันพรีเซนต์) ได้แก่

โปรแกรม A
- คำสั่ง list (พิมพ์ slave ทั้งหมด)
- คำสั่ง check-all-conn (เช็คว่า slave ยังอยู่ไหม)
- คำสั่ง close-conn (ตัดการเชื่อมต่อ)
- คำสั่ง delete-member (ลบออกจากกลุ่ม) 
- คำสั่ง run-code (2-phase, เช็คโค๊ดว่ารันได้ไหม, ถ้ารันได้ สั่งให้รันทุก slave, ถ้าไม่ได้ ให้ยกเลิกหมด) 
- คำสั่ง close-all-conn (ปิดการเชื่อมต่อ)
- คำสั่ง exit
โปรแกรม B ทั้ง 2 ข้อ

สำหรับฟังก์ชั่นที่ทำเสร็จ (เพิ่มหลังวันพรีเซนต์) ได้แก่
- คำสั่ง list-files
- แก้ bug ที่ check-all-conn ไม่ลบข้อมูล slave ที่หลุดจากการเชื่อมต่อไปแล้ว
- แก้ bug ที่เมื่อมีการ disconnect บาง slave แล้ว master ยังไม่สามารถรับ slave ตัวใหม่มาได้


สำหรับฟังก์ชั่นที่ไม่ได้ทำ คือ
- คำสั่ง put-file
- คำสั่ง get-file
- คำสั่ง stage-code


Program description





credit:
hotdog_x

คลังบทความของบล็อก

favourites