Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книги / TURIN / ЛЕКЦПР~3.DOC
Скачиваний:
37
Добавлен:
10.12.2013
Размер:
92.16 Кб
Скачать

П3.2. Модель коллектива вычислителей

Теория алгоритмов, формализующая работу вычислителя, дает ответ на все принципиальные вопросы, связанные с построением универсальных цифровых машин с программным управлением. Однако следует заметить, что при физической реализации модели вычислителя возникают принципиальные трудности. Они появляются из-за последовательного выполнения команд, жесткой (неизменяемой) логической структуры алгоритма подражания, неоднородности устройств модели и связей между ними.

Несмотря на принципиальную возможность реализации любого алгоритма с помощью модели вычислителя, оказывается невозможным при ее физическом воплощении выполнить вычисления за требуемое время, обеспечить необходимую надежность работы вычислителя, добиться невысокой стоимости вычислений. Фактически имеется теоретический предел производительности, определяемый числом команд (операций), выполняемых в единицу времени. Этот предел, равный примерно 109опер./с, обусловлен конечной скоростью передачи сигналов между частями модели, которая не может быть больше скорости света. Наличие ограничений на надежность элементов модели и жесткая логическая структура модели не позволяет обеспечить надежность модели в соответствии с требованиями, обусловленными решаемыми задачами.

Неоднородность элементов и связей между ними в модели не позволяют реализовать массовую технологию производства, и, следовательно, нельзя обеспечить низкую стоимость вычислений. Свободной от указанных недостатков является модель коллектива вычислителей, решающих единую сложную задачу. Пусть коллективом вычислителей вычисляется задача решения систем линейных уравнений методом последовательных приближений.

Рис.П3.3.

Схема решений систем линейных уравнений коллективом из nвычислителей представлена на рис.П3.3. Система распределяется междуnвычислителями таким образом, что на долю каждого вычислителя приходится одно уравнение. Начальные приближениязадаются всем вычислителям. В таком случае каждый вычислитель может производить вычисления независимо от получения первого приближения х(1). Это осуществляется за 2nшагов умножения и сложения при одновременной работе всех вычислителей.

Для продолжения вычислений необходимо осуществить обмен информацией между вычислителями. Поскольку каждый i-вычислитель содержит приближение только для своей переменной, а для работы каждому вычислителю требуется иметь все переменные х(k), необходимо выполнить цикл обмена переменными между вычислителями. При этом первый вычислитель пересылает переменнуюодновременно во все остальные. Затем второй вычислитель пересылает другим вычислителями т.д. Заnобменов все вычислители будут содержать новые приближения, которые используются для вычислений следующих приближений. Обмен сообщениями, при котором один вычислитель передает сообщение, а остальные принимают, получил название трансляционного. Достоинство схемы трансляционного обмена заключается в том, что с ростом числа вычислителей растет и эффективность обмена. За один шаг фактически выполняетсяnобменов, в то время как если бы вычислители обменивались попарно, потребовалось быnшагов.

После выполнения nтрансляционных обменов вычислители продолжают независимые вычисления новых приближений. Этот момент можно использовать для проверки условий сходимости. Полученная разностьDприближенийив первом вычислителе пересылается второму вычислителю, в котором осуществляется выбор максимальной разности междуDиD. Максимальная разность пересылается в третий вычислитель и т.д. В последнем вычислителе выбранная максимальная разностьmaxDх(k) сравнивается с величинойe. В зависимости от результата сравнения либо осуществляется останов вычислений, либо работа продолжается для поиска нового приближения.

Обмены между вычислителями, выстроенными в цепочку, получили название конвейерных. При реализации схемы конвейерного обмена имеется возможность передавать и принимать сообщение каждым вычислителем. Однако каждый вычислитель принимает сообщение от соседнего (i-1)-го вычислителя и передает его(i+1)-му вычислителю. При организации схемы конвейерного обмена в коллективе изnвычислителей за один шаг производитсяnобменов, как и в схеме трансляционного обмена. Трансляционный и конвейерный обмен оказываются наиболее эффективными и часто используются при решении сложных задач коллективом вычислителей.

Как видно из схемы решения задачи, вычислители работают либо совершенно независимо, решая каждый свою часть задачи, либо обмениваются информацией друг с другом, участвуя в коллективных взаимодействиях. Для переходов к обмену информацией вычислители необходимо синхронизировать. Это можно сделать, если ввести специальную операцию коллективного условного перехода Qпо аналогии с операцией условного перехода в вычислителе. Эта операция может быть осуществлена следующим образом. Каждый вычислитель реализует некоторое индивидуальное условие, например, окончание вычислений вычислителем из-за отсутствия необходимой информации. Вычислитель вырабатывает условие и переходит в состояние ожидания. Когда все вычислители окажутся в таком состоянии, может быть выработано коллективное состояние ожидания. Для его выработки может быть использована последовательная проверка индивидуальных состояний вычислителей путем их просмотра от первого вычислителя доn-го с помощью конвейерного обмена. В этом случае коллективное состояние может быть распространено отn-го вычислителя всем остальным с помощью трансляционного обмена. После передачи коллективного состояния всем вычислителям последние могут перейти одновременно к выполнению обменов. Аналогично с помощью операции коллективного условного перехода может быть определен момент окончания вычислений.

Операции трансляционного и конвейерного обменов, коллективного условного перехода образуют полный набор операций, необходимых для организации коллективных взаимодействий вычислителей при решении заданной сложной задачи. При переходе от одной задачи к другой необходимо также иметь возможность задавать в модели коллектива вычислителей разные структурные схемы коллективных взаимодействий вычислителей. Другими словами, необходимо между вычислителями устанавливать (настраивать) соответствующие каналы связи. При этом должна быть предусмотрена также возможность организации соответствующей коммутации каналов связи между вычислителями. Возможность построения модели коллектива вычислителей с программируемой (коммутируемой) структурой связи очевидна. Например, можно представить, что вычислители являются абонентами электронной телефонной станции с возможностями задания не только схем обменов между двумя абонентами, но и схем трансляционного (Т) и конвейерного обмена (К).

Задание схем обменов между вычислителями для решения данной задачи может быть реализовано введением специальной операции настройки (Н), с помощью которой и задается требуемая коммутация каналов связи между вычислителями. В этом случае принято говорить, что коллектив вычислителей имеет программируемую структуру.

При решении задачи коллективом вычислителей, поскольку все они работают одновременно, получается выигрыш во времени, пропорциональный числу вычислителей, по сравнению с одним вычислителем. Программируемая структура коллектива вычислителей позволяет обеспечить его высокую живучесть. Возможность реализации однотипных связей между вычислителями позволяет представить коллектив вычислителей в виде простой однородной решетчатой структуры из вычислителей.

По аналогии с работой вычислителя при решении задачи можно функционирование коллектива вычислителей описать некоторым алгоритмом подражания их коллективной работе. В свою очередь, такой алгоритм подражания может быть представлен в виде некоторого универсального коллектива из машин Тьюринга. При этом каждый вычислитель является универсальной машиной Тьюринга с дополнительным набором операций коллективных взаимодействий и с возможностями ее подключения к программируемой сети связи в виде решетчатой переменной структуры.

Как модель вычислителя может быть формализована с помощью алгоритмических систем или с помощью теории алгоритмов для последовательных процессов, так и модель коллектива вычислителей может быть формально описана с помощью теории алгоритмов для параллельных процессов.

Соседние файлы в папке TURIN