Паралель программалау дамуының хронологиясы

  • Параллель компьютер дегеніміз – есепті сандық шешу үшін бірігіп жұмыс істеуге қабілетті процессорлар жинағы.
  • Параллель бағдарлама дегеніміз — әрбір процесс оның өз процессорында орындалатын және сонымен бірге процесс параллель түрде орындалатын бағдарлама.
  • Параллель бағдарламалау бағытының дамуы және параллелькомпьютерлерге сұраныс
  • Компьютерлік техологиялардың дамуы, соның ішінде параллель компьютерлер 50-жылдардан бастап пайда болды.
  • Есептеу уақытын, сонымен бірге, деректердің үлкен массивін өңдеу уақытын үнемдеу және есептеу жылдамдығына деген сұраныс барлық уақытта бар болатын, бірақ ол экономика және техникадағы жаңа ақпараттық технологиялар, ғылыми көлемді облыстардың дамуымен бірмезгілде өсіп келеді.
  • Күнделікті тұрмыстағы қарапайым мысалдардықарастырайық. Мысалы, көктемнің келуімен гүлдер ағаштарда да гүдейді, машиналардың өз жолы болады,бірақ олар жол үстінде бірге қозғалады. Майкл Куинн (Quinn, 1994) мысал ретінде оркестрді ұсынды: оркестрде бірнеше инструменттер барлығы бірге әдемі бір мелодияны ойнайды. Осыған ұқсас параллель процесті басқа да облыстардан көруге болады. Параллелькоспьютерлер мен параллель есептеулерді қолданатын облыстарға шолу жасайық.
  •  Күрделі жүйелерді сандық модельдеу: ауа-райын болжау, жаңалықтар, ағымдық космостық (полет) ұшу туралы жедел ақпарат. Ертеңгі ауа-райын болжайтын ауа-райы типті модельді есептеу уақыты 5 сағатта дайын болуы тиіс.
  • Бизнестегі коммерциялық қосымшалар: құрамына бейнеконференциялар, бірлескен жұмыс орталары, параллельдеректер қоры, банк транзакциялары кіретін қосымшалар.
  • Техникадағы қосымшалар: медицинадағы автоматтандырылған диагноз, жер сілкінісін болжау және т.б.
  • Білім саласындағы коммерциялық қосымшалар: кеңейтілген графика және виртуальді әлем, әсірсе, ойын-сауық облысында, компьютерлік ойындар.
  • Жобалаушылар параллелизмді төмендегілерді қолданып пайдалана бастады: функционалдық модульдер жиыны, енгізу-шығару операциясын және орталық процессорды үйлестіру (перекрывание), конвейерлік өңдеу (ішкі параллелизм), командалар ағыны және деректер ағыны.
  • Осының негізінде келесі мәселелер пайда болды:
  • Компьютер жұмысы негізгі операция және бірмезгілде орындалуы мүмкін кейбір негізгі операциялар санын орындауға қажет уақытқа тікелей тәуелді. Негізгі операцияларды орындауға кететін уақыт процессордың «тактілік циклымен» шектеледі, яғни бұл көптеген примитивті операциялардың орындалуына кететін уақыт. Мұнымен қатар тактілік цикл уақыты баяу түрде азаяды және жарық жылдамдығы типті физикалық шекке жуықтайды. Біз жылдамдатылған есептеу жұмысын қамтамасыз ету үшін бұдан жылдам процессорларға тәуелді бола алмаймыз.
  • Олар е қалай шешілді? Компьютерлік жобалаушылар бір компьютрді түрлендіру үщін осы шектеулерді жоюға әртүрлі әдістерді пайдалана бастады:
  • конвейерлі өңдеу (бірнеше командалардың әртүрлі стадиялары бірмезгілде орындалады);
  • функционалдық модульдер жиыны (бірнеше көбейткіштер сумматорлар және т.б. жеке командалар ағынымен басқарылады);
  • әрқайсысының өзара байланысының (желінің) байланысқан логикасы, өз процессоры, жады бар бірнеше «компьютрлердің» бірігуі.
  • Осылайша, параллелизм супер-ЭЕМ, жұмыс станциялары, дербес компьютерлер және желілерге ене бастады. Жаңа алгоритмдерге деген сұраныс пісіп жетілді, бағдарлама параллель бағдарламаға құрылымданды.