지식 - 팁들
위치: > 팁들 > 캐시 일관성에 대한 일반적인 소개

지식 분류
관련 지식
새로운 지식
  • 가장 강력한 데이터 복구 소프트웨
  • 실수로 삭제 된 파일 복구 소프트웨
  • 삭제/비운 휴지통 데이터를 Mac에서
  • 데이터 복구 서비스는 왜 비교적
  • "직접 액세스를 열 수 없습니다
  • DISKPART Clean으로 손실된 데이터 복구
  • Diskpart 삭제에 대 한 빠른 수정
  • "USB 플래시 드라이브를 인식할
기본 상식
  • Bitwar 데이터 복구와 맥에 USB를 UN
  • 수정 방법 "Windows에서 포맷을 완료
  • 방법 "하드 드라이브가 표시되지
  • 삭제 된 파일 또는 손실 된 데이터
  • 어떻게 손상된 / 손상된 메모리 카
  • 인터넷 프로토콜 슈트(Internet Prot
  • I/O 장치 오류를 수정하는 빠른 방법
  • 사운드카드는 무엇입니까?

캐시 일관성에 대한 일반적인 소개


요약

캐시 일관성의 개념은 비교적 새로운 것일 수 있지만 상대적으로 중요한 컴퓨터 필드 개념입니다. 그래서 오늘,이 페이지는 당신에게 캐시 일관성에 대한 일반적인 소개를 제공 할 것입니다.

개요

캐시 일관성은 시스템 아키텍처에서 공유 리소스 데이터의 일관성이며, 결국 여러 로컬 캐시에 저장됩니다. 클라이언트가 공통 메모리 리소스의 캐시(특히 다중 처리 시스템의 CPU에 공통)를 유지할 때 일관성 없는 데이터에 문제가 발생할 수 있습니다.


각 프로세서는 공유 메모리 멀티프로세서 시스템에 별도의 캐시 메모리를 가지고 있습니다. 공유 데이터의 복사본은 기본 메모리에 한 개씩, 그리고 이를 요청하는 각 프로세서의 로컬 캐시에 한 개씩 많을 수 있습니다.


데이터 복사본 중 하나가 변경되면 다른 복사본은 변경사항을 반영해야 합니다. 캐시 일관성은 원칙이며, 공유 피연산자(데이터) 값의 변화가 시스템 전체에 신속하게 전파되도록 합니다.


다음은 캐시 일관성에 대한 요구 사항입니다.


전파 쓰기(Write Propagation): 캐시의 데이터 변경은 동등한 캐시의 다른 복사본으로 전파되어야 합니다.

트랜잭션 직렬화(Transaction Serialization): 모든 프로세서는 동일한 순서로 단일 메모리 위치에 대한 읽기/쓰기를 보아야 합니다.


이론적으로는 부하/저장소의 세분화에서 일관성을 구현할 수 있습니다. 그러나 실제로는 보통 캐시 블록의 세분화 수준에서 실행됩니다.

정의

일관성은 단일 주소 위치에 대한 읽기 및 쓰기 동작을 정의합니다. 서로 다른 캐시 메모리에 동시에 나타나는 데이터 유형을 캐시 일관성이라고 합니다. 일부 시스템에서는 글로벌 메모리라고도 합니다.


멀티프로세서 시스템에서 둘 이상의 프로세서가 메모리 위치 X의 복사본을 캐시했습니다. 캐시 일관성을 달성하기 위해서는 다음과 같은 조건을 만족시켜야 합니다.


1. 프로세서 P가 동일한 프로세서 Pto X의 쓰기 후 위치 X를 읽고 다른 프로세서의 쓰기 X가 P에 의한 읽기 명령 사이에 나타나지 않을 때 X는 항상 P에 의해 쓰여진 값을 반환해야 합니다.


2. 프로세서 P1이 위치 X를 읽을 때 다른 프로세서가 P2에서 X로 쓰고, 다른 프로세서가 X에 쓰는 것은 두 액세스 사이에서 발생하며, 읽기 및 쓰기는 충분히 분리됩니다. X는 항상 P2로 작성된 값을 반환해야 합니다.이 조건은 기억의 일관성 있는 관점의 개념을 정의합니다. 공유 메모리 위치에 쓰기를 전파하면 모든 캐시가 메모리에 대한 일관성 있는 뷰를 확인할 수 있습니다. 프로세서 P1이 X의 이전 값을 읽는다면 P2가 쓰여진 후에도 메모리는 일관성이 없다고 말할 수 있습니다.


위의 조건은 캐시 일관성에 필요한 쓰기 전파 조건을 충족합니다. 그러나 트랜잭션 직렬화 기준을 충족하지 않기 때문에 적절하지 않습니다.

일관성 메커니즘

일관성을 보장하기 위한 두 가지 가장 일반적인 메커니즘이 있다: 기웃거림(snooping)과 디렉토리 기반(directory-based), 각각 장점과 단점이 있다. 충분한 대역폭을 사용할 수 있다면 스누핑 기반 프로토콜은 모든 프로세서가 보는 요청/응답이기 때문에 속도가 더 빠른 경향이 있습니다.


기웃거림이 확장성이 없다는 단점이 있다. 각 요청은 시스템의 모든 노드로 브로드캐스트되어야 합니다. 즉, 시스템이 커질수록 버스의 크기와 제공하는 대역폭은 증가해야 합니다.


반면, 디렉토리는 3홉 요청/포워드/응답으로 지연 시간이 더 긴 경향이 있습니다. 그러나 메시지는 브로드캐스트가 아닌 포인트 투 포인트이기 때문에 디렉토리는 훨씬 적은 대역폭을 사용합니다. 그 결과, 많은 대형 시스템들은 이러한 종류의 캐시 일관성을 채택하고 있습니다.

일관성 프로토콜

일관성 프로토콜은 다중 프로세서 시스템에서 캐시 일관성을 적용합니다. 목표는 두 클라이언트가 동일한 공유 데이터에서 서로 다른 값을 보지 않도록 하는 것입니다.


프로토콜은 대상 시스템 또는 애플리케이션에 맞게 조정된 일관성의 기본 요구 사항을 달성해야 합니다.


프로토콜은 스누피 또는 디렉터리 기반으로 분류될 수도 있습니다. 일반적으로 초기 시스템들은 공유된 데이터와 공유자를 추적하는 디렉토리 기반 프로토콜을 채택했습니다. 트랜잭션 요청은 스누피 프로토콜로 모든 프로세서로 전송됩니다. 모든 프로세서가 요청을 모니터링하고 적절하게 응답합니다.