В общем плане под параллельными вычислениями понимаются
процессы обработки данных, в которых одновременно могут выполняться нескольких
машинных операций. Достижение параллелизма возможно только при выполнимости следующих
требований к архитектурным принципам построения вычислительной системы:
независимость функционирования отдельных устройств ЭВМ - данное требование
относится в равной степени ко всем основным компонентам вычислительной системы
- к устройствам ввода-вывода, к обрабатывающим процессорам и к устройствам памяти;
избыточность элементов вычислительной системы - организация избыточности
может осуществляться в следующих основных формах:
использование
специализированных устройств таких, например, как отдельных процессоров для
целочисленной и вещественной арифметики, устройств многоуровневой памяти (регистры,
кэш);
дублирование устройств ЭВМ путем использования, например,
нескольких однотипных обрабатывающих процессоров или нескольких устройств оперативной
памяти.
Дополнительной формой обеспечения параллелизма может
служить конвейерная реализация обрабатывающих устройств, при которой выполнение
операций в устройствах представляется в виде исполнения последовательности составляющих
операцию подкоманд; как результат, при вычислениях на таких устройствах могут
находиться на разных стадиях обработки одновременно несколько различных элементов
данных.
Возможные пути достижения параллелизма детально рассматриваются
в [22, 29]; в этой же работе рассматривается история развития параллельных вычислений
и приводятся примеры конкретных параллельных ЭВМ (см. также [9, 29, 31]).
При
рассмотрении проблемы организации параллельных вычислений следует различать следующие
возможные режимы выполнения независимых частей программы:
многозадачный
режим (режим разделения времени), при котором для выполнения процессов используется
единственный процессор; данный режим является псевдопараллельным, когда активным
(исполняемым) может быть один единственный процесс, а все остальные процессы находятся
в состоянии ожидания своей очереди на использование процессора; использование
режима разделения времени может повысить эффективность организации вычислений
(например, если один из процессов не может выполняться из-за ожидании вводимых
данных, процессор может быть задействован для готового к исполнению процесса -
см. [6, 13]), кроме того, в данном режиме проявляются многие эффекты параллельных
вычислений (необходимость взаимоисключения и синхронизации процессов и др.) и,
как результат, этот режим может быть использован при начальной подготовке параллельных
программ;
параллельное выполнение, когда в один и тот же момент
времени может выполняться несколько команд обработки данных; данный режим вычислений
может быть обеспечен не только при наличии нескольких процессоров, но реализуем
и при помощи конвейерных и векторных обрабатывающих устройств;
распределенные
вычисления; данный термин обычно используют для указания параллельной обработки
данных, при которой используется несколько обрабатывающих устройств, достаточно
удаленных друг от друга и в которых передача данных по линиям связи приводит к
существенным временным задержкам; как результат, эффективная обработка данных
при таком способе организации вычислений возможна только для параллельных алгоритмов
с низкой интенсивностью потоков межпроцессорных передач данных; перечисленные
условия является характерными, например, при организации вычислений в многомашинных
вычислительных комплексах, образуемых объединением нескольких отдельных ЭВМ
с помощью каналов связи локальных или глобальных информационных сетей.
В
рамках данного пособия основное внимание будет уделяться второму типу организации
параллелизма, реализуемому на многопроцессорных вычислительных системах.
В настоящее время сфера применения многопроцессорных вычислительных систем (МВС) непрерывно расширяется, охватывая все новые области в самых различных отраслях науки, бизнеса и производства. Стремительное развитие кластерных систем создает условия для использования многопроцессорной вычислительной техники в реальном секторе экономики
Информатика, черчение, математика