Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

khor32

.pdf
Скачиваний:
27
Добавлен:
29.02.2016
Размер:
8.16 Mб
Скачать
макро-
суперВС c массовым параллелизмом, в том числе

б. 7. Мультипроцессорные системы со структурно-процедурной организацией

макропроцессоров суперВС и высокую скорость обмена да ними между ними

и, как следствие, высокую системную производительность. Такая функцио-

нальная структура макропроцессора позволяет решить очень трудные и важные

проблемы функционирования

совпадения времени обработки информации в различных параллельно рабо-

тающих макропроцессорах. Решение этой проблемы необходимо для синхрояизащш обработки данных в различных макропроцессорах и для организации

быстрых одновременных обменов информацией между очень большим числом параллельно работающих макропроцессоров в суперсистеме.

Механизм синхронизации в суперВС реализуется коллективно макропроцессорами, в частности их блоками синхронизации потоков операндов (БСПО) и кадров (БСПК). Под окадром» разработчики понимают текущую

виртуальную структуру, запрограммированную в макpопроцессоре под структуру решаемой задачи.

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

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

щих на его вход, и интерфейс, который поддерживает операции входных и выходных линков.

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

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

B случаях, когда при решении задач на суперВС стандартных

операций базового набора недостаточно, структура макропроцессора может

быть запрограммирована (программистом или автоматически) и на реализацию специальных макроопераций. для этого пользователь имеет возмож-

263

6. Мультипроцессорные вычислит?льные системы

 

16x3

Г

 

Входы

I

Выходы

 

 

 

 

: данных

данных

К

8x2

командВходы Г/,`' -^ УYK

Рис. 6.11. Функциональная структура N акрокоммутатора:

K - коммутатор; УУК - устройство упраЕ ления коммутатором

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

Макрокоммутатор (рис. 6.11)

.,

однокристальный цифровой про-

.,

 

граммируемыи переключатель, который может реализовать программным

методом базовый набор операций многокана.т:ьных коммyтаций (или кратко

«макрокоммутаций»). Макрокоммутатор обеспечивает при этом программную настройку соединений любого своего входного линка c любой группой его выходных линков. Программирование макрокоммутатора выполняется в

соответствии c макрокомандои, которая поступает на его управляющий вход. Стандартные макрокоммyтации хранятся в памяти макрокоммутатора, обеспечивает быструю перестройку его сг,руктуры c одной макрокоммутации на другую. Макрокоммутатор имеет достаточно большое количество

ВХОДНЫХ И ВЫХОДНЫХ линков.

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

Макропамять является многоканальной памятью. Она используется для формирования параллельной распределенной памяти суперВС. Макропамять позволяет реализовать базовый набор макроопераций обращения макропроцессоров суперВС к необходимой и Кформации.

Макропамять (рис. б.12) состоит из сверхбольшой интегральной микросхемы мультиконтpоллера и нескольких стандартных кристаллов памяти

(П). Мультиконтpоллер представлен множеством контpоллеров (Кон), устройством управления контроллерами (УУКон) и памятью программ (ПП).

264

6.7. Мультипроцессорные системы со структурно-процедурной организацией

 

 

 

 

в

 

8 х 2

 

 

 

 

 

` ^ Выходы

Входы 8x2

 

v ^

,пl

2

данных

данных

 

 

Кон

8

 

 

 

 

 

 

 

 

 

 

2

 

 

2

 

 

 

 

Кон

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

/

 

 

2

 

Входы

8

J=

YYKoн

 

 

 

 

 

 

 

команд

 

 

 

 

 

ПП

Рис. 6.12. Функциональная структура макpопамяти:

Кон — контроллер; УУКон — устройство управления контроллерами; ПП — память про-

грамм; П — память

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

Распределенная память суперВС (формируемая из кристаллов макропамяти) обеспечивает параллельный доступ макропроцессоров к требуемым данным без задержек, очередей и конфликтов. Каждая макропамять может c помощью коммутационной среды обмениваться информацией c другими кристаллами распределенной памяти многопроцессорной суперВС.

