Анализ работы многопроцессорных систем и обоснованность их применения в АСУРефераты >> Радиоэлектроника >> Анализ работы многопроцессорных систем и обоснованность их применения в АСУ
Гиперкуб можно определить индуктивно; гиперкуб порядка N+1 может быть построен путем удвоения гиперкуба порядка N и соединения двух наборов узлов. Такой подход позволяет создавать программное обеспечение для гиперкубов любых размерностей; необходимо лишь определить размерность на время выполнения программы. Возможно также разделить большую гуперкубическую машину на субкубы, отвести каждой программе узлы в количестве, обеспечивающем максимально эффективное ее выполнение, и использовать узлы, являющиеся в данный момент избыточными, для других программ вместо того, чтобы оставлять их без применения.
Гиперкуб представляет собой сеть с максимально возможной плотностью соединений; его объем может охватывать тысячи процессоров, потому что для удвоения количества процессоров к каждому узлу должен быть добавлен всего один коммуникационный канал. Плотность взаимосвязи узлов определяет практичность использования всей системы соединений, представляющей собой принципиально важную аппроксимацию параллельной вычислительной системы, так как конкретная конфигурация связей зачастую непредсказуема.
Если узлы пронумированы от 0 до 2n-1, каждый процессор непосредственно связан со всеми теми, номера которых отличаются от его номера одной двоичной цифрой. Отбрасывая некоторые связи гиперкуба, можно отобразить в него многие другие виды сетевой топологии, к числу которых относятся следующие:
1) Решетки, или сетки размерностью до N;
2) Кольца;
3) Цилиндры;
4) Тороиды;
5) Топология ''бабочка'' для БПФ.
В гиперкубах используется высокоуровневая форма параллелизма, которую называют параллельной обработкой, обеспечивающей асинхронное выполнение операций в мультипроцессорной системе. Для увеличения производительности отдельных узлов, в работе которых имеет место значительная доля векторной обработки, может быть применен этот вид обработки. Максимальная производительность, которая может быть достигнута в подобной вычислительной системе, определяется как произведение производительности параллельной, векторной и скалярной обработки для данного применения. Для обеспечения максимальной производительности, достижимой с учетом ограничений, налагаемых степенью параллельности, которая присутствует в решаемой прикладной задаче, необходимо использовать языки параллельного программирования, такие, как Оккам.
Базовый элемент мультипроцессорных систем
с однотипными процессорами.
Транспьютеры представляют собой микропроцессоры, рассчитанные на работу в мультипроцессорных системах с однотипными процессорами. Особенностью транспьютеров является наличие коммуникационных быстрых каналов связи, каждый из которых может одновременно передавать по одной магистрали данные в процессор, а по другой – данные из него. В составе команд транспьютеров имеются команды управления процессами, поддержки языков высокого уровня, встроенная память емкостью 2 Кбайт.
На рисунке показана тороидальная матрица транспьютеров. Разрядность местной памяти каждого транспьютера наращивает разрядность памяти системы. Таким образом, полная разрядность памяти пропорциональна количеству транспьютеров в системе. Суммарная производительность также возрастает прямо пропорционально числу транспьютеров, входящих в систему.
В дополнение к параллельной обработке, реализуемой транспьютерами, предусмотрены специальные команды для разделения процессорного времени между одновременными процессорами и обмена информацией между процессами. Хотя программирование транспьютеров может выполняться на различных языках высокого уровня, для повышения эффективности параллельной обработки был разработан специальный язык Оккам.
Типичными представителями транспьютеров являются модели Т212, Т414, Т800 фирмы Inmos. Их основные характеристики приведены в таблице:
Характеристика |
Т212 |
Т414 |
Т800 |
Разрядность |
16 |
32 |
32 |
Адресное пространство |
64 Кбайт |
4 Гбайт |
4 Гбайт |
Емкость встроенной памяти |
2 Кбайт |
2 Кбайт |
4Кбайт |
Скорость обработки данных, Мбайт/с |
20 |
40 |
40 |
Каналы связи: организация (число каналов ´ число портов) |
4 ´ 2 |
4 ´ 2 |
4 ´ 2 |
Скорость обмена, Мбит/с |
10 |
10 или 20 |
20 |
В качестве объекта более подробного рассмотрения остановимся на транспьютере Т414, так как он стал первым 32-разрядным микропроцессором, который сделал реальностью параллельную обработку.
Транспьютер является 32-разрядным устройством с архитектурой RISC. Т414 имеет 32-разрядную шину внешней памяти с диапазоном физических адресов 4 Гбайт. Дополнительная память (пространство ввода/вывода) может иметь различную конфигурацию, причем возможно включение в ее состав одновременно быстродействующих и медленных устройств. Предусмотрены сигналы регенерации динамических ЗУПВ. Скорость пересылки данных по шине внешней памяти может достигать 25 Мбайт/с.
Взаимодействие каждого транспьютера с другими транспьютерами и периферийными устройствами осуществляется посредством четырех коммуникационных каналов последовательной связи. Использование прямых последовательных каналов делает ненужным арбитраж приоритетов, необходимый для предоставления системной магистрали в мультипроцессорных системах, и исключает проблемы, связанные с пропускной способностью шин и их перегрузкой при введении в систему новых процессоров.