Разработка и исследование дискретной системы автоматического регулирования, страница 9

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

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

Для того, чтобы преодолеть ограничения, присущие традиционным сетям связи, разработаны высокопоточные сети. Для параллельной обработки информации предложены три варианта построения высокопоточных сетей: сеть «бабочка»; сеть с перекрестным обменом и гиперкуб.

Рисунок 17.5 - Виды топологии параллельных ММПС

Сеть «бабочка», разработанная в конце 60-х годов Рабинером и Гоулдом, повышает скорость вычислений при реализации БПФ, которое требует выполнения 4N2 умножений и 4N2 сложений комплексных чисел (на этой сети необходимо повторить алгоритм N/2log2 N раз).

Сеть перекрестного обмена предложена в конце 60-х годов Пизом и Стоуном и представляет собой альтернативный вариант топологии связной сети по отношению к варианту «бабочка» для выполнения БПФ, которое реализуется за log2 N шагов.

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

Рисунок 17.6 - Топология ММПС “гиперкуб”

N-размерный куб содержит 2N узлов (узловых процессоров). Концепция гиперкуба удобна для описания универсальных матричных ЭВМ, так как многие другие сетевые топологии могут быть отображены на гиперкуб путем отбрасывания некоторых связей.

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

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

17.2 Функционирование мультимикропроцессорных систем. Взаимодействие функциональных модулей

При выполнении заданий совместно несколькими МПМ необходимо обеспечить их взаимодействие между собой, с общей памятью и с периферийными устройст­вами. Эти связи могут быть запланированными или не­запланированными, т. е. возникающими как реакция системы на отказ одного из МПМ или на сигнал при обслуживании памяти, устройств ввода-вывода. Связи в ММПС обеспечиваются  аппаратно-программными средствами. Известны три основных метода организа­ции взаимодействия МПМ в ММПС: ведущий — ведо­мый, раздельного выполнения заданий в МПМ и сим­метричной работы всех МПМ. Применяются также их комбинации. Метод ведущий — ведомый позво­ляет реализовывать супервизорные программы только в одном МПМ (ведущем), который выбирается операто­ром или автоматически. Ведущий модуль может быть как универсальным микропроцессорным, так и спе­циально разработанным супервизорным. В отличие от специально разработанного супервизорного универ­сальный модуль можно использовать и для расчетов по прикладным программам, когда супервизорные про­граммы не выполняются. Супервизорные программы

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

В ММПС по методу ведущий — ведомый возможны отказы при сбоях в ведущем МПМ. Это происходит, если МПМ не является специализированным и оператор может заново запустить систему, используя при этом в качестве ведущего другой модуль. Ведущий МПМ должен обеспечивать выполнение супервизорных про­грамм достаточно быстро, чтобы с опережением удо­влетворять выдвигаемым требованиям. Если это условие не обеспечивается, то эффективность применения си­стемы может оказаться низкой. Время простоя, накап­ливающееся в ведомых МПМ, делает рассматриваемую организацию наиболее пригодной для систем специаль­ного назначения, где допускаются простои. Она эф­фективна для неоднородных систем, которые содержат МПМ с существенно различающейся мощностью.

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

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

работы всех МПМ непрерывно перераспределяется между МПМ. МПМ, который обеспечивает в данный момент управление системой и выполнение функции планирования, назы­вается исполнительным. Для предотвращения конф­ликтных ситуаций в любой момент времени исполни­тельным является только один МПМ. Каждый МПМ выполняет супервизорные программы, связанные с ре­шаемой задачей, и функции, необходимые для выпол­нения новой задачи, если текущая работа прервана или завершена. Лучшая балансировка загрузки и по­вышение эффективности системы достигается за счет выполнения неспецифических функций: прерывания для ввода-вывода, использования наименее загружен­ных в данный момент времени МПМ. Несмотря на то, что в общесистемном управлении только один МПМ яв­ляется исполнительным, другие МПМ могут выполнять те же супервизорные программы, которые должны об­ладать повторной входимостью или иметь подпрограм­мы для каждого запуска.