장애 검출기

Failure detector

분산 컴퓨팅 시스템에서 장애 검출기는 노드 장애 또는 [1]크래시의 검출을 담당하는 컴퓨터 애플리케이션 또는 서브시스템입니다.고장 검출기는 Chandra와 Toug에 의해 1996년 신뢰할 수 있는 분산 시스템을 위한 신뢰할 수 없는 고장 검출기에서 처음 도입되었습니다.이 책은 고장 검출기를 분산 시스템에서 합의(신뢰성 달성)와 원자 방송(동일한 일련의 메시지)을 개선하기 위한 도구로서 묘사하고 있다.즉, 장애 검출기는 프로세스에서 오류를 검색하여 시스템이 어느 정도의 신뢰성을 유지합니다.실제로 장애 검출기가 크래시를 검출한 후 시스템은 더 이상의 심각한 크래시 또는 [2][3]오류를 방지하기 위해 오류가 발생한 프로세스를 금지합니다.

21세기에는 소프트웨어 애플리케이션이 정상적으로 기능하지 않게 되는 등의 애플리케이션 오류를 검출하기 위해 장애 검출기가 분산 컴퓨팅 시스템에서 널리 사용되고 있습니다.분산 컴퓨팅 프로젝트(분산 컴퓨팅 프로젝트 목록 참조)가 보급됨에 따라 장애 검출의 사용도 중요해지고 [4][5]있습니다.

기원.

신뢰할 수 없는 장애 검출기

신뢰할 수 있는 분산 시스템을 위한 신뢰할 수 없는 고장 검출기(1996)의 공동 저자인 찬드라(Chandra)와 투그(Toug)[6]는 신뢰할 수 없는 고장 검출기를 도입하여 고장 노드를 검출하는 개념에 접근했다.이들은 분산 컴퓨팅 시스템에서 신뢰할 수 없는 장애 검출기의 동작을 다음과 같이 설명하고 있습니다.시스템 내의 각 프로세스가 로컬 장애 검출기 컴포넌트에 들어간 후 각 로컬 컴포넌트가 [5]시스템 내의 모든 프로세스의 일부를 조사합니다.또한 각 프로세스에는 현재 장애 [5]검출기에 의해 의심되는 프로그램도 포함되어 있어야 합니다.

장애 검출기

이 그림은 일반적인 장애 검출기(FD)의 동작을 나타내고 있습니다.

Chandra와 Toug는 신뢰할 수 없는 고장 검출기가 시스템에 [6]의해 발생한 오류를 검출하는 데 있어 여전히 신뢰할 수 있다고 주장했다.신뢰할 수 없는 장애 디텍터와 장애 디텍터는 동일한 속성을 공유하기 때문에 신뢰할 수 없는 장애 디텍터를 모든 형태의 장애 디텍터로 일반화합니다.또한 Chandra와 Toug는 고장 검출기가 이전에 추락한 프로그램이 의심되는 경우에도 시스템 충돌을 방지하지 못한다는 중요한 사실을 지적한다.고장검출기 구축은 필수적이지만 분산형 컴퓨터 시스템의 내결함성 컴포넌트 개발에서 발생한 매우 어려운 문제입니다.그 결과, 분산 컴퓨팅 [1][3][5]시스템의 대규모 정보 트랜잭션의 오류를 검출할 필요성 때문에 고장 검출기가 발명되었습니다.

특성.

고장 검출기의 클래스는 완전성과 정확성의 두 가지 중요한 속성으로 구분됩니다.완전성은 장애 검출기가 프로세스에서 최종적으로 크래쉬한 프로그램을 검출하는 것을 의미합니다.정확도는 장애 검출기가 프로세스에서 [5]내린 올바른 결정을 의미합니다.

완성도

완전도는 충돌한 프로세스의 수에 따라 일정 기간 동안 [5]고장 검출기에 의해 의심됩니다.

  • 강력한 완전성: "결국 모든 장애가 발생한 프로세스는 장애가 없는 [6]모든 프로세스에 의해 영구적으로 의심됩니다."
  • 불완전한 상태: "결국 모든 장애가 발생한 프로세스는 일부 비장애 [6]프로세스에 의해 영구적으로 의심됩니다."

정밀도

정확도는 고장 검출기가 특정 [5]기간 동안 저지른 실수 수에 따라 달라집니다.

  • 높은 정확성: [6]"크래시되기 전에 (누구도) 의심하지 않는 프로세스"
  • 정확도 약: "장애가 없는 프로세스 중에는 전혀 [6]의심되지 않는 것이 있습니다."
  • 궁극적으로는 강력한 정확도:"최초의 혼란 [6]기간이 종료된 후, 마지막 충돌이 발생한 시점으로서 일정 시간이 경과한 후에는 결함이 없는 프로세스가 의심되지 않습니다."
  • 최종적으로는 정확도가 약하다:"어느 정도의 혼란이 발생한 후, 일부 비장애 프로세스는 [6]전혀 의심되지 않는다."

분류

장애 디텍터는 다음 8가지 [1][7]유형으로 분류할 수 있습니다.

  1. 완벽한 장애 검출기(P)
  2. 결국 완벽한 고장 감지기(♦P)
  3. 강력한 고장 검출기(S)
  4. 결국 강력한 고장 감지기(♦S)
  5. 약한 고장 검출기(W)
  6. 결국 약한 고장 감지기(♦W)
  7. 준완벽 고장 검출기(Q)
  8. 최종적으로 준완벽 고장 검출기 (♦Q)