Таким образом, основными микросхемами, предназначенньпми для создания суперВС c массовым параллелизмом и программируемой архитектурой, являются макpопроцессор, макрокоммутатор и макропамять. Все эти базовые компоненты могут быть реализованы как в виде заказных монолитны микросхем, так и на основе ПЛИС-теxнологии (ПЛИС Прогpаммируемaя

Логическая Интегральная Схема; EPLD Е1еснriса11у ProgrammaЫe Logic Device). Опыт разработки макропроцессоров, макрокоммутаторов и макропа-

мяти на H 1ИС-технологии показывает, что такая элементнaя база обладает достаточно высокой производительностью и архитектурной гибкостью.

265

6.Мультипроцессорные вычислит 'льные системы

6.7.3.Модульная организация суперВС c г Iассовым параллелизмом

ипрограммируемой архитектурой

СуперВС целесообразно строить на основе унифицированных базовых модулей. Базовый модуль представляет собой функционально завершенный параллельный многопроцессорныи супервычv :слитель, построенный на основе макропроцессорной элементной базы. Ясно, что такой модуль обладает

всеми свойствами и характеристиками много ироцессорнои системы c про-

., ., граммируемои архитектурой.

Базовый модуль (рис. 6.13) имеет незавЕ :ршенную (рамочную) фреймархитектypу, которая может программировать я на любую виртyaльную ар-

хитектypу, адекватную структуре решаемой з адачи. B состав базового мо-

 

 

MAП

 

 

ЭП I--

 

 

ЭП

х

PH

:::1 эп

 

МАП

х

Рис. 6.13. Функциональная структура базового модуля суперВС:

МАИ - макропроцессор; РП - распределенная памятi К - коммутатор; ЭП - элементар-

ныи процессор

266

6.7. Мультипроцессорные системы со структурно-процедурной организацией

дуля входят несколько макропроцессоров (МАП), распределенная память (РП), коммутаторы (K) и коннекторы. Коммутаторы служат для динамиче-

ской перестройки топологии связей между макропроцессорами данного ба-

зового модуля, a также топологии связей макропроцессоров данного базово-

го модуля c макропроцессорами других базовых модулей. Коннекторы

обеспечивают однотипное соединение модулей между собой в пределах суперВС.

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

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

., грамма является параметризуемой относительно указанных параметров.

Модульная наращиваемость позволяет осуществить ресypсонезависимoe

программирование задачи, при котором выход из строя одного или несколь-

ких базовых модулей не приводит к выходу из строя всей ВС, a лишь замед-

ляет решение задачи. Кроме того, принцип модульной наращиваемости позволяет ВС функционировать в многозaдачном режиме c разделением ресypсов, когда ОС в соответствии c потоком входных заданий выделяeт разным пользователям группы базовых модулей для решения их задач.

B системе c программируемой архитектурой гарантируется линейная зависимость ее производительности от числа модулей.

6.7.4. Структурно-процедурная организация вычислений в суперВС

B некоторых известных ВС c массовым параллелизмом используется

принц п мyльтипроцедypного параллелизма. B соответствии c этим принц пiом

распараллеливание осуществляется по элементам структуры данных, a каждыйV

процессор системы работает по своей процедуре ветви параллельной програмиы. Обмен данными между ветвями программы (или процессорами ВС)

реализуется c помощью соответствующих специальных процедур. При этом

стpyктypа параллельного процесса, происходяiцего в многопроцессорной сис-

теме, может не совпадать со структурой решаемой задачи или процесса, имеющегo место в реальной моделируемой системе; это бь вает, когда ВС не обладаeт способностью к программп-трованию своей архитектуры.

267

 

6. Мультипроцессорные вычислитеттьные системы

Любую решаемую задачу или любой сложный процесс, происходя-

.,

.,

щии в реальной моделируемой системе, можно описать c помощью некото-

