Кіріспе

Паралелизмдікке қол жеткізу үшін қолданылатын есептеу техникасы. Компьютерде көп нұсқаулы, көп дерек (MIMD) – параллелизмдікке қол жеткізу үшін қолданылатын техника. MIMD-ді пайдаланатын машиналарда асинхронды және тәуелсіз жұмыс істейтін бірнеше процессор болады. Кез келген сәтте әртүрлі процессорлар әртүрлі деректерде әртүрлі нұсқауларды орындауы мүмкін. MIMD архитектурасы компьютерлік көмекпен жобалау/компьютерлік көмекпен өндіру, модельдеу, симуляция және коммуникациялық коммутаторлар сияқты көптеген қолдану салаларында қолданылуы мүмкін. MIMD машиналары ортақ жад немесе таратылған жад категорияларына жатады. Бұл жіктелу MIMD процессорларының жадқа қалай қол жеткізуіне байланысты. Ортақ жад машиналары шинаға негізделген, кеңейтілген немесе иерархиялық типте болуы мүмкін. Таратылған жад машиналары гиперкуб немесе торлы байланыс схемаларын қолдануы мүмкін.

Мысалдар

MIMD жүйесінің мысалы – Larrabee микроархитектурасынан туындаған Intel Xeon Phi. Бұл процессорлар әртүрлі деректерде әртүрлі нұсқауларды орындай алатын көптеген өңдеу ядроларына (2015 жылы 61-ге дейін) ие. 2013 жылға дейін параллель компьютерлердің басым бөлігі MIMD жүйелері болды.

Ортақ жад моделі

Ортақ жад моделінде процессорлардың барлығы бағдарламалық немесе аппараттық құралдар арқылы "жалпы қолжетімді" жадқа қосылады. Операциялық жүйе әдетте жадтың тұжырымдылығын сақтайды. Бағдарламашының көзқарасы бойынша, бұл жад моделі таратылған жад моделінен жақсы түсініледі. Тағы бір артықшылығы – жадтың тұжырымдылығын операциялық жүйе басқарады, ал жазылған бағдарлама емес. Екі мәлім кемшілігі бар: отыз екі процессордан астам масштабтау қиын, және ортақ жад моделі таратылған жад моделінен гөрі аз икемді.

Иерархиялық

Иерархиялық ортақ жады бар MIMD машиналары процессорларға бір-бірінің жадына қол жеткізу үшін шиналардың иерархиясын (мысалы, "майлы ағаш" сияқты) пайдаланады. Әртүрлі тақталардағы процессорлар түйін аралық шиналар арқылы байланыса алады. Шиналар тақталар арасындағы байланысты қолдайды. Осы архитектура түрімен машина тоғыз мыңнан астам процессорды қолдауға мүмкіндік береді.

Бөлінген жады

Бөлінген жадты MIMD (көп нұсқау, көп дерек) машиналарында әрбір процессордың жеке жад орны болады. Әрбір процессор басқа процессордың жады туралы тікелей білмейді. Деректерді бөлісу үшін олар бір процессордан екіншісіне хабарлама ретінде жіберілуі керек. Ортақ жад болмағандықтан, мұндай машиналарда қақтығыс үлкен мәселе емес. Көптеген процессорларды бір-бірімен тікелей қосу экономикалық тұрғыдан тиімді емес. Осы көптеген тікелей қосылымдарды болдырмаудың бір жолы – әрбір процессорды тек бірнешеуімен байланыстыру. Мұндай жобалау хабарламаны бір процессордан екіншісіне хабар жолымен жіберуге қажетті қосымша уақыттың кесірінен тиімсіз болуы мүмкін. Процессорлардың қарапайым хабарлама бағыттауын орындауына кеткен уақыт айтарлықтай болуы мүмкін. Осы уақыт жоғалтуын азайту үшін жүйелер жасалған, ал гиперкуб және тор – екі танымал өзара байланыс схемасы. Бөлінген жадтың мысалдары (көптеген компьютерлер) – МПП (көп қатарлы процессорлар), КОУ (жұмыс станцияларының кластерлері) және НУМА (біркелкі емес жадқа қол жеткізу). Алғашқысы күрделі және қымбат: кең жолақты желілермен байланыстырылған көптеген суперкомпьютерлер. Мысалға, гиперкубтық және торлы өзара байланыстарды келтіруге болады. COW – бұл "өздігінен жасалған" нұсқасы, құны әлдеқайда арзан.

Гиперкубты өзара байланыстың желісі

Төрт процессордан тұратын гиперкубтық жүйелік өзара байланыс желісі бар MIMD-ге бөлінген жады машинасында процессор мен жад модулі шаршының әр төбесіне орналастырылады. Жүйенің диаметрі – бір процессордың ең алыс процессорға хабар жіберу үшін қажетті ең аз қадамдар саны. Мысалы, 2-кубтың диаметрі 2-ге тең. Сегіз процессордан тұратын гиперкуб жүйесінде, әр процессор мен жад модулі кубтың төбесінде орналасқанда, диаметрі 3-ке тең. Жалпы алғанда, әр процессор тікелей N басқа процессорға қосылған 2^N процессордан тұратын жүйенің диаметрі N-ге тең. Гиперкуб жүйесінің бір кемшілігі – оның процессорлар саны екінің дәрежесі болуы керек, сондықтан қолданбаға қажеттіден әлдеқайда көп процессорға ие болуы мүмкін машина жасау қажет.

Желілік өзара байланыс желісі

MIMD-де бөлінген жадты машинада, торлы өзара байланыс желісімен жабдықталған процессорлар екі өлшемді торға орналастырылады. Әрбір процессор тікелей төрт көрші процессормен байланысты. Тордың жиектерінде айналма байланыстар қарастырылуы мүмкін. Гиперкубке қарағанда торлы өзара байланыс желісінің бір артықшылығы – торлы жүйенің өлшемдері екінің дәрежесімен шектелмейді. Бірақ кемшілігі бар: төрттен астам процессордан тұратын жүйелерде тор желісінің диаметрі гиперкубтің диаметрінен артық болады.