Кіріспе

Жадтың үйлесімділігі – екі немесе одан көп процессорлар немесе ядролар жадтың ортақ бөлігін пайдаланатын компьютерлік жүйелердің құрылымына әсер ететін мәселе. Бір процессорлық жүйеде (бір ғана ядро болғанда) барлық жұмысты бір өңдеу элементі атқарады, демек, берілген жад орнынан оқуға немесе жазуға болатын да бір өңдеу элементі ғана болады. Сәйкесінше, мән өзгерген кезде, тиісті жад орнының барлық келесі оқу операциялары жаңартылған мәнді көреді, тіпті ол кэште сақталған болса да. Керісінше, көппроцессорлық (немесе көпядролық) жүйелерде бір уақытта жұмыс істейтін екі немесе одан көп өңдеу элементтері болады, сондықтан олардың бір мезгілде бір жад орнына қол жеткізуі мүмкін. Егер олардың ешқайсысы осы орндағы деректерді өзгертпесе, олар оны кез келген уақытта бөлісе алады және қалағандай кэшке сақтай алады. Бірақ біреу орналасқан жерді жаңартқаннан кейін, қалғандары, мысалы, жергілікті кэште сақталған ескірген көшірмемен жұмыс істеуі мүмкін. Осыдан келіп, ортақ мәндерге енгізілген өзгерістер туралы барлық өңдеу элементтерін хабардар ету үшін белгілі бір схема қажет; мұндай схема жадтың үйлесімділік протоколы деп аталады, және егер мұндай протокол қолданылса, жүйеде үйлесімді жад бар деп есептеледі. Жадтың үйлесімділігінің нақты сипаты мен мағынасы үйлесімділік протоколы іске асыратын консистенттік модельмен анықталады. Дұрыс параллель бағдарламалар жазу үшін бағдарламашылар өз жүйелерінде қолданылатын нақты консистенттік модельді білуі керек. Аппараттық құралда іске асырылғанда, үйлесімділік протоколы, мысалы, каталогқа негізделген немесе бақылауға негізделген (сондай-ақ, тыңдау деп те аталады) болуы мүмкін. Нақты протоколдарға MSI протоколы және оның туындылары MESI, MOSI және MOESI кіреді.