2

인터넷에서 발견 한 정의는 두 가지입니다.순차적 일관성과 최종 일관성의 차이점은 무엇입니까?

순차적 일관성 - 모든 프로세서의 작동이 순차적 인 순서로 실행 된 것처럼 동일하고 각 개별 프로세서의 작업 프로그램에 지정된 순서대로이 순서로 나타납니다.

최종 일관성 - 주어진 데이터 항목에 대한 새로운 업데이트가 없으면 결국 해당 항목에 대한 모든 액세스가 마지막으로 업데이트 된 값을 반환합니다.

정의는 분명합니다. 그러나 최종 일관성이 순차적이지 않은 경우에는 얻을 수 없습니다. 예 : mem의 초기 값은 0입니다. 가로축은 시간입니다.

P1:  write 1    (x) 
P2: read 0 read 0 read 0  read 1 read 1 read 1 

그래서, 거기에 우리가 넣어 (x)를 슬롯에 "1 쓰기"경우 는 하나, 어떤 순서이며,이 정의에 의해 순차적 일관성이다. 내가 어디서 잘못한거야?

답변

0

순차적 일관성과 최종 일관성의 차이는 그들이 제공하는 보증에 있습니다.

최종 일관성은 지정하지 않습니다

레지스터에 대한 동시 업데이트가 불일치의 기간이 결과

을 지속 얼마나

  • , 하나라도있을 경우 어떻게됩니까
    • 클라이언트가 레지스터를 수정할 때 상황에 부딪 힐 수 있지만 후속 읽기는 오래된 데이터를 반환합니다.

      동일한 경우는 정의에 따라 순차적 일관성으로는 불가능합니다 (전체 순서는 서브 프로세서 순서를 따릅니다).

      또한 프로그램이 시간에 민감한 가정을하지 않고 모든 클라이언트 (프로세서)가 시스템 외부와 통신하지 않으면 순차 일관성이 선형성과 구별되지 않습니다. 반대로, 궁극적 인 일관성은 선형성보다는 일관성의 부족에 훨씬 가깝습니다.