이러한 장애 검출기의 속성은 [1]다음과 같습니다.

정확성.

완료 -
네스
강한.
끊임없이 계속되는
정확성.
약한
끊임없이 계속되는
정확성.
강한.
궁극적
정확성.
약한
궁극적
정확성.
강력한 완전성 P S ♦P ♦S
완전성이 약하다 Q W ♦Q ♦W

한마디로 장애 검출기의 속성은 장애 검출기가 실제 장애를 얼마나 빨리 검출하는지 및 오검출을 얼마나 잘 회피하는지에 따라 달라집니다.완벽한 고장 검출기는 오류 없이 모든 오류를 발견하지만 약한 고장 검출기는 오류를 발견하지 못하고 수많은 [3][8]실수를 저지릅니다.

적용들

고장 [3][6]검출기의 속성을 변경하여 다양한 유형의 고장 검출기를 얻을 수 있습니다.첫 번째 예시는 고장검출기의 완전성을 높이는 방법을 보여주고 두 번째 예시는 고장검출기의 한 유형을 다른 유형으로 변경하는 방법을 보여줍니다.

완성도 향상

다음은 예일대학교 컴퓨터과학과에서 발췌한 예입니다.고장 [6]검출기의 완전성을 높여 기능한다.

처음에는 = do forever: 각 프로세스에 대해 p: 내 취약 계층이 p를 의심하는 경우 q: suspects: = suspect + p - q: 를 받는 즉시 모든 프로세스에 p를 보냅니다.

위의 예에서 p가 크래시하면 weak-detector는 최종적으로 그것을 의심하게 됩니다.장애 검출기에 의해 생성되는 무한 루프 때문에 시스템 내의 모든 장애 검출기는 최종적으로 p를 의심하게 됩니다.또, 이 예에서는, 완전성이 약한 고장 검출기에서도,[6] 최종적으로 모든 크래시가 발생할 가능성이 있는 것을 나타내고 있습니다.크래시된 프로그램의 검사는 [5]완전성에 좌우되지 않습니다.

고장 검출기 W를 고장 검출기 S로 축소

다음은 고장검출기 W를 고장검출기 [1]S로 변경하는 알고리즘을 만족시키기 위한 정확도 인수이다.고장검출기 W는 완전성이 약하고 고장검출기 S는 완전성이 강하다.둘 다 [6]정확성이 약하다.

  1. 그것은 약한 완전성을 [1]강한 완전성으로 바꾼다.
  2. 영구적인 [1]정확성을 유지합니다.
  3. 최종적인 [1]정확성을 유지합니다.

위의 모든 인수가 충족되면 취약고장검출기 W를 강고장검출기 S로 환원하는 것은 분산 컴퓨팅 [1]시스템 내의 알고리즘과 일치한다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b c d e f g h i D., Kshemkalyani, Ajay (2008). Distributed computing : principles, algorithms, and systems. Singhal, Mukesh. Cambridge: Cambridge University Press. ISBN 9780521189842. OCLC 175284075.
  2. ^ Aguilera, Marcos Kawazoe; Chen, Wei; Toueg, Sam (2000-04-01). "Failure detection and consensus in the crash-recovery model". Distributed Computing. 13 (2): 99–125. doi:10.1007/s004460050070. hdl:1813/7330. ISSN 0178-2770.
  3. ^ a b c d Fischer, Michael J.; Lynch, Nancy A.; Paterson, Michael S. (April 1985). "Impossibility of Distributed Consensus with One Faulty Process". J. ACM. 32 (2): 374–382. CiteSeerX 10.1.1.13.6760. doi:10.1145/3149.214121. ISSN 0004-5411.
  4. ^ Holohan, Anne; Garg, Anurag (2005-07-01). "Collaboration Online: The Example of Distributed Computing". Journal of Computer-Mediated Communication. 10 (4): 00. doi:10.1111/j.1083-6101.2005.tb00279.x. ISSN 1083-6101.
  5. ^ a b c d e f g h Chandra, Tushar Deepak; Toueg, Sam (1996). Unreliable failure detectors for reliable distributed systems. Journal of the ACM. Volume 43 Issue 2. New York, NY, USA: ACM. pp. 225–267. doi:10.1145/226643.226647. hdl:1813/7192. ISBN 978-0897914390.
  6. ^ a b c d e f g h i j k l "FailureDetectors". www.cs.yale.edu. Retrieved 2017-10-23.
  7. ^ Aguilera, Marcos Kawazoe; Toueg, Sam (1996-10-09). Randomization and failure detection: A hybrid approach to solve Consensus. Distributed Algorithms. Lecture Notes in Computer Science. Springer, Berlin, Heidelberg. pp. 29–39. CiteSeerX 10.1.1.88.1597. doi:10.1007/3-540-61769-8_3. ISBN 978-3540617693.
  8. ^ Chen, Wei; Toueg, S.; Aguilera, M. K. (January 2002). "On the quality of service of failure detectors". IEEE Transactions on Computers. 51 (1): 13–32. CiteSeerX 10.1.1.461.5630. doi:10.1109/12.980014. ISSN 0018-9340.

외부 링크