Chapter 3 - Time and Global states[기간과 가상시간(2/2)]
분산처리 17.04.10
강의 노트
19page
---------------------------------------------------------------------------------------------------------
램포트 논문
HB : Happen befor
20page
---------------------------------------------------------------------------------------------------------
a와 e는 컨커런트하다
21page
---------------------------------------------------------------------------------------------------------
타임스템프를 붙이는 기본 개념
22page
---------------------------------------------------------------------------------------------------------
e는 e' -> L(e) < L(e') 는 true//
but 역관계는 성립하지 않는다. //
즉 p3 프로세스의 e1은 p1의 b는 숫자가 작다고 하다고 하지만 시간에 대해 관계는 없다.
vector을 제한한다.
위의 정의가 성립하지 않음으로.
23page
---------------------------------------------------------------------------------------------------------
vector의 설명 = VC (vector clock)
(1.0.0) p1 에서는 (n,0,0)으로만 타임스템프를 부여 n++
(0.1.0) p2 에서는 (0,m,0)으로만 타임스템프를 부여 m++
b-> c로 send event 발생하면 자기 값을 넣어놓고 tass 한다.
(2.0.0) - b
(2.1.0) - c : b를 받고 시작할?
e의 경우 시작값(0,0,1)로 시작 f로 진행될 때 d로 부터 send 한 값 (2.2.0)을 받아 (2.2.1)로 시작함
**vector 값을 비교하려면 (1.0.0)과 (0.0.1)은 비교 못함 but (2.0.0)과 (2.1.0)을 비교하는 것은 가능
24page
---------------------------------------------------------------------------------------------------------
Global states
25page
---------------------------------------------------------------------------------------------------------
Garbage collection 쓰레기 처리하고 재사용할 카파시티를 만들어냄
- 하나의 오브젝트에 대해 relation이 있다면 Garbage collection 시키면 안됨
Deadlock
termination
*찾기 힘들다
26page
consistent cut 하기 위한 조건
1. happen before관계 있는 모든 event에 대해
27page
---------------------------------------------------------------------------------------------------------
m1의 cut의 경우 e1^0과 e2^0를 포함하지만 e1보다 늦게 일어난 e1^1과 e2^0 관계가 있으므로 inconsisitent cut으로 해석 >> m1은 ophan message - 고아 메세지
m2의 경우 e2^2의 경우 타임 컷에 걸리지만, e1^3는 시간적으로 적합함으로 consistent cut으로 해석
-> 리스브는 있는데 센더만 없으면 오퍼 오류
29page
---------------------------------------------------------------------------------------------------------
Snapshot
분산시스템에 글로벌 클럭을 구하는 방법의 알고리즘
제약사항
스냅샷의 도중에도 메세지 전송이나 연산은 계속 진행된다.
system model
incoming/outgoing chennels
- special marker messages > 스냅샷을 실행할때 상태정보를 모우기 위한 signal(flag)
- marker rule : reciving rule, sending rule
RR -> 받으면 자신의 상태를 저장한다. / 이미 상태가 저장되었더라도, 새로운 메세지가 오면 채널만의 상태를 저장한다.
SR ->
32page
---------------------------------------------------------------------------------------------------------
2개의 프로세스에는 부품을 교환한다.
p2가 판다 p1은 산다
위젯 한개 10불
모든프로세스 결과
글로벌스테이트 P1:100,0 ; $50,1995 c1:<five widgets> ; c2:<>
record에서만 상태정보를 저장한다. 다만 record cji에서 붕뜬 데이터는 채널만 기억하고 있는다.