본문 바로가기
대학원(~2019.07)/분산처리(소프트웨어공학)

Chapter 3 - Time and Global States[시간과 가상시간(1/2)]

by 카터(Carter. CHO) 2017. 3. 29.

1. 서론


(1.1) 요약


DS 이슈들과 연관이 있다.

- 시간은 또한 중요하다. 구축 이론상 어떻게 분산처리를 실행하는지 이해하기 위해서

- DS상에서 일어나는 문제의 근원

글로벌 시간을 찾아 적용하는 것은 매우 어려운 일이다.

검토되는 알고리즘은 고려한다 가상시간을 하지만 실제 글로벌 시간과는 차이가 존재한다.


(1.2) 설명


DS(분산처리시스템)에서 시간은 매우 중요한 개념이다.

우리는 시간을 정확히 측정하고 싶어한다.


*각각의 컴퓨터에서 일어난 이벤트에 시간의 파악을 위해

(동기화를 통한 외부의 자원을 활용)


*알고리즘은 동기화 시간에 의존한다.

- 분산처리시스템의 일치성을 유지하기 위해

- 서버에 Request한 권한을 체크하기 위해


실제로 가상시간은 존재하기 힘들다.

컴퓨터의 시간을 맞추는 방법

*Approximately Synchronized

*Local Clocks

*Including Vector Clocks


2. 내용


(2.1) Clocks, Events and Process States


- Distributed 

  모든 프로세스 커뮤니케이션은 메세지 파싱으로 진행된다.

  프로세스의 액션

  * 메세지느 주고 받는 Operation

  * Operation은 프로세스 상태의 Tranform 


- Clock

  우리는 어떻게 주문 이벤트가 일어나는지 알고 있다.

  Clock Resolution : Clco의 속성 업데이트 시간의 간격

  만약 레졸루션이 Time Interval보다 적을 경우 Timestamp 부여불가


- Clock skew and clock drift

  컴퓨터에서의 Clock은 정확한 Clock이 아니다.

  Skew - 읽어지는 방법의 차이

  Clock drift : 최소 기울기 / 움직임의 단위

  Clcok drift rate : Perfect reference clock과의 오차를 위한 상쇄값


- Coordinated Universal Time (UTC)

  International Atomic Time - drift rate 10^-13

  GPS를 사용한 방안


(2.2) Synchronizing Physical clocks


- 내부 동기화 / 외부 동기화


*실질적으로 내부에서 Clock을 가지고 처리하는건 사실상 불가능한 모델이며

외부적으로 동기화를 요하게 된다.


*Clock's crash failure

*Clock's arbitrary failure


1) Cristian's method of synchronizing clocks

input에서 output된 사이 값 계산