Оқулық Қазақстан Республикасы Білім және ғылым министрлігі бекіткен Алматы, 2011



Pdf көрінісі
бет72/121
Дата31.08.2022
өлшемі2,81 Mb.
#38343
түріОқулық
1   ...   68   69   70   71   72   73   74   75   ...   121
Байланысты:
duisembiev-parallel-esep

Сұрақтар және тапсырмалар 
Келесі алгоритмдерден ішкі параллельділікті зерттеңіздер: 
1. Нүктедегі кӛпмүшеліктің мәнін есептеудің Горнер схемасы. 
2. Нүктедегі кӛпмүшеліктің мәнін тез параллель есептеу. 
3. Сызықты алгебралық теңдеулер жүйесін шешудің Крамер әдісі. 
4. Сызықты алгебралық теңдеулер жүйесін шешудің Гаусс әдісі. 
5. Сызықты алгебралық теңдеулер жүйесін шешудің Жордан әдісі. 
6. Екі матрицаны кӛбейту. 
7. (В + В
Т
 А - есептеу, мұндағы А, В - квадрат матрицалар. 
8. А
Т 
(В + В
Т
 ) А - есептеу, мұндағы А, В - квадрат матрицалар. 
9. А
Т 
(В + В
Т
 ) - есептеу, мұндағы А, В - квадрат матрицалар. 
10. 
 
(А + А
Т
 )В
Т
  - есептеу, мұндағы А, В - квадрат матрицалар. 
 


136 
 
2-ШІ ТАРАУ. ПАРАЛЛЕЛЬ ПРОГРАММАЛАУ 
ТЕХНОЛОГИЯСЫ 
 
Сонымен, сіз параллель бағдарламаны құруды бастадыңыз делік. 
Есепті түсініп, шешу әдісін таңдап, қажетті компьютер анықталғаннан кейін, 
барлық ойды компьютерге түсінікті формада ӛрнектеу ғана қалады. Әрине, 
айта салғанға оңай. Егер ӛзіңіздің бұл саладағы тәжірибеңіз әзірше аздау, ал 
қол жетімді параллель бағдарламалау технологиялары туралы ақпарат айқын 
жеткіліксіз болса, нені басшылыққа аласыз? Бұл туралы бағыттаушы ой-
пікірлер кӛп болуы мүмкін, бірақ нәтижесінде, сіз бағдарламаны құрастыру 
уақыты, оның тиімділігі және кӛшірілуі, бағдарламаның келесі жолы 
пайдалану интенсивтілігі, оны одан ары дамыту қажеттілігі арасында таңдау 
жасауыңызға тура келеді. Таңдаудың мәнін жете түсінуге тырыспай тұрып, 
алдымен келесі үш сипаттаманың сіз үшін қаншалықты маңызды екенін 
бағалап кӛріңіз.
Параллель компьютерлердің басты қызметі – ол есептерді жылдам 
шешу. Егер бағдарламалау технологиясы әртүрлі себептермен есептеу 
жүйесінің толық қуатын пайдалануға мүмкіндік бермесе, онда оны игеруге 
күш жұмсаудың қажеті бар ма? Қандай себептер екеніне қазір тоқталмаймыз. 
Әрине, тиімді бағдарламалар құру мүмкіндігі, бағдарламалау құралдарын 
таңдауда негізгі аргументтердің бірі екені анық.
Технология 
пайдаланушыға 
есептеу 
жүйесінің 
ресурстарын 
пайдалануға және бағдарламаның орындалу процесіне толық бақылау 
жасауға мүмкіндік бере алады. Ол үшін пайдаланушыға бірнеше жүздеген 
конструкциялар мен функциялардан тұратын жиынтық ұсынылады. Егер осы 
ұсынылған құралдарды дұрыс пайдалана алса, онда ол әрине тиімділігі 
жоғары болатын бағдарлама құрастыра алуы мүмкін. Бірақ, пайдаланушы 
оны істейді ме? Бұл жерде пайдаланушының ӛз пәндік аймағынан ӛзінің 
есебін шығару керек екенін және онда ӛздерінің де мәселелері жеткілікті 
екенін естен шығармауымыз керек. Ол, физик, химик, геолог немесе эколог 
бола тұрып параллель бағдарламалауға қатысты жаңа мамандықты игеруге 
үлкен құлшыныс танытады деп айта алмаймыз, оның ықтималдығы тӛмен. 
Параллель бағдарламаны тез құрастыру мүмкіндігі басқа факторлармен 
есепке қатар алынуы керек.  
Есептеуіш техника ӛте тез ӛзгерістерге түсуде. Осыдан бірнеше жыл 
бұрын тиімді де тез параллель бағдарлама құрастыруға мүмкіндік беретін 
«керемет» технология табылды делік. Бүгінгі күні компьютерлердің жаңа 
буыны дүиеге келгенде не болуы мүмкін, не күтеміз? Мұнда мүмкін болатын 
екі нұсқаны айта кетелік. Бірінші нұсқа – бұрынғы құрастырылған 
бағдарламалар бүгінде ешкімді қызықтырмайды, яғни уақтысында 
пайдаланылды, ал қазір керек емес. Бұндай да болуы мүмкін. Алайда, 


137 
параллель бағдарламалар құрастыруға ӛте кӛп уақыт, күш, қаражат және т.б. 
қосымшы шығындар жұмсалатындықтан, оларды осылайша жай ұмыта 
салып, басқа жаңаша құрастыруды бастау әрқашан тиімді ме? Әрине, кім де 
болса жиналған багажды жаңа компьютер платформасына толық кӛшіруді 
қалайды. Бұл ескі бағдарламалар жаңа компьютерде ерте ме кеш пе жұмыс 
істеп, дұрыс нәтижелер беруі де мүмкін. Бірақ, бір компьютерден екіншісіне 
кӛшірілгенде бұл таңдалған технология параллель бағдарламаның 
тиімділігіне дәл сондай кепілдік бере ала ма? Әрине, жоқ. Жаңа платформа 
үшін бағдарламаны қайта жаңарту, жетілдіру қажет. Ӛз кезегінде, жаңа 
платформаны құрастырушылар керемет тиімді параллель бағдарламаны 
құрастырудың кезекті жаңа технологиясын ұсынулары да мүмкін. Осылайша 
кӛптеген жылдар бойы бағдарламалар кӛшіріліп жазылуда және айналыста 
жүруде. 
Параллель бағдарламалау технологиясын дұрыс таңдау – бұл шынында 
да күрделі сұрақ. Егер, параллель компьютерде есептерді шығаруға 
кӛмектесе алатын құралдарға үстіртін шолу жасап кӛретін болсақ, онда ол 
тізімге 100–ден аса аттарды енгізуге болады [10]: НОРМА, Т-система, 
ARCH, А++/Р++, ABCL, Adl, Ada, ATLAS, Aztec, BIP, BLACS, BSPlib, 
BlockSolve95, BERT 77, CVM, Counterpoint, CC++, Charm/Charm++, Cilk, 
CFX, Cray MPP Fortran, Concurrent Clean, Converse, CODE, DOUG, DEEP, 
DVM, Erlang, EDPEPPS, F1DAP, FFTW, FLUENT, FM, F—, Fortran 90/95, 
Fortran D95, Fortran M, Fx, FORGE, GA, GALOPPS, GAMESS, Guassian, 
GRADE, Haskell, HPVM, HPF, HPC, HPC++, HeNCE, 1CC, JIAJIA, JOSTLE, 
KELP, КАР, LAPACK, LPARX, Linda, Maisie, Mentat, mpC, MPC++, MP1, 
MPL, Modula-3, NAG, Nastran, NESL, NAMD, OOMP1, OpenMP, Occam, 
Orca, Opus, P4, Para++, ParJava, Parsec, Parallaxis, Phantom, Phosphorus, Pict, 
pC++, P-Sparslib, P1M, ParMETIS, PARPACK, PBLAS, PETSc, PGAPack, 
PLAPACK, PIPS, Pthreads, PVM, Quarks, Reactor, ShMem, SVMlib, Sisal, SR, 
sC++, ScaLAPACK, SPRNG, TOOPS, TreadMan, Treadmarks, TRAPPER, 
uC++, Vienna Fortran, VAST, ZPL. 
Кейбір жағдайларда таңдау тез анықталады. Мысалы, қолжетімді 
компьютерде не орнатылса сіз соны ғана пайдалана алатын жағдайлар болуы 
мүмкін. Басқа аргумент келесі түрде айтылуы мүмкін: "... барлығы МРI 
пайдаланады, сондықтан мен де ...". Егер мүмкіндік болса және ӛзіңіз 
қаласаңыз, әрине оны орындауға болады. Бұл жерде мамандармен 
ақылдасқан артық болмайды. Проблемалар бәрібір туындайды, бірақ қашан, 
қандай кӛлемде. Егер таңдау дұрыс болса, туындайтын проблемалар да кӛп 
болмайтыны анық. Егер таңдауыңыз дұрыс болмаса, үміт үзбеңіз, басқа 
таңдау мүмкіндігін ойланыңыз. Осылайша бірнеше рет таңдау жасай 
отырып, сіз осы облыстың маманы болып кетуіңіз де ғажап емес және 
ӛзіңіздің жаңа технологияңызды ұсынуыңыз да мүмкін.
Әртүрлі параллель бағдарламалау жүйелерімен танысу барысында 
келесі мәселеге міндетті түрде кӛңіл бӛлу керек. Егер сіз қарапайым немесе 


138 
шағын кӛлемдегі оқу болмаса ӛндірістік есептерді шешетін болсаңыз, онда 
параллель есептеу техникасын тиімді пайдалану туралы ойлаудың да қажеті 
жоқ болуы мүмкін. Бұл жағдайда бағдарламалау жүйесін таңдаудың 
мағынасы да болмайды. Қалай үлкен есептерді шешу мәселесі басталса, 
солай тиімді пайдалану сұрағы да туындай бастайды. 
Тағы да бір есте болатын нәрсе, кезкелген параллель бағдарламалау 
жүйесін пайдалануда есептеу жүйесінің ӛнімділігін арттыру тілегі (берілген 
есепте) ӛз кезегінде сізден есеп, бағдарлама немесе алгоритм туралы қандай 
да жаңа мәліметтерді кӛптеп талап ете бастайды. Ешқандай параллель 
бағдарламалау жүйесі, қосымша мәліметтерсіз, есептеу процесінің жоғары 
тиімділігіне кепілдік бере алмайды.


Достарыңызбен бөлісу:
1   ...   68   69   70   71   72   73   74   75   ...   121




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет