Принципы работы системы управления параллельными процессами в локальных сетях компьютеров

Принципы работы системы управления параллельными процессами в локальных сетях компьютеров

Перегрузка цепи Предположим что процессор Р1 обрабатывает поток данных быстрее по сравнению с Р2, а также обеспечивается его эффективаная загруженность (на вход Р1 быстро поступают данные). Медленная обработка данных может быть вызвана низкой скоростью передачи данных по каналу P1-P2, низкой вычислительной мощностью процессора Р2 или сложностью задачи выполняющейся на Р2. Следовательно, в результате работы итерационного алгоритма на выходе Р1 и на входе Р2 скапливаются данные, которые ожидают дальнейшей обработки. Далее, если Р2 работает медленнее, чем Р3 (или Р2 вообще один из самых медленных процессоров), то простаивают все P(i), i ³ 3 и Р1 (или работают с малой загруженностью). В таком случае эффективность работы данной параллельной схемы резко снижается.

Действия.

Причиной снижения скорости вычислений является “узкое место” в цепочке процессоров, а именно медленный поцессор Р2. Одним из способов устранения данного недостатка является динамическое изменение графа потоков данных.

Параллельно Р2 включается в работу дополнительный процессор Р2’, выполняющий ту же задачу (рабочую функцию), что и Р2.

3
2
1
циклическая связь k процессоров
2’
Таким образом » в 2 раза повышается скорость обработки на дуге 1-2. 4. Принципы реализации.

Система реализована для ОС Windows 95 (NT), в виде исполняемой программы и дополнительной библиотеки динамической компоновки (DLL). Программа должна быть запущена на всех машинах локалной сети, участвующих в вычислениях.

Дополнительная библиотека может использоваться программами, осуществляющими конкретные вычислительные и управляющие задачи.

Возможности. 1) Получение данных о системе: · Количество процессоров (машин), участвующих в вычислениях · Ресурсы каждого из процессоров (тип процессора, объём памяти, быстродействие) · Пропускная способность каналов связи с каждым из процессоров (при передаче потоков данных с текущей машины) 2) Управление каналами потоков данных между процессорами (дугами): · Создание канала между любыми двумя процессорами, как из одной из них, так и из сторонней машины · Уничтожение, перенаправление каналов · Получение информации о скорости обработки данных на определённой дуге (обнаружение узких мест) · Установка желаемой скорости потока данных на дуге. 3) Запуск задач на любом из процессоров из сторонней машины. 4) Опрос состояния задачи, выполняющейся на процессоре (завершился с ошибкой, завис и т.п.) 5) Одновременная посылка данных группе процессоров посредством использования возможностей широковещания в локальных сетях, т.е. сразу по нескольким каналам связи.

Реализация. Для управления каналами связи, а также для получения информации о потоках данных в них, используется сетевой протокол TCP/IP и сетевой интерфейс управления Windows Sockets (версия 1.1). Зауск задач на удалённой машине осуществляется посредством использования библиотеки динамической компоновки, которая и должна содержать все процедуры-задачи в распараллеленной программе.

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