рого множества математических и логически зависимостей или в форме некоторого графа G * [V* , D* , Р* , Z* , X *, Y* . Граф G* содержит множест-

во вершин V * ; множество дуг D * ; множество iроцессов Р* , происходящих в вершинах; множество информационных потоков Z , вырабатываемых процессами из Р* и передаваемых по дугам д * ; a также множества X * и

Y* соответственно входных и выходных инфор мационных потоков.

При моделировании процессов, происхо дящих в моделируемой системе c помощью многопроцессорной ВС, в последней организуется соответствующий вычислительный процесс, который описывается в большинстве случаев совершенно другим графом G [ V, D, Р, Z, X, Y] . B последнем гра-

фе множество V вершин соответствует множеству процессоров ВС. Множество дуг D отражает множество физических и, гни виртуальных каналов ком- муникаций между процессорами. Множество процессов P реализуется в форме процедур обработки данных в процесс орах из V. далее, Z является множеством информационных потоков, передаваемых от одного процессора к другому через коммуникационные каналы D. Наконец, Хи У представляют собой множества соответственно входных и выходных информационных

потоков вычислительной системы.

Как правило, если многопроцессорная В ВС имеет жесткую архитекту-

ру, то графы G и G * существенно отличаются один от другого. Это объясняется тем, что в такой ВС нельзя организов пь вычислительный процесс, который совпадалбы как процедурно, так и структурно c процессом в моде-

лируемой системе. B результате для моделирования некоторой системы на ВС c жесткой архитектурой приходится организовывать некоторый вычислительныи процесс, который моделирует сист ему процедурно, a структурно c ней не совпадает. Процесс описывается графом G, существенно отличаю-

щимся от графа G* реальной моделируемой системы.

B большинстве случаев граф G многопрс цессорной ВС c жесткой архи-

тектурой значительно более сложен, чем исходный граф G* моделируемой системы или решаемой задачи, и имеет более с ложную структуру внутренних

коммуникационных каналов D, чем система дуг D* в графе G * Кроме того, процессы множества P, реализуемые в процессорах ВС, выполняются асин-

хронно и плохо согласованы между собой во времени, в то время как реаль-

ные процессы Р * в моделируемой системе развиваются параллельно и синхронно. Все это приводит при процедурной ор ганизации вычислений к существенным потерям времени и за счет опера: дии распределения задании и

268

6.7. Мультипроцессорные системы со структурно-процедурной организацией

процедур между процессорами ВС, и из-за усложнения процедур обмена ин-

формацией между процессорами и необходимости их синхронизации, и вследствие потерь времени при передаче даиньх через промежуточные процессоры; и из-за очередей и конфликтов при обращении процессоров к дан-

ным, хранящимся в памяти, и по другим причинам. B результaте производи-

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

Возможность организации виртyaльных проблемно-ориентированных

конфигураций, адекватных структурам решаемых задач, позволяет изба-

.,

.,

виться в многопроцессорных системах c программируемой архитектурой от

перечисленных выше недостатков (за счет перехода к структурной или

структурно-процедурной организации вычислений). При структурной орга-

низации вычислительного процесса распарaллеливание осуществляется по операционным вершинам информационного графа задачи. При этом имеет место соответствие между вершинами информационного графа и процессорами ВС, через которые в соответствии c множеством информационных связей (дуг графа) циркулируют элементы данных. Ясно, что при достаточной трудоемкости задач производительность ВС при структурной реализа-

ции параллелизма будет значительно выше, чем в случае процедурной. Если структура ВС полностью покрывает информационный граф (число процес-

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

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

ча может быть представлена в структурно-процедурном виде.

При структурно-процедурной организации вычислений информацц-

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

(кадры), каждый из которых аппаратно (структурно) реализуется в ВС c

программируемой архитектурой (рис. 6.14). При этом имеет место соответ-

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

фон-неймановским ЭВМ, и высокую реальную производительность, характерную для конвейерных машин потоков данных.

269

6. Мультипроцессорные ВЫЧИСЛИТ( льные системы

Информационный граф задачи

`

,

Рис. 6.14. Процесс преобразования задачи в стт уктурно-процедypную форму

B системе c программируемой архитектурой и со структурно-про- цедурной организацией вычислений ЭП мог) т соответствовать операционным вершинам информационного графа зада 3 и (или могут объединяться в макропроцессоры, которые соответствуют опг;рационным вершинам графа). Множество информационных связей между в^ ^ршинами графа отображается на множество каналов коммутационной сред ы и множество параллельнопоследовательных процедур обращения к кан <лам распределенной памяти.

6.7.5. Aппapaтнo-пpoгpaммныe средства поддержки синтеза

 

конфигураций cyпepBC

виpтyaльныx

СуперВС c программируемой архитектурой является, c одной стороны, универсальной, поскольку она может бь :ть использована для решения сложных задач, составляющих достаточно широкий класс. C другой стороны, такая система является и проблемно-ори, ^нтированной, так как она позволяет достичь максимально высокой производительности (близкой к пиковой) при решении отдельных задач. Это псддерживается тем, что ВС мо-

270

6.7. Мультипроцессорные системы со структурно-процедурной организацией

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

гpаммировать и настраивать его архитектуру таким образом, чтобы можно

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

B состав многопроцессорной ВС (см. рис. 6.9) входят аппаратно -про- граммные подсистемы управления макрооперациями, макрокоммутациями и макpообращениями. Кроме того, необходимы еще три подсистемы, а имен-

но: подсистемы программирования и настро., ки поля макpокоммyтаторов и

й

распределенной памяти. B число этих подсистем входят: аппаратнопрогpаммная подсистема организации в поле макpопроцессоров вычислительного графа решаемой задачи или его подгpафов (кадров); аппаратнопрогpаммнaя подсистема программирования и настройки в коммутационной структуре в соответствии c кадром прямых каналов связи между макропроцессорами; аппаратно-программная подсистема управления организацией структуры распределенной памяти; и, наконец, аппаратно-программная подсистема управления организацией интерфейса. Все эти подсистемы, в свою очередь, находятся под управлением распределенного системного прогpаммного обеспечения.

6.7.6.Принципы синтеза суперВС c массовым параллелизмом

ипрограммируемой архитектурой

Исходя из вышесказанного, в основу синтеза ВС c массовым параллелизмом и программируемой архитектурой должен быть положен ряд фун-

даментальных принципов, обеспечивающих выполнение всех современных требований.

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

Принцип использования внутренней параллельности решаемой задачи.

Принцип обеспечивает максимально широкое использование внутренней

естественной параллельности решаемой задачи или моделируемого объекта при организации параллельных вычислений в ВС c массовым параллелизмом.

Принцип обмена информацией без посредников . Согласно этому принципy, обеспечивается преимущественно прямая передача информации от

271

6. Мультипроцессорные вычислите гzьные системы

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

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

Принцип бесконфликтного пар ann ельнс го доступа к информации.

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

Принцип структурно-процедурного кадрового процесса вычислений.

Данный принцип обеспечивает организацию п роцесса вычислений в многопроцессорной ВС на основе информационного графа задачи в кадровой структурно-процедурной форме. При этом формирование кадров осуществляeтся путем такого разрезания графа задачи на непересекающиеся подгpафы, когда каждый подграф заполняет весь процесс орный ресурс ВС и в каждом

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

Принцип модульности архитектуры. 'этот принцип предписывает синтез архитектуры ВС c массовым параллел: 4змом на основе однотипных стандартных модулей, каждый из которых, в с вою очередь, является много-

процессорной системой в минимальной конфигурации. Объединение моду-

., лей осуществляется стандартными однотипно тми коннекторными соедине-

ниями. При объединении ресурсы всех модулЕ й (включая процессорные поля, коммутационные структуры, распределенi ую память, интерфейс и ОС) порождается многомодульная ВС c массовым параллелизмом и программируемои архитектурой.

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

6.7.7. Реализация многопроцессорных ю ычислительных систем со структурно-процедурной организацией вычислении

Научно-исследовательский институт многопроцессорных вычислительных систем Южного федерального yниF.epcитeтa в 2007 r. завершил

272

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]