
- •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 функциялары
3 Сурет. VMware терезесі
Intelх86 процессорын виртуалдандыру мәселесімен Connectix компаниясы да айналысты. Компания 1997 жылы Мас үшін Virtual PC эмуляторын шығарды, ол арқылы Макинтошта DOS және Windows операциялық жүйелерін іске қосуға болатын. Ал 1999 жылы Windows үшін Virtual PC шықты, мұнда Windows NT/9х негізінде түрлі операциялық жүйелерді іске қосуға болды.
Виртуалды машиналар не үшін қажет?
Виртуалды машиналардың қайта жаңғыртылу кезеңін екі басты себеппен байланыстырады:
түрлі операциялық жүйелердің (ОЖ) пайда болуы;
бірнеше операциялық жүйелер орнатылған компьютерлерді администрациялау және оларға қызмет көрсетудің күрделілігі.
Заманауи виртуалды машиналар оған орнатылған операциялық жүйеден компьютердің физикалық құрылғыларының кейбір параметрлерін жасыруға мүмкіндік береді, ал ол өз кезегінде ОЖ және орнатылған қондырғы арасындағы өзара тәуелсіздікті қамтамасыз етеді.
Бұндай мүмкіндік пайдаланушыларға (және/немесе есептеу жүйелерінің администраторларына) бірнеше басымдылықтар береді:
қатты дискілерді сәйкесінше конфигурациялауды қажет етпей, бір компьютерде бірнеше операциялық жүйені орнату (4 сурет);
жүйені қайта жүктемей ақ (без перезагрузки) бірнеше ОЖ арасында динамикалық қосылу мүмкіндігі арқылы бірмезгілде жұмыс істеу;
орнатылған ОЖ құрамын өзгерту уақытының қысқаруы;
виртуалды машина ортасында жұмыс істейтін бағдарламалық қамтаманың қалаусыз әсерінен нақты қондырғылырды оқшаулау;
бір автономды компьютерде есептеу желісін модельдеу мүмкіндігі.
4 Сурет. Бір компьютерде бірнеше операциялық жүйе
Осы айтылған басымдылықтарды пайдалану арқасында, жүйені қайта жүктемей және оған ешқандай зиян келтіремін немесе істен шығарамын деп қорықпай пайдаланушы шеше алатын есептер шеңбері кеңи түсетіні анық.
Осындай есептердің бірнеше мысалы:
жаңа ОЖ игеру;
нақты ОЖ ортасында жұмыс істеуге арналған қосымшаны (приложения) жүктеу;
бір қосымшаны әртүрлі ОЖ басқаруымен тестілеу;
бағдарламалардың демонстрациялау немесе бағалау версияларын орнату және жою;
вирус жұқтырды деген қауіп бар қосымшаларды тестілеу;
пайдаланушылардың деректерге және бағдарламаларға қатынасу (доступ) құқұқтарын виртуалды машина шеңберінде басқару.
Виртуалды машина дегеніміз не және ол қалай жұмыс істейді?
Қазіргі таңда пайдаланушының көзқарасы бойынша виртуалды машина (ВМ) – бұл арнайы бағдарламалық құралдардың көмегімен жасалған қандай да бір виртуалды есептеу ортасының («виртуалды компьютердің») нақты көшірмесі. Әдетте мұндай құралдар, нақты компьютердің физикалық ресурстарымен ғана шектелген виртуалды машиналардың еркін санын құруға және жүктеуге мүмкіндік береді. Қазіргі кезде виртуалды машина жасауға және оны басқаруға Microsoft компаниясының Virtual PC 2004, VMware компаниясының VMwareWorkstation, Parallels компаниясының Parallels Workstation құралдары кеңінен қолданылуда деп айтуға болады. Бұл құралдарға (виртуалды машиналарға) қатысты, яғни олардың жалпы сипаттамалары, оларды құрастыру, орнату, баптау, олармен жұмыс істеу және олардың мүмкіндіктері туралы толық мағлұматты, А.К.Гультяевтің «Виртуальные машины: несколько компьютеров в одном» кітабынан және htpp://www.piter.com, www.microsoft.com және www.vmware.com сайттарынан табуға болады.
Дербес жағдайда, виртуалды компьютер - Linux ОЖ–де іске қосылған арнайы бағдарлама, және ол Intel х86 процессоры негізінде нақты физикалық процессордың моделі десек болады. Виртуалды компьютердің мониторы болып ақпарат шығарылатын Windows ХР (Windows NT 4.0 немесе басқа ОЖ) графикалық қоршамының терезесі алынады және виртуалды компьютер келесі виртуалды құрылғылар жиынынан тұрады:
виртуалды IDE және SCSI қатты дискілері;
виртуалды CD - ROM;
иілгіш диск үшін стандартты дискжетек;
екі бірінші (primary) және екі екінші (secondary) IDE дискілерін қолдайтын 82371 PCI Bus Master - IDE қатты диск контроллері;
BusLogic BT-958 – мен үйлесімді SCSI – дискілері адаптері;
стандартты PCI графикалық адаптері;
стандартты 101/102 – пернелік пернетақта, PS/2 – сәйкес тышқан;
AMD PCNET Family Ethernet adapter (PCI-ISA) желілік карта;
COM1-COM4 тізбекті порттары;
LPT1-LPT2 параллельді порттар;
Sound Blaster 16 – мен сәйкес келетін дыбыстық карта.
Бұл көрсетілген виртуалды құрылғылар жиыны виртуалды машина жүктелетін нақты компьютердің құрылғылыр жиынына қарағанда (кейбір құрылғыларсыз, мысалы, пернетақта, тышқан, процессор, дыбыстық карта болмаса да болады) өзгеше. Егер операциялық жүйе тікелей виртуалды компьютер ішіне орнатылса, онда орнату барысында бұл құрылғылардың барлығы нақты анықталады. Виртуалды компьютерді қосқан кезде (ол программа-эмулятордың менюіндегі Power On/off арнайы батырмасының көмегімен іске асырылады) қалай BIOS «аппараттық бөлігін» тестілеп жатқанын көруге болады, және де физикалық компьютердегі сияқты Setup бағдарламасына кіріп, BIOS орнатуларын (настройка) беруге немесе өзгертуге болады. Виртуалды компьютерге кез-келген операциялық жүйені орнатуға және онымен әдеттегідей жұмыс істеуге болады.
ВМ жасаудың құралы (кейде оларды виртуалды машиналар қосымшасы (немесе ВМҚ) деп те атайды) - бұл нақты операциялық жүйеге орнатылған кез-келген басқа қосымшалар сияқты қарапайым қосымша. Бұл нақты ОЖ «басты» немесе хосттық деп аталады (ағылшын терминологиясынан алынған host - «басты», «базалық», «жетекші»).
Виртуалды машиналарды басқарудың барлық мәселелерін ВМ қосымшасының құрамындағы арнаулы модуль - виртуалды машинаның мониторы (ВММ) атқарады. Монитор виртуалды машиналар және базалық қондырғы арасындағы барлық қарым – қатынастарда делдалдық роль атқарады, сонымен бірге бірыңғай аппараттық платформада жасалған барлық ВМ орындалуын қолдап, олардың сенімді оқшаулануын (надежную изоляцию) қамтамасыз етеді.
Пайдаланушының виртуалды машинаның мониторына тікелей қатынауға мүмкіндігі болмайды. Бағдарламалық өнімдердің көбісінде пайдаланушыға виртуалды машинаны жасауға және үйлестіруге арналған графикалық интерфейс қана ұсынылады (5 сурет). Бұл интерфейс әдетте виртуалды машиналардың консолі деп аталады.