Кіріспе

Компьютерлік архитектурада ортақ ресурс деректеріне қатысты термин. Компьютерлік архитектурада кэш сәйкестігі – бірнеше жергілікті кэште сақталатын ортақ ресурс деректерінің біртектілігі. Жүйедегі клиенттер ортақ жад ресурсының кэштерін ұстағанда, сәйкессіз деректерге байланысты проблемалар туындауы мүмкін, бұл әсіресе көппроцессорлық жүйедегі процессорлар үшін маңызды. Оң жақтағы суретте екі клиенттің де бұрын оқыған жад блогының кэштелген көшірмесі бар деп есептейік. Егер төмендегі клиент жад блогын жаңартса/өзгертсе, жоғарғыдағы клиент өз кэшінің жарамсыз нұсқасын алады, ал өзгеріс туралы ешқандай хабарлама алмайды. Кэш сәйкестігі мұндай қақтығыстарды басқаруға және бірнеше кэштегі дерек мәндерінің біртекті көрінісін сақтауға арналған.

Үйлестіру тетіктері

Бірлестікті қамтамасыз етудің екі ең көп қолданылатын механизмі – тыңдау және каталог негізіндегі жүйелер, олардың әрқайсысының өз пайдасы мен кемшіліктері бар. Егер жеткілікті өткізу қабілеті болса, тыңдау негізіндегі протоколдар жылдамырақ болады, себебі барлық транзакциялар барлық процессорлар көретін сұрау/жауап ретінде жүзеге асырылады. Бірақ тыңдаудың кеңейтілуі шектеулі. Кез келген сұрау жүйедегі барлық түйіндерге таратылуы тиіс, демек жүйе үлкейген сайын (логикалық немесе физикалық) шинаның мөлшері мен оның қамтамасыз ететін өткізу қабілеті де артуы керек. Ал каталогтар, керісінше, көбінесе ұзақ жауап уақытына ие (3 қадамды сұрау/жеткізу/жауап берумен), бірақ хабарламалар тікелей түйіндер арасында жіберілетіндіктен, азырақ өткізу қабілетін пайдаланады. Осы себепті көптеген ірі жүйелер (>64 процессор) осы типтегі кэш бірлестігін қолданады.

Қарау

1983 жылы алғаш рет пайда болған, тыңдау – бұл жеке кэштердің өздеріне кэштелген жад мекенжайларына қол жеткізуді анықтау үшін адрес жолдарын қадағалау процесі.

Каталогқа негізделген

Каталогтық жүйеде ортақ деректер ортақ каталогқа орналастырылады, ол кэштер арасындағы үйлесімділікті сақтайды. Каталог процессордың негізгі жадтан кэшке дерек жүктеуге рұқсат алуын қадағалайтын сүзгі ретінде жұмыс істейді. Дерек өзгерген кезде, каталог басқа кэштерді сол дерекпен жаңартады немесе жарамсыз етеді. Таратылған ортақ жад жүйелері осы механизмдерді имитациялап, әлсіз байланысқан жүйелердегі жад блоктары арасындағы тұрақтылықты сақтауға тырысады.