Кіріспе

Тек кэш жады архитектурасы (COMA) — мультипроцессорларда қолданылатын компьютерлік жад ұйымы, онда әрбір түйіндегі жергілікті жад (әдетте DRAM) кэш ретінде пайдаланылады. Бұл NUMA ұйымдарындағыдай, жергілікті жадты нақты негізгі жад ретінде пайдаланудан өзгеше. NUMA-да, жалпы адрес кеңістігіндегі әрбір адреске әдетте белгілі бір үй түйіні тағайындалады. Процессорлар деректерге қол жеткізген кезде олардың көшірмесі жергілікті кэште жасалады, бірақ үй түйінінде де орын бөлінеді. COMA-да мұндай үй болмайды. Қашық түйіннен жасалған сұрау деректердің көшірілуіне әкелуі мүмкін. NUMA-мен салыстырғанда, бұл артық көшірмелердің санын азайтады және жад ресурстарын тиімді пайдалануға мүмкіндік береді. Алайда, бұл белгілі бір деректерді қалай табуға болатындығы (үй түйіні болмайды) және жергілікті жад толған жағдайда не істеу керек (жергілікті жадқа деректерді көшіру үшін басқа деректерді шығару қажет, бірақ оларға қайда бару керектігі белгісіз) деген мәселелерді тудырады. Көшіруді жүзеге асыру үшін әдетте аппараттық жадтың үйлесімділік механизмдері қолданылады. Осы мәселелерді зерттеуге арналған көптеген зерттеулер жүргізілді. Әртүрлі каталог түрлері, жергілікті жадта бос орынды сақтау саясаты, көші-қон саясаты және тек оқуға арналған көшірмелер саясаты әзірленді. Гибридті NUMA COMA ұйымдары да ұсынылды, мысалы, Reactive NUMA, ол беттерді NUMA режимінде бастауға және қажет болған жағдайда COMA режиміне ауысуға мүмкіндік береді және Sun Microsystems WildFire жүйесінде іске асырылған. ScaleMP компаниясы бағдарламалық негіздегі гибридті NUMA COMA іске асыруын ұсынды және іске асырды, бұл тауарлық түйіндер кластерінен ортақ жадты мультипроцессорлық жүйені құруға мүмкіндік береді.