Симметриялық көппроцессорлы жүйелер. Симметриялық мультипроцессорлау (ағыл. Symmetric Multiprocessing, немесе SMP) - бұл көппроцессорлы компьютерлердің архитектурасы, онда екі немесе одан да көп бірдей процессорлар (немесе бір процессор ядролары) ортақ жадыға қосылады. Қазіргі кезде көптеген көппроцессорлы жүйелер SMP архитектурасын қолданады.
SMP жүйелер кез келген процессорға қажетті мәліметтер жадының қай бөлігінде сақталғанына қарамастан кез келген мәселемен жұмыс істеуге мүмкіндік береді, операциялық жүйенің қажетті қолдауымен SMP жүйелер жүктемені тиімді бөле отырып процессорлар арасында мәселелерді оңай алмастыра алды. Екінші жағынан, процессорға бағытталатын жады процессордың өзіне қарағанда әлдеқайда жай болып келеді, тіпті бірпроцессорлы машиналардың өзі жадыдан мәліметтерді алу үшін біраз уақыт жұмсайды. SMP-да жағдай одан да қиындай түседі, себебі берілген уақыт мезетінде тек бір процессор жадыға бағыттала алады.
SMP баламалары – көппроцессорлы машина құрудың тек бір бағыты. Бұдан басқа бағыттардың бірі NUMA болып табылады, ол процессорларға жадының жеке банктерін береді. Бұл процессорларға жадымен параллель жұмыс істеуге мүмкіндік береді, осы мәліметтер нақты процеске (сондай-ақ процессорға) байлаулы болған жағдайда жадының өткізу қабілетін әлдеқайда жоғарылатуға мүмкіндік береді. Екінші жағынан, NUMA процессорлар арасында мәліметтердің алмасу құнын көтеріп жібереді, оған сәйкес жүктеудің тепе-теңдіге де қымбатқа шығады. NUMA артықшылығы арнайы мәселелер шеңберінде, негізінен мәліметтер көбінесе нақты міндеттер немесе қолданушыларға мықтап байлаулы болатын серверлермен шектелген.
Тағы бір бағыт – асимметриялық мультипроцессорлау (ASMP) болып табылады, онда жеке арнайы процессорлар нақты міндеттер үшіни қолданылады. Кластерлік мультипроцессорлық (Beowulf) жағдайында жады толықтай барлық процессорлар үшін қолжетімді болмайды. Кластерлік жүйелер өте үлкен суперкомпьютерлер құруда кеңінен қолданылуына қарамастан бұл бағыттар жиі қолданылмайды (бірақ жоғары өнімді 3D чипсеттер қазіргі видеокарталарда асимметриялық мультипроцессорлық формасы ретінде қарастырыла алады).
SMP жетістіктері мен кемшіліктері программалық жабдықтар көпағындық орындау үшін арнайы жасақталатын ғылымда, өнеркәсіпте, бизнесте қолданылады. Дегенмен,мәтіндік редакторлар және компьютерлік ойындар сияқты көптеген тұтынушы өнімдер үшін SMP жүйелердің пайдасы аз. Ойын жағдайында бұл SMP жүйесі бойынша программаны оңтайландыру нарықтың үлкен бөлігін алатын бірпроцессорлы жүйелерде жұмыс істеу өнімділігін жоғалтуға әкелетініне байланысты. Жоғары өнімділікті ұстау үшін бір процессор мен SMP жүйені қолдауда жеке жобалар қажет болады. Сонда да SMP жүйелерде шығарылған программалардың, тіпті олардың бірпроцессорлы жүйелерге жазылуына қарамастан аз да болса өнімділігінің артқанын байқауға болады. Бұл аппараттық үзілістің еркін процессорда өңделе алуымен байланысты. Көптеген қосымшаларда эффект өнімділіктің өсуімен ғана емес, сонымен қатар программаның әлдеқайда еркін орындалуымен байқалады. Кейбір қосымшаларда өнімділіктің жоғарылауы қосымша процессорлар санына тікелей пропорционал болады.
SMP қолдауы операциялық жүйеге іштей орнатылған болуы керек. Әйтпесе қосымша процессорлар жүктелмей қалуы мүмкін және жүйе бірпроцессорлы сияқты жұмыс істейді.
Процессорлар санын арттыруда жады шинасының өткізу жолағына талаптар артады. Бұл SMP архитектурасында процессорлар санына шектеу қояды. Қазіргі конструкциялар бір жүйелік тақшада төрт процессорға дейін орнатуға мүмкіндік береді.
Көппроцессорлы есептеу жүйесінің мысалы суперкомпьютерлер болып табылады.
Суперкомпьютерлерге қуатты көппроцессорлы есептеу машиналары жатады, олар секундына жүздеген миллион-ондаған миллиард операция орындайды. Сипаттамалары:
100 000 MFloPS жылдамдықты жоғарыпараллельді көппроцессорлы есептеу жүйелері;
10 Гбайт сыйымдылықтағы жедел жады, 1-10 Тбайт (1 Тбайт ~ 1000 Гбайт) дискілік жады;
64-128 бит разрядтылық.
Суперкомпьютерлер жоғарыпараллельді көппроцессорлы есептеу жүйелері түрінде құрылады.
Жоғарыпараллельді көппроцессорлы есептеу жүйелерінің бірнеше түрлері бар.
Магистральді (конвейерлік) көппроцессорлы есептеу жүйесі, онда процессор өңделетін мәліметтердің тізбекті ағынымен бір мезгілде түрлі операциялар орындайды. Қабылданған жіктеуіш бойынша мұндай көппроцессорлы есептеу жүйелері мәліметтер бір ғана ағынды және командалар бірнеше мәрте ағынды болатын жүйелерге жатады. (MISD — Multiple Instruction Single Data).
Векторлық көппроцессорлы есептеу жүйесі, онда барлық процессорлар бір мезгілде түрлі мәліметтермен бір ғана команда орындайды – мәліметтердің бірнеше мәрте ағынымен бір ғана команда ағыны (SIMD — Single Instruction Multiple Data).
Матрицалық көппроцессорлы есептеу жүйесі, онда микропроцессор бір мезгілде өңделетін мәліметтердің тізбекті ағынымен түрлі операциялар орындайды. — мәліметтердің бірнеше мәрте ағынымен бірнеше команда ағыны (MIMD — Multiple Instruction Multiple Data). Бір процессорлы(SISD) және аталған көппроцессорлы есептеу жүйелерінің шартты түрдегі құрылымы суретте көрсетілген.
а
|
б
|
а — SISD құрылымы — бірпроцессорлы суперЭЕМ;
б — MISD құрылымы — конвейерлік (магистральді) суперЭЕМ;
в — SIMD құрылымы —
векторлық суперЭЕМ;
г — MIMD құрылымы — матрицалық суперЭЕМ
|
в
|
г
|
Суперкомпьютерлерде көппроцессорлы есептеу жүйелері архитектурасының барлық 3 нұсқасы қолданылады:
MISD құрылымы классикалық нұсқасында (мысалы, Burrought фирмасының BSP суперкомпьютерінде);
параллельді-конвейерлік модификация, басқаша MMISD, яғни көппроцессорлы (Multiple) MISD-құрылымы (мысалы, «Эльбрус 3,4» суперкомпьютерлері);
параллельді-векторлық модификация, басқаша MSIMD, яғни көппроцессорлы SIMD-құрылымы (мысалы, Cray 2 суперкомпьютерінде).
Әлдеқайда жоғары тиімділік көрсеткен MSIMD-құрылымы болып табылады, сондықтан қазіргі суперкомпьютерлерде көбінесе сол қолданылады. (Cray, Fujistu, NEC, Hitachi).
Достарыңызбен бөлісу: |