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

Книги / Книга Проектирование ВПОВС (часть 2)

.pdf
Скачиваний:
84
Добавлен:
01.06.2015
Размер:
4.62 Mб
Скачать

Предположив, что

r

0

и что сумма для j > n обращаетcя в 0, процесс

ii

 

 

решения можно записать следующим образом:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ci

ri, j x j

 

 

 

 

 

 

 

 

 

j j 1

 

 

 

 

 

 

 

x

 

 

,

i n,1.

(1.90)

 

 

 

 

 

 

 

 

 

i

 

 

 

ri, j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Метод Гаусса, описанный

выше, легко видоизменить так, чтобы

исключались не только элементы ниже диагонали, но также и выше её. Для этого от соотношения

a

 

 

a

i,k

a

i, j

;

i, k j 1, n

 

 

 

 

i,k

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

j, j

 

 

 

 

 

 

 

 

 

 

 

 

придём к соотношению

(1.91)

 

 

a

a

 

 

 

a

 

i,k

 

i, j

;

i, k

j.

 

 

 

i,k

 

a

 

 

 

 

 

 

j, j

 

 

 

 

 

 

 

 

 

 

(1.92)

Допуская необходимый выбор ведущего элемента,

D x C,

результат будет

(1.93)

где D – диагональная матрица.

Поэтому никакой обратной перестановки не требуется; неизвестные определяются в любом порядке по формуле

xi

Ci

;

1 i n.

 

 

(1.94)

 

di,i

 

 

Этот метод предложен Жорданом и назван его именем.

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

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

51

Наиболее приемлемы для рассматриваемой задачи прямые методы решения системы. Метод Жордана обеспечивает равномерную загруженность ВС. При моделировании на последовательной ЭВМ методы Гаусса и Жордана

равноценны.

 

 

 

 

При представлении элементов матрицы

P

m n

E

можно достичь

 

 

разрядности равной 25или 32-двоичным разрядам, что позволяет избежать накопления ошибок.

1.5.4. Вычисление значений многочлена

Вычисление значений многочлена, образованного скалярным произведе-

нием значений собственного вектора на вектор направлений, с заданным шагом по угловым координат 1°, требует просчета многочлена, более чем 108 раз. Для сокращения времени просчета, что особенно важно при большом числе элементов антенной решетки, можно предложить алгоритм:

1)

просчет многочлена с крупным шагом

, Q

в интервале 90° и

 

 

 

определение корней первого приближения: i , i ;

i 1, k

;

2)

просчет многочлена с

шагом

 

, Q

,

соответствующим заданной

 

 

 

 

точности

 

 

 

Q ,

i

 

),

i 1, k

, и

определение точных

