- •Isbn 978-601-217-247-8
- •Есептеу машиналары
- •§1.1.1 Параллель виртуалды машиналар
- •1 Сурет. Vm/sp, vм/ха, vn/еsа машиналары
- •2 Сурет. Виртуалды машина жүйесі
- •3 Сурет. VMware терезесі
- •4 Сурет. Бір компьютерде бірнеше операциялық жүйе
- •5 Сурет. Вм консолынің мысалы
- •6 Сурет. Виртуалды машиналар жүйесінің архитектурасы
- •§1.1.2 Виртуалды машиналардың түрлері
- •§1.1.3 Виртуаландыру - ақпараттық жүйелерді реттеудің басты жолы
- •§1.2.1 Компьютердің аппараттық құрылымын жетілдіру
- •7 Сурет. Бір операцияны бес тактіде орындайтын тізбекті құрылғының
- •8 Сурет. Бір операцияны әрбірі бес тактіде орындайтын екі бірдей тізбекті
- •10 Сурет. Конвейерлік құрылғы өнімділігінің кіріс деректер
- •11 Сурет. Illiac IV матрицалық жүйесінің жобасы
- •§1.2.2 Компьютерді басқарудың интеллектуалдығын жоғарылату
- •12 Сурет. Ортақ жадылы параллель компьютерлер
- •13 Сурет. Таратылған жадылы параллель компьютерлер
- •14 Сурет. Ортақ шиналы мультипроцессорлық жүйе.
- •15 Сурет. Матрицалық коммутаторлардағы
- •16 Сурет. Омега - желі мультипроцессорлық жүйесі.
- •17 Сурет. Мультикомпьютерлерлік жүйелер байланыс топологияларымен: а – сызықша; б – дөңгелек; в – жұлдызша
- •18 Сурет. Процессорлардың байланыс топологияларының нұсқалары
- •19 Сурет. Сm* есептеу жүйесінің сызбасы
- •20 Сурет. Bbn Butterfly есептеу жүйесінің сызбасы
- •§1.2.3 Функционалды құрылғылар жүйесі
- •§1.3.1 Параллель компьютерлер және жүйелер классификациясы
- •21 Сурет. М. Флин классификациясының sisd және simd кластары
- •22 Сурет. М. Флин классификациясының misd және mimd кластары
- •23 Сурет. Mimd класына р. Хокнидың қосымша
- •§1.3.2 Векторлы-конвейерлік компьютелер
- •24 Сурет. Cray c90 компьютерінің жалпы сүлбесі
- •25 Сурет. Cray c90 компьютері жадысының бөлінуі
- •26 Сурет. Cray c90 компьютерінде векторлық операциялардың орындалуы
- •27 Сурет. Cray c90 компьютерінде векторлық операциялардың ілінісуі
- •§1.3.3 Ортақ жадылы параллель компьютерлер
- •28 Сурет. Hewlett Packard Superdome компьютері
- •29 Сурет. Hewlett Packard Superdome компьютерінің
- •§1.3.4 Таратылған жадылы есептеу жүйелері
- •30 Сурет. Cray t3e компьютерінің коммуникациялық торы
- •31 Сурет. Cray т3d/t3e компьютерлеріндегі барьерлі синхрондау
- •32 Сурет. Есептеу кластерінің жалпы схемасы
- •33 Сурет. Мвс-1000м суперкомпьютерінің құрылымы
- •34 Сурет. Коммуникациялық ортаның латенттілігі және өткізу қабілеті
- •§1.3.5 Метакомпьютинг
- •§2.1.1 Үлкен есептер және үлкен компьютерлер
- •35 Сурет. Сандық эксперименттің этаптары
- •§ 2.1.2 Алгоритм графы және параллель есептеулер
- •§ 2.1.3 Шексіз параллелділік концепциясы
- •§ 2.1.4 Ішкі параллельділік
- •37 Сурет. Матрицаларды көбейту графы
- •38 Сурет. Үшбұрышты жүйелерге арналған графтар
- •39 Сурет. Блокты-екідиагоналды жүйеге арналған Макрограф
- •40 Сурет. Блокты-екідиагоналды жүйеге арналған граф
- •41 Сурет. Жалпыланған пралллель форманың ярустары
- •42 Сурет. Графтағы микро және макропараллельділік
- •§2.2.1 Дәстүрлі тізбекті тілдерді пайдалану.
- •§2.2.2 OpenMp бағдарламалау технологиясы
- •44 Сурет. ОреnМр: бағдарламаның орындалу процесі
- •§2.2.3 Хабарлама жіберу негізіндегі бағдарламалау жүйелері. Mpi бағдарламалау жүйесі
- •Int mpi_Comm_rank(mpi_Comm comm, int *rank)
- •Int mpi_Send(void *buf, int count, mpi_Datatype datatype, int dest, int msgtag, mpi_Comm comm)
- •Integer count, datatype, dest, msgtag, comm, request, ierr
- •Int mpi_Isend(void *buf, int count, mpi_Datatype datatype, int dest, int msgtag, mpi_Comm comm, mpi_Request *request)
- •Int mpi_Irecv(void *buf, int count, mpi_Datatype datatype, int source, int msgtag, mpi_Comm comm, mpi_Request *request)
- •Integer count, datatype, source, msgtag, comm, request, ierr
- •Int main(argc,argv)
- •Int argc;
- •Include 'mpif.H’
- •Integer ierr, rank, size, prev, next, reqs(4), buf(2)
- •Integer stats(mpi_status_size, 4)
- •Int mpi_Waitany( int count, mpi_Request *requests, int *index, mpi_Status *status)
- •Integer count, requests(*), index, status(mpi_status_size), ierr
- •Int mpi_Waitsome( int incount, mpi_Request *requests, int *outcount, int *indexes, mpi_Status *statuses)
- •Integer incount, requests(*), outcount, indexes(*), ierr,
- •Int mpi_Test(mpi_Request *request, int *flag, mpi_Status *status)
- •Integer request, ierr, status(mpi_status_size)
- •Int mpi_Testall( int count, mpi_Request *requests, int *flag, mpi_Status *statuses)
- •Integer count, requests(*), statuses(mpi_status_size,*), ierr
- •Int mpi_Testany(int count, mpi_Request *requests, int *index, int *flag, mpi_Status *status)
- •Integer count, requests(*), index, status(mpi_status_size), ierr
- •Int mpi_Testsome( int incount, mpi_Request *requests, int *outcount, int *indexes, mpi_Status *statuses)
- •Integer incount, requests(*), outcount, indexes(*), ierr,
- •Int mpi_Iprobe( int source, int msgtag, mpi_Comm comm, int *flag, mpi_Status *status)
- •Include 'mpif.H’
- •Integer ierr, rank, size, n, nl, I, j
- •Integer irr, status(mpi_status_size), req(maxproc*2)
- •If(ir .Ne. Rank)
- •Int mpi_Send_init( void *buf, int count, mpi_Datatype datatype, int dest, int msgtag, mpi_Comm comm, mpi_Request *request)
- •Integer count, datatype, dest, msgtag, comm, request, ierr
- •Int mpi_Recv_init( void *buf, int count, mpi_Datatype datatype, int source, int msgtag, mpi_Comm comm, mpi_Request *request)
- •Integer count, datatype, source, msgtag, comm, request, ierr
- •Integer сомм, ierr
- •Include 'mpif.H’
- •Integer ibuf(maxproc)
- •Integer req(2*maxproc), statuses(mpi_status_size, maxproc)
- •Integer count, datatype, root, comm, ierr
- •Integer scount, stype, rcount, rtype, root, comm, ierr
- •Integer scount, stype, rcounts(*), displs(*), rtype, root, comm, ierr
- •Integer scount, stype, rcount, rtype, root, comm, ierr
- •Int mpi_Bcast(void *buf, int count, mpi_Datatype datatype, int source, mpi_Comm comm)
- •Int mpi_Gather( void *sbuf, int scount, mpi_Datatype stype, void *rbuf, int rcount, mpi_Datatype rtype, int dest, mpi_Comm comm)
- •Int mpi_Scatter(void *sbuf, int scount, mpi_Datatype stype, void *rbuf, int rcount, mpi_Datatype rtype, int source, mpi_Comm comm)
- •Int main(argc,argv)
- •Int argc;
- •Int numtasks, rank, sendcount, recvcount, source;
- •Int mpi_Barrier (mpi_Comm comm)
- •§ 2.2.4 Бағдарламалаудың басқа тілдері және жүйелері.
- •Параллель есептеуде қолданылатын қысқаша қазақша-орысша терминологиялық сөздік
- •Параллель есептеуде қолданылатын қысқаша орысша-қазақша терминологиялық сөздік
- •Және орта айнымалылары
- •Mpi функциялары
§1.3.5 Метакомпьютинг
Алдыңғы параграфтарда біз параллель есептеу жүйелерінің бірнеше класын қарастырған болатынбыз. Олар ортақ жадылы компьютерлер (Cray С90, Hewlett Packard Superdome), таратылған жадылы массивті-параллель компьютерлер (Cray Т3D/T3E) және түрлі конфигурациядағы есептеу кластерлері болатын. Егер барлық алғашқы параллель жүйелер жекелеген қуатты фирмалар мен корпорациялардың иелігінде болса, қазіргі уақытта ситуация шұғыл өзгерді десе болады. Бүгінгі күні, есептеу қуатының қажеттілігіне және қаржы жетімділігіне қарай кезкелген зертханада есептеу кластерін құрастыруға болады. Параллель процестер арасында тығыз ара-қатынас қажет етілмейтін есептер кластары үшін, дәстүрлі жұмыс станциялары мен Fast Ethernet желісі негізіндегі шешімдер толықтай тиімді болуда. Енді бұл шешім заманауи кәсіпорындардағы жергілікті желіден не айырмашылығы бар деген сұрақ туады. Қолданбалы бағдарламашының көзқарасы бойынша ештеңемен де. Егер бағдарламашыда осы тәрізді желіні өзінің есептерін шешу үшін пайдалану мүмкіндігі туса, онда ол үшін мұндай конфигурация параллель компьютер болатыны анық.
Бұл идеяны ары жалғастыратын болсақ, кезкелген есептеу құрылғыларын егер олар бір мезгілде жұмыс істесе және оларды бір есепті шешу үшін пайдалануға болса, параллель есептеу жүйесі деп санауға болады.
Бұл мағынада, әлемдегі ең үлкен компьютер деп қарастыруға болатын Интернет желісі керемет бірегей мүмкіндіктер береді. Интернет желісіне қосылған компьютерлер иеленетін қосынды ресурстармен ешқандай есептеу жүйесі шектік өнімділігімен де жедел жады болмаса дискілік жады көлемімен де тең түсе алмайтыны айқын. Компьютерлерден тұратын компьютерді метакомпьютер десек, осыдан келіп аталған есептеу жүйесінде есептеулерді ұйымдастыру процесі үшін арнайы аталу шығады – ол метакомпьютинг. Негізінде, метакомпьютердің коммуникациялық ортасы ретінде тек Интернетті ғана қарастыру міндетті емес, оның ролін кез-келген желілік технология орындай алады. Бұл жағдайда біз үшін маңыздысы принцип, ал техникалық іске асыру үшін мүмкіндіктер қазіргі кезде жетерлік. Әрине, Интернетке ерекше қызығушылық әруақытта болған және бола береді де, себебі ешқандай жеке алынған есептеу жүйесі өзінің қуаты жағынан ауқымды желінің потенциалды мүмкіндіктерімен теңесе алмайды.
Күрделі есептерді шешу үшін таратылған есептеу ресурстарын пайдаланудың конструктивті идеялары соңғы онжылдықта кең іске асырыла бастады. Бірінші метакомпьютингтің нақты жүйелерінің прототиптері өткен ғасырдың 90-шы жылдарының ортасынан бастап қолжетімді болды. Бірнеше мысалдар келтірелік.
Таратылған есептеулерді қолдау үшін MPI кеңейтілуі PACX-MPI. Бірнеше MPP жүйелерін MPI әртүрлі іске асырылуымен біртұтас метакомпьютерге біріктіру мүмкіндіктері қарастырылған. МРР арасындағы деректерді жіберу TCP/IP көмегімен Интернет арқылы жүргізіледі. 1998 жылы ұйымдастырылған Supercomputing конференциясында PACX-MPI құралдарымен екі елдегі, Германияның Штутгарт университетіндегі және АҚШ Питсбург суперкомпьютерлік орталығындағы екі 512-процессорлық CRAY T3E суперкомпьютерлерін қалай бірге пайдалануға болатындығы көрсетілді.
Condor жүйесі компьютерлердің жүктемесіз бос тұрған уақыттарын пайдаланып, мысалы, түнгі уақытта, жұмыс станцияларының корпоративтік желілері бойынша есептерді таратады. Condor жүйесінің бағдарламалық қамтамасы еркін пайдалануға беріледі. Қазіргі уақытта барлық негізгі платформалар: SGI, Solaris, Linux, HP-UX, Digital Unix, Windows NT қолданыста. Олардың толық сипаттамаларын және қажетті дистрибутивтерін жобаның сайтынан табуға болады http://www.cs.wisc.edu/condor/.
SETI@home (Search for Extraterrestrial Intelligence) жобасы – жерден тысқары жердегі цивилизацияны, радиотелескоптан берілетін деректерді таратылған өңдеу көмегімен іздеу. Радиосигналдарды өңдейтін бағдарламаны өз компьютеріне жүктей отырып, бұл жобаға кезкелген қалаған адам қосыла алады. Windows, Mac, UNIX, OS/2 үшін клиент бағдарламалары қолжетімді. Бұл жобаның 1999 жылы май айында басталғанынан бері 2002 жылдың май айына дейін 3,7 миллион адам жобаға қатысуға ынта білдіріп тіркеуге тұрған. Сайтта келтірілген статистикалық мәліметтерге сәйкес жобаға қатысқан компьютерлердің өнімділіктерінің қосындысы Тор500 тізіміндегі барлық компьютерлердің өнімділігінен бірнеше есе асып түседі екен. Жобаның адресі http://setiathome.ssl.berkeley.edu/.
Distributed.net, таратылған режимде күрделі есептерді шешу үшін өздерінің компьютерлерін ұсынатын Интернетті пайдаланушылардың ең үлкен бірлестігінің бірі болып табылады. Негізгі жобалар шифрларды (RSA Challenges) анықтау есептеріне байланысты. Жоба басталғаннан бері оған 200000-нан аса адам тіркелген. Жобаның адресі http://www. Distributed.net/.
GIMPS – Great Internet Mersenne Prime Search. Мерсен жай сандарын іздеу, яғни 2р – 1 түріндегі жай сандар, мұндағы р – жай сан. 2001 жылдың ноябрь айында бұл жоба аумағында бүгінгі күнге максимал болатын Мерсен саны табылды 213 466 917 – 1. Бүкіл әлем бойынша ондаған мың компьютерлер өздерінің есептеу ресурстарының мүмкін бөліктерін бере отырып бұл есепті шешу үшін екі жарым жылдай жұмыс істеді. Electronic Frontier Foundation ұйымы 10 миллион цифрдан тұратын Мерсен жай санын тапқандарға 100 000$ приз ұсынады. Жобаның адресі http:// Mersenne.org/.
Алғашқыда Globus жобасы, Аргон ұлттық зертханасында басталып, қазіргі уақытта бүкіл дүние жүзіне кең таралған. Жобаның мақсаты, ауқымды ақпараттық-есептеу ортасын ұйымдастыру үшін құралдар жасау. Жоба аумағында бағдарламалық құралдар мен жүйелердің тұтас қатары құрастырылды. Оларға, жүктеме таратылуының әртүрлі жергілікті жүйелерінің біркелкі интерфейсі, аутентификация жүйесі, Nexus коммуникациялық кітапханасы, бақылау және мониторинг құралдары және т.б. жатады. Құрастырылған құралдар Globus Toolkit пакеті түрінде негізгі мәтінімен еркін таратылады. Қазіргі уақытта Globus көптеген басқа үлкен жобаларда негізге алынған: National Texnology Grid, Information Power Grid және European Date Grid. Қосымша ақпаратты http://www.globus.org/ сайтынан табуға болады.
Соңғы жылдардағы желілік технологиядағы прогресс өте зор. Жүздеген, мыңдаған километрге таралған компьютерлер арасындағы гигабиттік байланыспен ешкімді таңқалдыра алмайсыз. Түрлі есептеу жүйелерін бірегей желі аумағында біріктіріп, арнайы есептеу ортасын құрастыруға болады. Қандай да бір компьютерлер қосылуы немесе ажыратылуы мүмкін, бірақ пайдаланушы көзқарасымен бұл виртуалды орта бірыңғай метакомпьютер болып табылады. Бұндай ортада жұмыс істей отырып, пайдаланушы есепті шығару үшін тек қана тапсырма береді, ал қалғандарын метакомпьютер өзі істейді: қолжетімді есептеу ресурстарын іздейді, олардың жұмыс істеу қабілетін қадағалайды, деректерді жібереді, қажет болса деректерді компьютер форматына өзгертеді, т.б. Пайдаланушы есепті шешуде қандай компьютердің ресурстары пайдаланылып жатқанын білмеуі де мүмкін. Ал оны жиі біліп тұрудың қажеті бар ма? Егер қандай да бір есепті шешу үшін есептеу қуаты талап етілсе, сіз метакомпьютерге қосыласыз, тапсырма бересіз және нәтижесін аласыз.
Мұнда электр желісімен толық дерлік ұқсастық бар десе болады. Телевизорды розеткаға қоса отырып, сіз электр энергиясын қандай станция өндіріп жатқанын ойланбайсыз да. Сізге ресурс керек, сіз оны пайдаланасыз. Электр желісіне ұқсастығына қарай, ағылшынтілді әдебиетте таратылған есептеуіш орта Grid немесе «есептеуіш желі» атына ие болды. Бұдан ары, Grid және метакомпьютер сөздерін синоним ретінде пайдаланатын боламыз.
Электр желісімен ұқсастығын жалғастыра отырып, метакомпьютерге оның атын ғана емес, пайдаланушымен арасындағы ара-қатынастың сол сияқты қарапайым тәсілін де ауыстырса дұрыс болар еді. Бірақ осы жерде метакомпьютерді құрастырудың және ұйымдастырудың күрделілігімен анықталатын негізгі мәселелер пайда бола бастайды. Дәстүрлі компьютерлерден айырмасы метакомпьютердің өзіне ғана тән ерекшеліктері бар:
Метакомпьютер дәстүрлі компьютерлермен теңестіруге де болмайтын өте үлкен ресурстарға ие. Бұл оның барлық параметрлеріне де қатысты десе болады: жады көлемі, қолжетімді процессорлар саны, активті қолданбалар саны және т.б.
Табиғатынан метакомпьютер таратылған болып есептеледі. Метакомпьютердің компоненттері бір-бірінен жүздеген, мыңдаған километр қашықтықта орналасуы мүмкін, бұл өз кезегінде сөзсіз үлкен латенттілікке алып келеді және олардың ара-қатынасының қаншалықты шұғыл болуына әсерін тигізеді.
Метакомпьютер өзінің конфигурациясын өзгерте алады. Қандай да бір компьютерлер оған қосылып жатса, кейбірі одан ажыратылып қол жетімділігін жоғалтып жатады. Бірақ пайдаланушы үшін метакомпьютермен жұмыс айқын болу керек.
Метакомпьютер біртекті емес. Тапсырманы тарату барысында оның құрамына кіретін операциялық жүйелердің ерекшеліктерін ескеру керек. Әртүрлі жүйелер, деректерді берудің (көрсетудің) әртүрлі форматтары және командалар жүйелерін қолдайды. Әртүрлі жүйелер түрлі уақытта әртүрлі жүктелуі мүмкін, есептеу жүйелерімен байланыс, өткізу қабілеті әртүрлі каналдар арқылы жүреді. Метакомпьютер құрамына, үйдегі дербес компьютерден бастап, Тор500 тізіміне кіретін өте қуатты суперкомпьютерлерге дейін, яғни әртүрлі архитектуралы есептеу жүйелері кіруі мүмкін.
Метакомпьютер түрлі ұйымдардың ресурстарын біріктіреді. Нақты ресурстарды пайдалану және оларға қолжетемдік саясаты олардың қандай ұйымға тиесілі екеніне байланысты қатты өзгеруі мүмкін. Метакомпьютер ешкімге де тиесілі емес, сондықтан оны администрациялау саясаты жалпы түрде ғана анықталуы мүмкін. Сонымен қатар, метакомпьютердің өте көп құрамдас бөліктерінің жұмысын үйлестіру үшін, оның барлық қызметтері мен сервистерін міндетті түрде стандарттау ұйғарылған.
Метакомпьютерлер туралы айта отырып, оның тек аппаратты бөлігі туралы ғана емес, инфраструктурасы туралы да айтылатынын ескереміз. Кешенді түрде келесі сұрақтар қарастырылуы керек: бағдарламалау құралдары және модельдері, тапсырманың таратылуы және диспетчерленуі, метакомпьютерге қолжетімділікті ұйымдастыру технологиясы, пайдаланушы интерфейсі, қауіпсіздік, сенімділік, администрациялау саясаты, деректерді таратылған жағдайда сақтау технологиялары және қатынас құралдары, метакомпьютердің әртүрлі ішкі жүйелерінің жағдайының мониторингі және көптеген басқа да сұрақтар. Енді көзге елестетіп көрелік, ұзақ уақыт бойы он мыңдаған пайдаланушылардың тапсырмаларын орындау үшін, метакомпьютерді құрайтын бірнеше миллиондаған әртүрлі электронды құрылғыларды үйлесімді жұмыс істеуге қалай мәжбүр етуге болады? Өте күрделі есеп, масштабты шешімі мұндаға дейін мүмкін болмады.
Қазіргі уақытта метакомпьютер құрудың әртүрлі стратегияларына белсенді түрде талдаулар жүргізілуде. Осы жұмыстар туралы және олардың ағымдағы жағдайы туралы қажетті ақпараттарды http://www.globus.org, http://www.gridforum.org және т.б. сайттардан табуға болады.
Құрылатын ауқымды желінің шынай емес болып көрінуіне қарамастан, метакомпьютердің қолданылу саласы өте кең. Метакомпьютер аумағында өте көп есептеу ресурстары бірктіріледі. Сондықтан ол ертеректе шешілуі мүмкін еместей көрінетін көптеген есептердің шешімдерін табу мүмкіндіктерін бермек. Биоинженерия осындай облыстардың бірі. Бір заманауи жұмыс станциясына бір макромолекуланың кеңістік құрылымын анықтау үшін бірнеше күн қажет етіледі, ал әртүрлі байланыстар үшін қажетті сандық эксперименттердің жалпы саны жүздеген мың болуы мүмкін. Әрине, мұндай есептерді шешуге ешқандай дәстүрлі есептеу жүйелерінің қуаты жетпесі анық, ал метакомпьютердің қосынды ресурстары көмектесе алады.
Қолданылу саласының келесі бағыты – бір-бірімен әлсіз байланысқан немесе бір-біріне тәуелсіз есептердің үлкен ағынын өңдеудің жоғары жылдамдығын қамтамасыз ету. Бұл бағыттағы есептердің типтік мысалдарына криптографияның дәстүрлі есептері немесе күрделі электронды қондырғыларды жобалаудың соңғы этаптарындағы өте көп есептеулерді жүргізу жатады [29].
Қолданылу саласының аралас бағыты талап етілу (on-demand computing) бойынша есептеулер жүргізу. Көптеген ұйымдар үшін өздерінде жоғарыөнімді компьютерлерді ұстау экономикалық жағынан тиімсіз, себебі үлкен есептеулер жүргізу сирек және эпизодты сипатта талап етіледі, ал мұндай қондырғыларды сатып алу және күтіп ұстау үлкен қаражатты қажет етеді.
Қазіргі уақытта нақты есептерді шешу үшін метакомпьютинг идеясын пайдалану мысалдарын көптеп келтіруге болады. Бірақ, бұл жұмыстардың бәрі бірегей және олар өте көп еңбек сіңіруді қажет ететіндіктен, олар көпшілік пайдалануға әлі өте алыс. Электр желісінің ұқсастығына сүйеніп, «қосыл және пайдалан, нәтижесін ал» деп айта салу әрине оңай. Тәжірибе жүзінде шынында да өте маңызды, салмақты мәселелер туындайды. Мәселелердің бір бөлігі саяси және экономикалық сипаттағы сұрақтарға қатысты. Бүгінгі күні метакомпьютингке қатысты жұмыстар масштабы кеңейіп мемлекетаралық деңгейге шығуда. Сондықтан мұндай сұрақтарды міндетті түрде ескеру қажет. Метакомпьютерді құрастырушылар және оның жұмысын қолдайтын жүйелер алдында үлкен мәселелер жатқаны анық. Бұл түсінікті де: есеп өте күрделі, жаңа және әдеттен тыс дайын жұмыстардың аздығы және тәжірибенің айқын жетіспеушілігі.
Алайда пайдаланушылар алдында одан да көп мәселелер пайда болуда. Бүгінгі күні метакомпьютинг жүйесі үшін бағдарламаларды қалай құру керек екені әлі де түсініксіз болып қалуда. Пайдаланушыға бағдарламалаудың қандай моделіне бағытталуы керек? Метакомпьютер аумағында бүгінгі күні бар архитектураның барлығы да пайдаланылуы мүмкін. Бір тораптарда хабарламаны жіберудің айқын түрін пайдаланатын бағдарламалау жүйелері қолданылса, басқалары көпағынды өңдеуге негізделеді, үшіншілері ортақ жады түсінігіне сүйенсе, төртіншілерінде деректерді векторлық өңдеу пайдаланылады және т.б. Нақты бағдарламаның немесе алгоритмнің қасиеттеріне байланысты таратылған есептеу ресурстарын қалай дұрыс таңдауды қамтамасыз етуе болады? Параллель есептеулерге қатысты барлық сұрақтарды қамтитындықтан бұл есеп өте күрделі деп айта аламыз.
Көпқайтара пайдаланылатын бағдарламалардың шағын класы үшін бүгінгі күні қолайлы шешім табылуда. Арнайы жобаланған құрылғылар көмегімен метакомпьютингтің қандай да бір жүйесі аумағында мамандармен алдын-ала дайындалған программаға Web-интерфейс дайындалады. Пайдаланушы бағдарламалаумен тікелей айналыспайды, бағдарламаның қай жерде қалай орындалатынына алаңдамай ол өзінің кіріс деректерін енгізеді және есепті жүктейді. Қандай да бір уақыттан кейін жүйе оған есептеу нәтижесін қайтарады. Қазір осыған ұқсас бірнеше жүйелер бар, мысалы, UNICOR жүйесі. Толық ақпаратты http://www.fz-juelich.de/unicore/ сайтынан табуға болады.
Метакомпьютинг жүйелерін құрастыру және іске қосу жұмыстары көптеген бағыттар бойынша белсенді түрде жүргізілуде. Бірақ әлі де шешілмеген мәселелер өте көп, олардың жақын болашақта шешілетіні әрине күмән тудырмауы керек.
Сұрақтар мен тапсырмалар
Метакомпьютер, метакомпьютинг туралы не айтасыз?
Сіз оқитын ЖОО немесе жұмыс істейтін ұйымдағы жергілікті желіде неше компьютер бар? Олардың қосынды өнімділігі неге тең?
Жұмыс орнындағы желіге қосылған компьютерлерді біріңғай параллель компьютер режимінде пайдалану үшін не істеу керек?
Метакомпьютер құрудың стратегияларына талдау жасаңыз.
Метакомпьютердің қолданылу салалары.
Қолданбалы бағдарламашы көзқарасымен есептеу кластерін және метакомпьютерді бағдарламалаудың айырмашылығы.
Метакомпьютердің шектік өнімділігі қалай анықталады?
Нақты бағдарламаларда метакомпьютер өнімділігін төмендететін бірнеше себептерді атаңыз.
Метакомпьютер үшін компиляторды құрастыруда қандай проблемалар пайда болуы мүмкін?
Метакомпьютерді құрастыру барысында ақпараттық қауіпсіздікті қамтамасыз етуге байланысты қандай сұрақтарды шешуге тура келеді?
Метакомпьютерді пайдалану тиімді болатын химия, физика, астрономия, геодезия және т.б. ғылыми салалардағы нақты есептерді болмаса облыстарды атаңыз.
Метакомпьютерге ғана тән ерекшеліктерге талдау жасаңыз.
2-ШІ БӨЛІМ: ПАРАЛЛЕЛЬ ПРОГРАММАЛАУ
1-ШІ ТАРАУ. ҮЛКЕН ЕСЕПТЕР ЖӘНЕ ПАРАЛЛЕЛЬ ЕСЕПТЕУЛЕР
