Көп ағынды жүйелеруақыт өте келе ерікті түрде көбейтілуі (немесе азаюы) мүмкін бірқатар ресурстарға бір интерфейс беру үшін қолданылады. Әдеттегі мысал веб-серверлер тобы болуы мүмкін.
Мультипроцессорлы есептеу жүйесінің негізгі айырмашылық ерекшелігі оның өнімділігі, т.а. уақыт бірлігінде жүйемен орындалатын операциялардың саны. Шың мен нақты өнімділікті ажыратыңыз. Пик деп белгілі бір машинадағы осындай процессорлардың саны бойынша бір процессордың ең жоғарғы өнімділігінің көбейтіндісіне тең мән түсініледі. Бұл жағдайда компьютердің барлық құрылғылары ең өнімді режимде жұмыс істейді деп болжануда. Компьютердің ең жоғарғы өнімділігі бір мәнді түрде есептеледі және бұл сипаттама жоғары өнімді есептеу жүйелері салыстырылатын негізгі сипаттама болып табылады. Ең жоғарғы өнімділік неғұрлым жоғары болса, соғұрлым пайдаланушы өз мәселесін тезірек шеше алады (теориялық). Ең жоғары өнімділік теориялық құндылық болып табылады және жалпы айтқанда, белгілі бір қосымшаны іске қосу кезінде қол жетімді емес. Берілген қосымшада қол жеткізілген нақты өнімділік қолданба іске асырылатын бағдарламалау моделінің қолданба іске қосылатын машинаның архитектуралық ерекшеліктерімен өзара байланысына байланысты.
Компьютердің ең жоғарғы өнімділігін бағалаудың екі әдісі бар. Олардың бірі уақыт бірлігінде компьютер орындайтын командалар санына сүйенеді. Өлшем бірлігі - әдетте MIPS (секундына миллион нұсқаулық). MIPS-те көрсетілген өнімділік компьютердің өзінің нұсқауларын орындау жылдамдығын білдіреді. Бірақ, біріншіден, белгілі бір бағдарламаның қанша нұсқаулық көрсетілетіні алдын-ала түсініксіз, екіншіден, әр бағдарламаның өзіндік ерекшеліктері бар, ал бағдарламадан бағдарламаға дейінгі нұсқаулар саны әр түрлі болуы мүмкін. Осыған байланысты, бұл сипаттама компьютердің өнімділігі туралы ең жалпы идеяны ғана береді.
Өнімділікті өлшеудің тағы бір әдісі - уақыт бірлігінде компьютермен орындалатын нақты операциялардың санын анықтау. Өлшем бірлігі - Флопс (секундына өзгермелі нүкте операциялары) - компьютердің бір секундта орындайтын өзгермелі нүкте операцияларының саны. Бұл әдіс қолданушы үшін қолайлы, өйткені ол бағдарламаның есептеу қиындығын біледі және осы сипаттаманы қолдана отырып, пайдаланушы орындалу уақытының төменгі бағасын ала алады.
Анықтаушы факторлардың бірі оның құрылымымен, жадыға қол жеткізу ішкі жүйелерінің архитектурасымен анықталатын жадымен өзара әрекеттесу уақыты болып табылады. Қазіргі компьютерлердің көпшілігі көп деңгейлі деп аталатын иерархиялық жадты жадқа ең тиімді қол жеткізуді ұйымдастыру ретінде қолданады. Деңгей ретінде регистрлер мен регистрлік жад, негізгі жедел жады, кэш жады, виртуалды және қатты дискілер, таспа роботтары қолданылады. Сонымен қатар, иерархияны қалыптастырудың келесі қағидасы сақталады: жад деңгейінің жоғарылауымен мәліметтерді өңдеу жылдамдығы артып, жад деңгейі азаюы керек. Осы типтегі иерархияны қолдану тиімділігі қол жетімділік уақыты минималды деңгейдегі жадта жиі қолданылатын деректерді сақтау арқылы жүзеге асырылады. Мұндай жад өте қымбат болғандықтан, оның көлемі үлкен бола алмайды. Жад иерархиясы дегеніміз - компьютерлер архитектурасының олардың жұмысын жақсарту үшін маңызы зор ерекшеліктері.
Мультипроцессорлық есептеу жүйелерінің толық бейнесін беру үшін, жоғары өнімділіктен басқа, басқа да ерекшеліктерін атаған жөн. Ең алдымен, бұл өнімділікті жақсартуға бағытталған ерекше архитектуралық шешімдер (векторлық операциялармен жұмыс, процессорлар арасында жылдам хабар алмасуды ұйымдастыру немесе мультипроцессорлық жүйелердегі глобалды жадыны ұйымдастыру және т.б.).
Жоғары өнімді жүйенің архитектурасының тұжырымдамасы өте кең, өйткені архитектураны жүйеде қолданылатын параллельді өңдеу әдісі және жадыны ұйымдастыру, процессорлар арасындағы байланыс топологиясы және жүйе тәсілі деп түсінуге болады. арифметикалық амалдарды орындайды. Архитектураның барлық жиынтығын жүйелеу әрекеттері алғаш рет 60-шы жылдардың аяғында қолға алынып, бүгінгі күнге дейін жалғасуда.
1966 жылы М.Флинн (Флинн) есептеу жүйелерінің архитектураларын жіктеуге өте ыңғайлы тәсілді ұсынды. Оның негізіне процессор өңдеген элементтер, командалар немесе мәліметтер тізбегі деп түсінетін ағын тұжырымдамасы алынды. Сәйкес жіктеу жүйесі командалық ағындар мен мәліметтер ағындарының санын ескеруге негізделген және төрт архитектуралық классты сипаттайды:
SISD = Бірыңғай нұсқаулық
MISD = Бірнеше нұсқаулықтың жалғыз деректері
SIMD = Бір нұсқаулық бойынша бірнеше деректер
MIMD = Бірнеше нұсқаулық Бірнеше деректер
SISD (бір командалық ағын / бірыңғай мәліметтер ағыны) - бұл бір командалық ағын және бір мәліметтер ағыны. Бұл сыныпқа дәйекті орындалатын командалардың тек бір ағынын өңдеуге қабілетті бір орталық процессоры бар дәйекті компьютерлік жүйелер кіреді. Қазіргі уақытта барлық дерлік жоғары өнімді жүйелерде бірнеше орталық процессорлар бар, бірақ олардың әрқайсысы бір-бірімен байланыссыз ағындарды орындайды, бұл әр түрлі мәліметтер кеңістігінде жұмыс істейтін SISD жүйелерінің осындай жүйелік кешендерін құрайды. Құбырларды командалық өңдеу жылдамдығын және арифметикалық амалдарды орындау жылдамдығын арттыру үшін пайдалануға болады. Векторлық жүйелер жағдайында векторлық мәліметтер ағыны біртұтас бөлінбейтін векторлар ағыны ретінде қарастырылуы керек.
MISD (бірнеше командалық ағын / бірыңғай мәліметтер ағыны) - бірнеше командалық ағын және бір мәліметтер ағыны. Теория бойынша, машинаның бұл түрінде бірнеше нұсқаулар бір мәліметтер ағынында орындалуы керек. Осы уақытқа дейін осы сыныпқа енетін бірде-бір нақты машина жасалынбаған. Мұндай жүйенің жұмысының аналогы ретінде банк жұмысын қарастыруға болады. Кез-келген терминалдан сіз команда беріп, бар деректер банкімен бірдеңе жасай аласыз. Мәліметтер қоры бір және көптеген командалар болғандықтан, біз бірнеше командалық ағындармен және бір мәліметтер ағынымен айналысамыз.
SIMD (бір командалық ағын / бірнеше мәліметтер ағыны) - бір командалық ағын және бірнеше мәліметтер ағыны. Әдетте бұл жүйелерде 1024-тен 16384-ке дейін көптеген конфигурацияда әр түрлі деректер бойынша бір команданы орындай алатын көптеген процессорлар болады. Бір мәлімдеме көптеген мәліметтер элементтері бойынша параллель орындалады. SIMD машиналарының мысалдары CPP DAP, Gamma II және Quadrics Apemille жүйелері болып табылады. Векторлық компьютерлер - бұл SIMD жүйелерінің тағы бір кіші класы. Векторлық компьютерлер скалярлық машиналар осындай массивтердің жеке элементтерін өңдейтін жолмен ұқсас мәліметтер массивін басқарады. Бұл арнайы әзірленген векторлық орталық өңдеу қондырғыларын пайдалану арқылы жүзеге асырылады. Деректер векторлық модульдермен өңделгенде, нәтижелерді біреуіне шығаруға болады, жиілік генераторының екі немесе үш циклі (жиілік генераторының циклі - жүйенің негізгі уақыт параметрі). Векторлық режимде жұмыс жасағанда, векторлық процессорлар параллель дерлік деректерді өңдейді, бұл оларды скаляр режимінде жұмыс істегенге қарағанда бірнеше есе жылдам етеді. Мұндай жүйенің мысалдары, мысалы, Hitachi S3600 компьютерлері.
MIMD (бірнеше командалық ағын / бірнеше мәліметтер ағыны) - бірнеше командалық ағын және бірнеше мәліметтер ағыны. Бұл машиналар әр түрлі мәліметтер ағынында параллель нұсқаулардың бірнеше ағындарын орындайды. Жоғарыда аталған SISD мультипроцессорлы машиналардан айырмашылығы, нұсқаулар мен мәліметтер өзара байланысты, өйткені олар бір тапсырманың әр түрлі бөліктерін білдіреді. Мысалы, MIMD жүйелері негізгі тапсырманы орындауға кететін уақытты қысқарту үшін бірнеше қосымша тапсырмаларды қатар орындай алады. Осы сыныпқа енетін жүйелердің алуан түрлілігі Флинн классификациясын толығымен сәйкес келмейді.
Шынында да, NEC-тен төрт процессор SX-5 де, Cray T3E мың процессоры да осы сыныпқа жатады. Бұл бізді жіктеуге басқа тәсілдерді қолдануға мәжбүр етеді, компьютерлік жүйелердің кластарын әр түрлі сипаттайды. Бұл тәсілдің негізгі идеясы, мысалы, келесі болуы мүмкін. Командалардың бірнеше ағыны екі жолмен өңделеді деп ойлаймыз: не бөлек жіптер үшін уақытты бөлісу режимінде жұмыс жасайтын бір құбырлы өңдеу қондырғысы немесе әрбір ағынды өз құрылғысы өңдейді. Бірінші мүмкіндік MIMD компьютерлерінде қолданылады, оларды әдетте құбырлы немесе векторлық деп атайды, екіншісі - параллельді компьютерлерде. Векторлық компьютерлер құбыр жүргізу ұғымына негізделген, яғни. арифметикалық бірлікті бөлек бөліктерге бөлу, олардың әрқайсысы операнд парына арналған өзіндік тапсырманы орындайды. Параллельді компьютер бірнеше мәселені шешу үшін бірлесіп жұмыс істейтін бірнеше процессорларды қолдану идеясына негізделген және процессорлар скалярлық және векторлық бола алады.
Есептеу жүйелерінің архитектураларын жіктеу белгілі бір архитектураның жұмыс істеу ерекшеліктерін түсіну үшін қажет, бірақ MCS құрған кезде оған сенім артуға жеткілікті егжей-тегжейлі емес, сондықтан неғұрлым егжей-тегжейлі классификацияны енгізу керек әртүрлі компьютерлік архитектуралармен және пайдаланылған жабдықпен.
Достарыңызбен бөлісу: |