Music Hit In your life

วันพฤหัสบดีที่ 2 กันยายน พ.ศ. 2553

การคงทนต่อความเสียหาย (Fault Tolerance)

                    Fault Tolerance คือ คุณสมบัติของระบบที่ทำให้ระบบสามารถปฏิบัติงานต่อไปได้แม้ว่าจะมีองค์ประกอบภายในบางอย่างเสียหาย หรือถ้าหากประสิทธิภาพการทำงานของระบบลดลงเนื่องจากความเสียหายภายใน ความสามารถที่ลดลงก็จะสอดคล้องกับความเสียหายภายในที่เกิดขึ้น ต่างจากระบบที่ไม่มี Fault Tolerance ซึ่งระบบทั้งหมดสามารถล้มเหลวโดยสิ้นเชิงได้เพียงเพราะความเสียหายที่เล็กน้อยก็ตาม ตัวอย่างของ Fault Tolerance ในแง่ของคอมพิวเตอร์ เช่น Load Balancing คือการกระจายงานไปให้คอมพิวเตอร์แต่ละเครื่องที่เชื่อมต่อกันเป็นเครือข่ายอย่างเท่าๆกัน เพื่อที่ว่าคอมพิวเตอร์แต่ละเครื่องจะไม่ต้องรับภาระที่หนักเกินไป และเมื่อเครื่องใดเครื่องหนึ่งเสียหาย Load Balancer ก็จะกระจายงาน

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


การตรวจจับความเสียหาย (Fault Detection): เป็นกระบวนการที่ตรวจจับว่ามีความเสียหายเกิดขึ้นหรือไม่ ซึ่งการตรวจจับความเสียหายมักเป็นความต้องการแรก ก่อนที่จะดำเนินการตามขั้นตอนอื่นต่อไป


การระบุตำแหน่งความเสียหาย (Fault Location): เป็นกระบวนการสำหรับหาว่าระบบมีความเสียหายที่จุดไหน เพื่อที่จะสามารถดำเนินการกู้คืนได้ถูกต้อง


การจำกัดเขตความเสียหาย (Fault Containment): เป็นกระบวนการเพื่อแยกหรือกันความเสียหายออกจากการทำงานของระบบ เพื่อไม่ให้ความเสียหายดังกล่าวส่งผลกระทบต่อส่วนอื่นของระบบ หรือแพร่กระจายไปทั้งระบบ การจำกัดเขตความเสียหายเป็นส่วนสำคัญที่ขาดไม่ได้ของระบบที่คงทนต่อความเสียหายทุกระบบ


การกู้คืนจากความเสียหาย (Fault Recovery): เป็นกระบวนการที่ทำให้ระบบสามารถทำงานได้ต่อเนื่อง หรือกลับมาทำงานได้ ระหว่างการจัดรูปแบบการทำงาน เมื่อเกิดความเสียหายขึ้น

หลักการและความสำคัญของเทคโนโลยี Fault Tolerance

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

การทำ Fault Tolerance ด้วยวิธี duplication เป็นหลักการโดยรวมในกระบวนการนี้ สามารถแบ่งได้เป็น 3 อย่างคือ
1. Replication จัดการสร้างการทำงานในลักษณะเดียวกัน หลายๆ ชุด โดยทำงานพร้อมๆกัน แล้วจึงนำมาเปรียบเทียบกันเพื่อ เลือกผลลัพธ์ที่ถูกต้องที่สุด
2. Redundancy จัดการสร้างระบบที่เหมือนๆกับระบบหลัก หลายๆชุด เพื่อมาสำรองใช้เวลา ที่ระบบหลักเกิดปัญหาขึ้น
3. Diversity จัดการกับงานในหลายๆ วิธี หลายๆรูปแบบ และทำในลักษณะเดียวกับแบบ Replication คือ เลือกผลลัพธ์ที่ถูกต้องที่สุด
 
วิธี Duplication นั้น เป็นเหมือนในลักษณะการป้องกัน คือไม่ให้เกิดความผิดพลาด หรือโอกาสเกิดความผิดพลาดน้อยที่สุด แต่เมื่อเจอกับความผิดพลาดแล้ว ระบบที่มี Fault Tolerance มักจะมีกระบวนในการจัดการเพื่อให้ระบบสามารถทำงานต่อไปได้ ซึ่งแบ่งได้คร่าวๆ ดังนี้



              – Fail-safe โปรแกรมป้องกันหรือระบบป้องกัน ที่จะทำงานเมื่อพบความผิดพลาดในระบบ


              – Failover ความสามารถในการสับเปลี่ยนระบบการทำงานหลักไปสู่ระบบสำรอง(Redundant) ซึ่งสามารถทำงานแก้ไขข้อผิดพลาดให้ถูกต้องได้ และทำงานต่อไปเหมือนไม่มีอะไรเกิดขึ้น จนกว่า ระบบหลักจะสามารถทำงานต่อได้


            – Failback ความสามารถในการทำให้ระบบกลับไปสู่สถานะ ก่อนที่จะเกิดความผิดพลาด โดยวิธีนี้ อาจจำเป็นต้องมีการทำ checkpoint เป็นประจำเพื่อเก็บสถานะที่ทำงานได้ถูกต้องล่าสุดเอาไว้


เครดิต http://hpc.ee.kmutnb.ac.th

ไม่มีความคิดเห็น:

แสดงความคิดเห็น