Cache Coherence Protocol - MESIF

http://en.wikipedia.org/wiki/MESIF_protocol

MESIF: cache coherent NUMA(ccNUMA) system을 위한 cache coherence protocol
(참고: nehalem 등에서 MESIF 사용함)

* MESIF protocol에서 cache line의 상태
 - MODIFIED: MESI와 동일
 - EXCLUSIVE: MESI와 동일
 - SHARED: MESI와 동일
 - INVALID: MESI와 동일
 - FORWARD
  -> SHARED 상태의 특수한 형태로써
  -> 해당 cache line에 대한 request에 대해 designated responder로 행동
  -> SHARED 상태의 cache가 있다면 FORWARD 상태인 cache는 없거나 있다면 한 개만 존재


* MESIF가 훌륭한 이유는?
 - MESI 사용 시스템에서는 여럿이 공유하는 SHARED 상태의 cache line에 대해 request를 보내면 main memory에 갔다오거나, 모든 cache가 response DOS attack을 보낼 수 있음..이는 비효율적임
 - MESIF 사용 시스템에서는 FORWARD 상태인 cache만 response를 해주면 된다!


* 그럼 누가 FORWARD 상태가 될 것인가?
FORWARD 상태의 cache가 discard되는 것을 최소화하기 위해서 가장 최근의 requestor의 cache line이 FORWARD 상태가 된다.
FORWARD 상태의 cache가 response를 하면, 해당 cache는 FORWARD 상태를 새로운 cache에게 양보함


* FORWARD 상태인 cache가 없는 경우에는?
메모리에 갔다와야 함. -.-


덧글

댓글 입력 영역