Техническая реализация зацепления по данным предполагает специальную подготовку математически сформулированной задачи на выявление цепей информационной зависимости между данными, появляющимися в процессе промежуточных выполнений отдельных частей задачи. То есть весь процесс решения задачи должен быть представлен в форме графа информационной зависимости, по которому, в конечном счете, будет сконфигурирована параллельная вычислительная среда.
В параллельном вычислительном процессе отдельные части задачи с точки зрения обработки данных рассматриваются как составные операторы, порядок и выполнение которых во времени подчинены принципам фон-неймановских вычислительных структур. Их программирование выполняется по методам обычного последовательного программирования одиночного процесса, по завершении которого будет сформирован набор данных для использования в других процессах.
Эффективность параллельных программ, использующих общие наборы данных, подготовленные одним процессом для других, в силу требований минимизации времени решения всей задачи, принципиально зависит от технологии перемещения данных из сферы действия одного процесса в сферу действия другого. Здесь можно назвать как минимум два способа:
· передача данных через общую для процессов область памяти;
· перемещение данных из области памяти одного процесса в область памяти другого процесса.
В обоих случаях нужны средства описания и реализации связи.
Взаимодействие процессов через посредство обмена данными существенно зависит от мест расположения взаимодействующих процессов:
· процессы открыты в пределах одной вычислительной машины;
· процессы открыты на разных вычислительных машинах.
При параллельном программировании в большинстве случаев создаются программы для процессов, которые располагаются и функционируют на разных вычислительных машинах. Чтобы данные из процесса одной машины попали в сферу действия процесса другой машины, необходимо наличие коммуникационной среды, которая последовательно выполняет ряд протокольных действий, подготавливая данные для транспортировки их по физическим линиям связи и переключающим устройствам на этих линиях.
Самым узким местом коммуникационной среды при параллельных вычислениях являются области размещения общих данных нескольких процессов. Возникает вопрос: в памяти какой вычислительной машины должны находиться общие данные? Если в какой-то одной, то из-за асинхронности параллельно выполняемых процессов обеспечить детерминированное (синфазное, синхронизированное по фазе) воздействие на общие данные обеспечить крайне затруднительно, особенно для длительных процессов. Если в каждой машине хранить по копии одних и тех же общих данных, то возникает проблема поддержания когерентности (согласованности) этих данных для всех взаимодействующих процессов. С каждой даже незначительной модификацией общих данных все копии набора этих данных немедленно должны быть обновлены во всех запоминающих устройствах вычислительных машин. Задача не из быстро выполняемых! [6]
Следующим узким местом является сама коммуникационная среда, ее техническая реализация. Два крайних случая построения такой среды для заданного числа параллельно работающих вычислительных машин можно охарактеризовать так:
· локальная сеть типа общей шины, в которой обмен данными между удаленными процессами может происходить только поочередно;
· полнодоступный коммутатор с числом входов и выходов равным числу параллельно работающих вычислительных машин, который обеспечивает независимое установление и удержание любого числа межкомпьютерных парных соединений.
Если первый вариант предполагает для подключения к сети одного вычислительного модуля использовать лишь один двунаправленный подключающий элемент, то в полнодоступном коммутаторе с заданным числом входов/выходов для подключения вычислительных машин число коммутирующих элементов может достигать квадрата их числа.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.