в интервалах ( i

 

 

 

 

 

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

корней (

i ), i 1, k . Так при

 

1 количество просчетов многочлена

i

 

i ,

 

(1.4) сокращается в 0,3 104 раз.

1.5.5. Оценка вычислительных затрат

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

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

52

В табл. 1.2 приведена операционная сложность алгоритмов для корреляционных матриц размеров 20 х 20, 50 х 50, 200 х 200. При подсчете операций не учитывалось число итераций для нахождения собственных значений, число усреднений при формировании матрицы Р, для вычисления угловых координат дано количество операций не модернизированного алгоритма.

Оценка времени выполнения этих процедур на современных универсальных ПЭВМ приведена в последнем столбце табл. 2.2. Для быстродействующих универсальных ПЭВМ характерны следующие времена выполнения команд:

оператор цикла – 1,5 мкс;

оператор сравнения – 1,5 мкс;

пересылка – 1 мкс;

сложение – 1 мкс;

умножение – 1 мкс;

деление – 3 мкс;

извлечение квадратного корня – 6 мкс;

вычисление функций sin x, cos x – 12 мкс.

Время выполнения процедур на универсальных ЭВМ было получено,

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

что для нахождения собственных значений в среднем требуется 10 итераций,

элементы матрицы Р формируются по 30 усреднениям, модернизация алгоритма просчета полинома сокращает количество операций в 103 раз.

Даже для матрицы Р размером 20 х 20 гидрофонов универсальных ПЭВМ выполняют комплекс алгоритмов за 39 – 46 с, учет передачи переменных и управления между этими процедурами увеличивает это время до 50 – 60 с, то есть требования, предъявляемые к времени решения задачи (30 – 40 с), делают неприемлемым использование универсальных машин уже для антенной решетки, с размерность 10х10 гидрофонов.

53

Приведем требования, предъявляемые к ВС ПА по быстродействию и

памяти:

матрица Р (20 х 20), быстродействие – 10 оп/с, объем памяти – 8К;

матрица Р (50 х 50), быстродействие – 10 оп/с, объем памяти – 48К;

матрица Р (200 х 200), быстродействие – 10 оп/с, объем памяти 640К. Рассматриваемая ВС ПА удовлетворяет требованиям при размерах

вычислительного поля 3 х 3. ВС ПА может быть ориентирована на задачу

нахождения угловых координат с минимальными изменениями. Архитектура

ВС ПА и особенности её применения рассматриваются в последующих частях

комплексной дипломной работы.

Операционная сложность процедур

Наименования

 

Операционная сложность

пп.

процедур

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

 

 

 

 

 

 

 

 

 

 

 

 

3

 

1

Вычисление

 

 

 

 

Операторы

 

собственных

 

цикла

3

(n

2

n)

 

 

 

 

 

значений

по

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

методу Якоби

 

2 n

Операторы сравнения

 

 

 

2

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пересылки

 

 

 

4n

3

2n

2

6n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сложения 5n3 5n

 

 

 

 

 

 

Умножение

 

 

 

7n

3

3n

2

10n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Деление

5

n(n 1)

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Извлечения корня

 

 

 

3

(n

2

n)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 1.3

Примечание

4

n – размер комплексной матрицы Операционная сложность дана для одной итерации, размер действительно матрицы 2n

54

Наименования

пп. процедур

2Решение

системы

линейных уравнений с комплексными коэффициентами по методу Гаусса

3Просчет

многочлена

4 Формирование матрицы Р

Операционная сложность

Операторы

цикла

1

(n

2

5n 12)

 

 

 

 

 

2

 

 

 

Операторы сравнения

2 n 2

 

Деление

1

(n

2

n)

 

 

 

 

 

 

 

 

 

2

 

 

 

 

Умножение

 

 

1

(4n3 9n2 13n 24)

3

 

 

 

 

 

 

Сложения

 

 

 

1

(8n3 9n2 17n 48)

6

 

 

 

 

 

 

Пересылки

 

 

m C1 C2 1

 

 

Сложения 2C1 m 2 Умножение

7C3 4C1 m

Деление С1 Извлечения корня С1 cos x, sin x:

2C3 2C1 m

Операторы цикла n2 Пересылки 2 n2 Сложения 2 n2 Умножение 4 n2

Окончание табл. 1.3

Примечание

n – размер комплексной матрицы

m , m

количество

просчетов многочлена по углам;

g, V – размер антенной решетки по горизонтали и вертикали;

C1 = m m

C2 = m m V C3 = m m g V

n – размер комплексной матрицы без учёта усреднений

55

56

 

Зависимость операционной сложности алгоритма от размера матрицы Р

Таблица 1.4

 

 

 

 

 

 

 

 

 

 

 

Процедура

Размер

Операторы

Оператор

Пере-

Сложение

Умножение

Деление

Извлече-

Вычис-

Время

 

матриц

цикла

сравнения

сылка

 

 

 

ние

ления

выполне-

 

 

 

 

 

 

 

 

квадрат-

функций

ния на

 

 

 

 

 

 

 

 

ного корня

 

ПЭВМ, с

 

 

 

 

 

 

 

 

 

 

 

1

2

3

4

5

6

7

8

9

10

11

Вычисление

20x20

2340

3120

2,6 105

3,5 105

4,5 105

3900

2340

-

11,5

собственных

50x50

14850

19800

4 106

4 106

7 106

24750

14850

 

169

значений

200x200

2,4 105

3,5 105

6,4 107

6,4 107

4,5 108

4 105

2,4 105

 

8360

Решения

20x20

244

38

10173

11202

11772

190

-

-

0,03

системы

50x50

1369

96

1,1 105

1,7 105

1,7 105

1225

 

 

0,45

линейных

200x200

2 104

498

0,9 107

1,1 107

1,1 107

2 104

 

 

31

уравнений

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Просчёт

20x20

5 108

-

2 108

18,2 109

14,4 109

108

108

109

27,6

многочлена

50x50

6 108

 

2 108

4,5 1010

3,5 1010

108

108

1010

66,7

 

200x200

2,1 1010

 

2 108

11,8 1011

1,4 1011

108

108

1010

266,7

 

 

 

 

 

 

 

 

 

 

 

Формирование

20x20

400

-

800

800

1600

-

-

-

0,03

матрицы Р

50x50

2500

 

5000

5000

104

 

 

 

0,09

 

200x200

4 104

 

8 104

8 104

1,6 105

 

 

 

0,6

Примечание: m = m = 10 800

56

ГЛАВА 2. ВЫСОКОПРОИЗВОДИТЕЛЬНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ

2.1. Классификация Флинна

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

1.Уровень описания архитектуры системы (архитектурный уровень). На этом уровне даётся описание архитектуры и её основных компонент, а также их связи и взаимодействия, что позволяет определить функциональные возможности и производительность системы в целом.

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

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

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

охлаждения и др.

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

Существует несколько подходов к построению классификатора с тем или иным набором признаков, однако в настоящее время утвердилось несколько. Это классификации Флинна, Шора, Хандлера (эрлангерская схема) и других.

Одной из наиболее известных схем классификации является классификация, предложенная Майклом Флинном в 1972 г. За основу положено описание работы компьютера с потоками команд и данных. В результате Флинн выделил четыре класса систем:

57

1.SISD (Single Instruction Stream – Single Data Stream) – один поток команд

иодин поток данных.

2.SIMD (Single Instruction Stream – Multiple Data Stream) – один поток команд и несколько потоков данных.

3.MISD (Multiple Instruction Stream – Single Data Stream) – несколько потоков команд и один поток данных.

4.MIMD (Multiple Instruction Stream – Multiple Data Stream) – несколько потоков команд и несколько потоков данных.

Рассмотрим эту классификацию более подробно.

2.2. Архитектура традиционных ЭВМ

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

 

Команды

 

 

 

УУ

 

 

Память

 

 

 

команд

Данные

Регист-

АЛУ

и

 

ровая

 

 

 

 

 

данных

 

память

 

 

 

 

 

Программа

 

 

Данные

УУ

Внеш. Инт.

Рис. 2.1. Схема SISD-компьютера

58

Она включает арифметико-логическое устройство (АЛУ), местное регистровое запоминающее устройство (регистровое ЗУ), устройство управления (УУ) и устройство ввода-вывода (УВВ). В соответствии с программой (П), зависящей от набора команд (К) и решаемой задачи, которая поступает в процессор из запоминающего устройства (рис. 1.1), местное устройство управления МУУ выбирает из множества команд (К) необходимую конкретную команду Ki и настраивает на ее выполнение АЛУ. Одновременно большой объем программы (ПКД) требует для ее размещения значительной части памяти. Одной из проблем последовательных ЭВМ является принцип, сформулированный фонНейманом «программа и данные, хранимые в памяти». В настоящее время большой объем программы (ПКД) требует для ее размещения значительной части памяти и, как следствие, длительного времени обращения к ней. Для последовательной ЭВМ это обстоятельство не является существенным, однако при построении многопроцессорных структур, состоящих из описанных компьютеров, данное обстоятельство существенно ухудшает характеристики таких систем.

Устройство управления и арифметико-логическое устройство (АЛУ) вместе составляют центральный процессор (ЦП). Можно считать, что все остальные функциональные блоки компьютера обслуживают АЛУ, а оно выполняет основную работу. Арифметические операции выполняются с целыми и вещественными числами, для представления которых используется двоичный формат. Для отрицательных значений применяется дополнительный код, что позволяет упростить реализацию арифметических и логических операций. Управляющее же устройство управляет работой остальных функциональных узлов компьютера. В состав "традиционного" фон-неймановского компьютера входит одно АЛУ, основной задачей которого является выполнение машинных команд, выбираемых из оперативной памяти по очереди, одна за другой. Устройство управления интерпретирует очередную команду, которая входит в набор команд процессора, включающих арифметические и логические операции, операции пересылки данных и некоторые другие. Затем выполняется выборка данных, их обработка и запись результата выполнения в оперативную память. ЦП имеет набор регистров – устройств для временного хранения промежуточных результатов и данных, необходимых для выполнения команд (операндов).

59

Таким образом, основными компонентами компьютера являются:

центральный процессор (АЛУ) и оперативная память, вычислительная часть системы;

устройство управления, обеспечивающее синхронизацию и управление вычислениями;

внешняя память и устройства ввода/вывода – вместе образующие

"периферию";

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

Выполнение команды

Выполнение команды всегда разбивается на несколько этапов:

1-й этап: считывание текущей команды;

2-й этап: считывание данных;

3-й этап: выполнение операции аппаратно при наличии операционного узла или по микропрограмме.

Первый шаг – выборка команды. Выполняется следующим образом.

Вначале выбирается адрес очередной команды, при этом значение,

содержащееся в счетчике команд, увеличивается. Адрес команды помещается в регистр адресации памяти. Устройство управления считывает команду из оперативной памяти.

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

Третий шаг – выполнение. На этом этапе данные из оперативной памяти поступают на процессор и выполняются арифметические и логические операции над данными.

60