Cache Coherence

Türkçe karşılığı: Önbellek tutarlılığıAlan: Bilgisayar Mimarisi

Birden fazla çekirdek veya işlemcinin aynı bellek konumuna ait cache satırlarını tutarlı biçimde gözlemlemesini sağlayan donanım protokolleri ve durum geçişleri.

Donanım Düzeyindeki Problem

Birden fazla çekirdek aynı bellek satırının kendi cache'inde kopyasını tutabilir. Çekirdeklerden biri bu veriyi değiştirdiğinde diğer kopyaların güncel olmayan değeri kullanmaması gerekir. Cache coherence protokolleri sahiplik, paylaşım ve invalidation durumlarını yöneterek bu problemi çözer.

MESI ve türevleri bir cache line'ın modified, exclusive, shared veya invalid gibi durumlarını izleyebilir. Yazma yoğun paylaşılan veride line sahipliğinin sık el değiştirmesi coherence trafiğini ve gecikmeyi artırabilir.

False Sharing

İki thread mantıksal olarak farklı değişkenleri güncellese bile bu değişkenler aynı cache line içindeyse gereksiz invalidation oluşabilir. Bu durum False Sharing olarak adlandırılır.

Coherence ve Memory Model Aynı Şey Değildir

Cache coherence donanımdaki kopyaların tutarlılığıyla ilgilidir. Dil veya işlemci memory consistency modeli ise yükleme/yazmaların diğer yürütücüler tarafından hangi sırada gözlenebileceğini tanımlar. İki katman ilişkilidir fakat eş anlamlı değildir.

İlgili Kavramlar