리브

Liveness

동시 컴퓨팅에서 livity는 동시 실행 구성 요소("프로세스")가 여러 프로세스에 의해 동시에 실행될 수 없는 프로그램의 일부인 중요 섹션에서 "교대"해야 함에도 불구하고 시스템이 진전을 이루도록 요구하는 동시 시스템의 속성 집합을 말한다.[1]활성 보증은 운영 체제와 분산 시스템에서 중요한 속성이다.[2]

보다 일반적으로, liven 속성은 "결국 좋은 일이 일어날 것"이라고 말하고, "나쁜 일은 일어나지 않는다"라고 말하는 안전 속성과 대조된다.안전성이 침해되는 경우, 항상 위반("나쁜" 사건 발생)을 나타내는 유한한 실행이 존재하지만, "좋은" 사건은 나중에 발생할 수 있기 때문에 분산 시스템의 유한한 실행에서 탄력성이 침해될 수 없다.궁극적으로 일관성은 liven 속성의 한 예다.[3]모든 선형 시간 특성은 안전성과 강도 특성의 교차점으로 표현될 수 있다.[4]주어진 안전 속성의 위반은 유한한 증인을 인정하는 반면에, 탄성 속성의 위반은 유한한 증인을 증거로 사용할 수 없기 때문에 성립하기가 더 어려울 수 있다.[5]

리빙의 형태

몇몇 형태의 연기는 인정된다.다음은 중요한 섹션을 가지는 다중 프로세스 시스템의 관점에서 정의되며, 일부 상호 배제(뮤텍스) 장치에 의해 보호된다.모든 프로세스는 뮤텍스를 올바르게 사용하는 것으로 가정하며, 진행은 중요 섹션의 마무리 실행으로 정의된다.

  • 교착상태로부터의 자유는 비록 약한 것이기는 하지만, 연기의 한 형태다.여러 프로세스와 하나의 중요 섹션이 있는 시스템을 고려하고, 일부 상호 배제 장치에 의해 보호된다.이러한 시스템은 프로세스 그룹이 특정 시점에 중요 섹션에 접근하기 위해 경쟁할 때, 결국 일부 프로세스가 나중에 진행되면 교착 상태가 없는 것으로 알려져 있다.그 과정은 앞서 언급한 그룹에 속할 필요가 없다. 그 과정은 더 이른 시점이나 심지어 더 늦은 순간에 접근하게 되었을 수도 있다.[6]
  • 기아로부터의 자유(또는 "최종 우회")는 교착상태에 빠진 자유보다 더 강력한 사랑 보증이다.그것은 중요한 지역에 접근하기 위해 경쟁하는 모든 과정이 결국 진척된다고 말한다.어떤 기아 없는 시스템도 교착 상태가 없다.[6]
  • 더 강한 것은 경계가 있는 우회술의 필요조건이다.즉, n개의 프로세스가 임계 영역에 대한 접근을 위해 경쟁하는 경우, 각 프로세스는 일부 기능 f에 대해 다른 프로세스에 의해 최대 f(n)번 우회된 후 진전을 보인다는 것을 의미한다.[6]

연기와 안전

B에 따르면알펜, 교착상태에 빠진 자유는 안전 재산이다.[7]알페른은 시스템 상태를 교착 상태(적색 상태)가 존재하는 상태(적색 상태)와 교착 상태가 없는 상태(녹색 상태)로 나눌 수 있다고 가정한다.시스템이 녹색 상태(또는 시스템이 절대 적색 상태에 도달하지 않는 경우)에 영원히 남아 있다고 명시한 속성은 안전 속성이다.그러나 녹색 상태와 적색 상태를 구분할 수 없다면 결국 시스템 내 프로세스 중 하나가 진화할 것이라는 속성이 바로 라이언스 속성이다.

형식적 구분

안전성과 활성성의 구별은 공식적으로는 P( t){\)}를 통해 설정할 수 있는데 서 t 은 시간을 가리킨다. 을(를) 활성도와 안전 특성이 평가되는 시작의 순간이 되도록 한다.아래 예에서 을(를) 교착 상태가 해제된 것으로 확인하려는 프로세스(또는 스레드)로 두십시오.

안전: t : (t )= . t_

예: ( t) 는 "x {\ x이( {\ t "의 시간에 교착 상태에 있다는 것을 의미한다.

Live: : 1 t ,∃ t , < : ()= .}\ t\1},

예: ( t) 은 " 이(가) 시간 "에서 대기 중지됨을 의미한다.

경계 바이패스 및 경계 추월

경계 바이패스의 강도 특성과 경계 추월이라는 안전 속성의 구분이 미묘하다는 점도 주목할 필요가 있다.기아의 자유는 경계가 있는 추월과 함께 경계가 있는 우회(즉, 경계가 있는 우회도로는 회전 속성으로 분류되지만, 실제로는 회전 속성과 안전 속성이 혼합된 것)을 의미한다.경계 추월이란 태그가 지정된 프로세스가 중요 섹션에 진입할 관심을 선언한 후, 태그가 지정된 프로세스가 임계 섹션에 진입하기 전에 경계된 횟수만큼 서로 다른 프로세스가 태그가 지정된 프로세스를 추월한다는 것을 의미한다.태그가 지정된 프로세스에서 중요 섹션에 진입할 수 있는 권한이 부여되지 않은 경우, 경계가 지정된 추월 작업은 계속 유지될 수 있다는 점에 유의하십시오.그러므로, 한계 추월 그 자체로는, 리브리티 속성이 아니다.교착상태에 빠진 시스템에서는 경미한 추월, 경계가 다른 것을 추월하는 과정은 없지만 경계가 있는 우회로는 그렇지 않다.[8]

참고 항목

참조

  1. ^ Lamport, L. (1977). "Proving the Correctness of Multiprocess Programs". IEEE Transactions on Software Engineering (2): 125–143. CiteSeerX 10.1.1.137.9454. doi:10.1109/TSE.1977.229904.
  2. ^ Luís Rodrigues, Christian Cachin; Rachid Guerraoui (2010). Introduction to reliable and secure distributed programming (2. ed.). Berlin: Springer Berlin. pp. 22–24. ISBN 978-3-642-15259-7.
  3. ^ Bailis, P.; Ghodsi, A. (2013). "Eventual Consistency Today: Limitations, Extensions, and Beyond". Queue. 11 (3): 20. doi:10.1145/2460276.2462076.
  4. ^ Alpern, B.; Schneider, F. B. (1987). "Recognizing safety and liveness". Distributed Computing. 2 (3): 117. CiteSeerX 10.1.1.20.5470. doi:10.1007/BF01782772.
  5. ^ Gouda, Mohamed G. (1993). "Protocol verification made simple: a tutorial". Computer Networks and ISDN Systems. 25 (9): 969–980. doi:10.1016/0169-7552(93)90094-k.
  6. ^ a b c Raynal, Michel (2012). Concurrent Programming: Algorithms, Principles, and Foundations. Springer Science & Business Media. pp. 10–11. ISBN 978-3642320262.
  7. ^ Alpern, B. (1985). "Defining liveness". Information Processing Letters. 21 (4): 181–185. doi:10.1016/0020-0190(85)90056-0.
  8. ^ Fang, Y. (2006). Liveness by invisible invariants. International Conference on Formal Techniques for Networked and Distributed Systems. Lecture Notes in Computer Science. Vol. 4229. pp. 356–371. doi:10.1007/11888116_26. ISBN 978-3-540-46219-4.