142
Сурет - 2.
Коммуникациялық ортаның латенттілігі және өткізу қабілеті
Әрне, пайдаланушыға ӛндірушілердің айтқан (ұсынылатын) шектік сипаттамалары
емес, тәжірибе жүзінде (бағдарламаларды орындау барысында) жетуге болатын нақты
кӛрсеткіштері маңызды. Пайдаланушы хабарламаны жіберу функциясын Send()
шақырғаннан кейін, хабарлама бағдарламалық қамтама және аппаратураны ұйымдастыру
ерекшеліктерімен анықталатын қабаттар жиыны арқылы ӛтеді. Осымен, дербес жағдайда
нақты жүйелердің латенттілігі анықталады. Мысалы, компьютерде MPI дұрыс орнатылмаса
немесе нашар орнатылса, латенттілік үлкен болады, белгісіз таныс емес ӛндірушілерден
арзан желілік карта сатып алып орнатсаңыз да сюрприздерді күте беріңіз деген сӛз. Енді
таратылған жадылы есептеу жүйелерінің нақты бағдарламаларды орындау кезінде
ӛнімділігін тӛмендететін факторларға кӛңіл аударайық.
Амдал заңынан бастайық. Таратылған жадылы компьютерлер үшін ол ӛте үлкен роль
атқарады. Шындығында, егер бағдарламада тек 2% ғана тізбекті орындалатын операциялар
бар дер есептесек, онда бағдарлама жұмысының 50-еселік және одан жоғары үдеу (50-
кратное ускорение) алатынына әрине сенімділік жоқ. Енді ӛз бағдарламамызға критикалық
кӛзбен қарап кӛрелік. Әрине онда инициалдау, енгізу/шығару операциялары, қандай да бір
тізбекті учаскілер бар болары анық. Олардың үлесін тұтас бағдарлама фонында бағалап, бір
сәтке 1000 процессордан тұратын есептеу жүйесіне рұқсат алдық деп есептейік. Осындай
жүйеде бағдарлама үдеуі үшін жоғарғы границасын есептегеннен кейін, Амдал заңының
әсерін бағаламауға ешқандай негіз жоқ.
Таратылған жадылы компьютерлерде процессорлар арасындағы арақатынас хабарлама
жіберу кӛмегімен жүргізіледі. Бұдан екі басқа тӛмендететін факторлар – латенттілік және
коммуникациялық
орта
каналдарымен
деректерді
беру
жылдамдығы
шығады.
Бағдарламаның коммуникациялық құрылымына байланысты бұл факторлардың әсер ету
дәрежесі қатты ӛзгеруі мүмкін. Егер аппаратура немесе бағдарламалық қамтама есептеу
фонында
хабарламаны асинхронды жіберу мүмкіндіктерін қолдамаса, онда параллель
процесстердің арақатынасының толық аяқталуын күтуге байланысты шарасыз қосымша
шығындар пайда болады.
Тиімді параллель ӛңдеуге қол жеткізу үшін, барлық процессорлардың максималды
бірқалыпты жүктелуін қамтамасыз етуіміз қажет. Егер бірқалыптылақ болмаса, онда
процессорлардың бір бӛлігі басқаларын күтіп шарасыздан тұрып қалады. Әрине осы уақытта
олардың күтуден гӛрі пайдалы жұмыс істеуге толық мүмкіндіктері бар. Егер есептеу жүйесі
біртекті болса бұл проблеманың оңай шешілері анық. Біртекті емес жүйелерге кӛшу кезінде,
олардағы есептеу тораптары немесе байланыс каналдары арасындағы айтарлықтай
айырмашылық салдарынан ӛте үлкен қиыншылықтар туындайды.
Маңызды фактор – бұл есептеу жүйесіндегі жеке процессордың нақты ӛнімділігі.
Микропроцессорлардың әртүрлі моделдері кэш-жадының бірнеше деңгейіне қолдау кӛрсетуі
және оларда арнайы функционалды құрылғылардың және т.б бар болуы мүмкін. Мысал
ретінде Cray T3E компьютерінің жадысының иерархиясын алып кӛрелік: процессор
регистрлері, 1-ші деңгейлі кэш-жады, 2-ші деңгейлі кэш-жады, процессордың жергілікті
жадысы (локальная память), басқа процессордың қашықтағы жадысы (удаленная память).
1 торап
2 торап
өткізу қабілеті
Ла
тент
тілі
к
Send()
Receive()
143
Есепті шешу тәсілін таңдаған кезде мұндай құрылымды тиімді пайдалану ерекше кӛңіл
бӛлуді талап етеді.
Сонымен қатар, әрбір микропроцессорда қосымша векторлы-конвейерлік архитектура
элементтері де болуы мүмкін. Ӛкінішке орай, әрбір нақты бағдарламаның жұмысына қандай
да бір дәрежеде осы айтылған факторлардың бәрі әсерін тигізеді. Таратылған жадылы
компьютерлер класының потенциалы ӛте орасан, олардың кӛмегімен ӛте кӛп жетістіктерге
жетуге болады. Әрине ол үшін айтарлықтай күш жұмсау қажет екені түсінікті. Әрбір есепті
шешудің барлық этаптарын, яғни есептеу әдісін таңдаудан бастап бағдарламаны жазуға
дейін ӛте мұқият дайындап, ойланып іске асыру керек. Соңғы нүкте – Интернет. Интернетті
де әлемдегі ең қуатты таратылған жадылы компьютер ретінде қарастыруға болады. Осы
айтылған мәселелер, информатика мамандығының жұмыс оқу бағдарламасындағы таңдау
«Параллельді процесстерді программалау» курсының мазмұнына енгізіліп, ғылым мен
білімді дамыту мақсатында бүгінгі күні осы бағытта қосымша зерттеулер жүргізілуде.
ТарМПИ базасында, күрделі есептерді шешуге мүмкіндік беретін кластерлік жүйе құру
жұмыстары қолға алынуда.
Әдебиеттер тізімі:
1. В.В.Воеводин, Вл.В.Воеводин. "Параллельные вычисления"- СПб.: БХВ-Петербург,
2002.-608 с.
2. Немнюгин С.А., Стесик О.А. Параллельное программирование для много
процессорных вычислительных систем. СПБ.:БХВ-Петербург, 2002.
3. http://www.inform.kz/kaz/article/2308028
4. http://www.parallel.ru
5. http://www.infojournal.ru
6. http://parallel.ru/computers/reviews/BlueGene.html
7. http://www.bytemag.ru/articles/detail.php?ID=8504
Аннотация
Жұмыста, кластерлік жүйе, кластерлік жүйеде бағдарламалау ерекшеліктері және кластерлік
жүйе құру мүмкіндіктері қарастырылады.
Аннотация
В работе рассматриваются кластерная система, особенности программирования в кластерной
системе и возможности создания кластерной системы.
Annotation
The work considers
cluster system, features of programming, is in-process examined in the cluster
system and possibility of creation of the cluster system.