- •1.Достижения и перспективы развития вычислительной техники.
- •Японская программа по развитию вычислительной техники:
- •Задачи:
- •Существуют трансляторы с полуестетвенных языков
- •Основной язык: Prolog
- •3.Эволюция развития архитектур вс
- •2.Пути развития вычислительных систем (вс). Пять японских программ о развитии и внедрении средств вычислительной техники.
- •1.Развитие элементной базы
- •2.Развитие архитектуры вычислительных систем
- •3.Развитие новых методов вычислений Японская программа по развитию вычислительной техники:
- •Создание эвм 5-го поколения для решения задач, связанных с нечисловой обработкой информации (данные не в числовых функциях, а в символах, нечетких изображениях)
- •4.Развитие элементной базы вс.
- •5.Развитие новых методов вычислений в вс.
- •6.Сравнительный анализ режимов и алгоритмов обработки информации в вс Сравнительные возможности двух методов организации параллельных вычислений: метод конвейеризации и метод параллелизма.
- •7.Абстрактная архитектура вс. Основные модули и интерфейсы
- •Арифметический и командный конвейер
- •8.Диаграмма выполнения команды в машине фон Неймана. «Узкие места» при выполнении команды в последовательной вс. Методы устранения «узких» мест.
- •9.Арифметический и командный конвейер.
- •10. Способы выбора количества уровней совмещения (ступеней) в командном конвейере
- •Тип решаемой задачи.
- •Стоимость организации вычислений.
- •11.Классификационные схемы архитектур вс (по Флинну, по Энслоу). Достоинства и недостатки каждой из классификаций.
- •Многовходовые
- •Несимметричные(системы с неоднородными процессорами)
- •5.Вс с матричными (векторными) процессорами (Архитектура мрр)
- •12.Матричные вс с ассоциативной обработкой инф-ции на примере вс pepe.
- •13.Транспьютеры. Практическое применение
- •14.Вс на основе систолических и волновых матриц
- •Волновая матрица.
- •15.Анализ производ-ти мультипроцессорных вс. Коэффициент ускорения вычислений. Проблемы достижимости линейного роста производительности.
- •16.Достоинства и недостатки видов соединений вычислительных модулей в высокопроизводительных вс. Шина. Кольцо.
- •17.Достоинства и недостатки видов соединений вычислительных модулей в высокопроизводительных вс. Конвейер
- •18.Достоинства и недостатки видов соединений вычислительных модулей в высокопроизводительных вс. Гиперкуб
- •19.Достоинства и недостатки видов соединений вычислительных модулей в высокопроизводительных вс. Дерево.
- •2 0.Достоинства и недостатки видов соединений вычислительных модулей в высокопроизводительных вс. Пирамида
- •21.Достоинства и недостатки видов соединений вычислительных модулей в высокопроизводительных вс Древовидно-матричная структура
- •22. Вычислительная поверхность «Meiko» для создания мультипроцессорной системы с заданными свойствами.
- •23.Сравнительные возможности двух методов организации параллельных вычислений в вс: конвейеризации и мультипроцессирования.
- •24. Способы распределения задач по процессорам в мультипроцессорных вс.
- •25. Алгоритм распределения задач по методу Перт.
24. Способы распределения задач по процессорам в мультипроцессорных вс.
Процессоры в мультипроцессорной системе – однородные, то есть могут решать любые задачи из входного потока задач.
Процессоры в мультипроцессорной системе являются – специализированными (решают определенный тип задач)
Пусть имеется n процессоров и m задач. Необходимо так распределить m задач по n процессорам, чтобы общее время решения всех задач было минимальным. Наиболее известные алгоритмы такой задачи исходят из матричного программирования, в частности линейного программирования. Обозначим xij ситуацию, когда i-я задача решается на j-ом процессоре
Если xij = 1, то задача i решается на процессоре j. Если xij = 0, то иначе.
П xij = 0 (1), где i = 1…n (так как задача решается на одном процессоре).
xij = 1 (2). tij – время решения i-ой задачи на j – ом процессоре.
xij tij = min (*)
Решить задачу, значит установить значения индексов i и j . Минимизировать (*). С учетом (1) и (2) составляется система из m линейных уравнений, решив которую найдем значение xij , при которых достигается min значения. Найдем, на каком процессоре какую задачу лучше выполнять.
Получили распространение: Метод Шварца, метод Перт.
Метод Шварца, метод Перт относятся к субоптимальным методам, при решении вводится гипотеза:
Минимизация решения на каждом из этапов (временных отрезков) приводит к минимизации всего решения в целом (оптимизация по шагам). К субоптимальным относится и метод динамического программирования.
25. Алгоритм распределения задач по методу Перт.
1. Процесс получения решения должен быть представлен в виде сетевого графика.
2. Сетевой график, или сеть, являются обобщением графа программы.
3. Граф представляется упорядоченной парой G = <E,D>. E – множество вершин графа. D – множество дуг, соединяющих вершины графа.
E
4
= {1,2,3,4,5}
D
1
= {1-1,1-2,1-3,1-4,3-2,3-5,4-5}Д
2
ля
сети вводится понятие кортеж
(включает
большее число элементов чем пара)
S
= <e
0,
e
t,
E,
D,
A,
F>
e 0 – начальная вершина сети
e
3
t – конечная вершина сети (терминальная)E – множество элементов
D
5
– множество дуг, соединяющих вершиныA – множество весов, то есть каждая дуга должна быть “взвешена”. Это время, или количество операций, или объем памяти для записи передаваемой информации
F – функция, которая отображает веса на соответствующие дуги, то есть ставит определенный вес каждой дуге на графе вычислительного процесса.
F: A -> D
Пример:
e
2
2
0 = 1
e
5
t = 6E
1
3
5
6
1
4
2
= {1,2,3,4,5,6}
D
= {1-2,1-3,1-4,2-5,3-5,4-5,5-6}
F
3
3
= {1-2(2),1-3(1),…}С
4
еть – ориентированный граф с исключением петель, отсутствуют обратные связи, так как процесс реализуется во времени. Задача: определить путь из вершины 1 в вершину 6 такой, чтобы сумма всех весов, соответствующих этому пути была минимальной. Найти последовательность выполнения вершин графа: t -> minКакие ветки должны будут выполняться параллельно, чтобы t -> min (если все вершины были выполнены). Для реализации метода Перт вводятся понятия: самое раннее и самое позднее наступление события. t_(5) = t_2+t2-5 = 7 – критический путь. t_(5) = t_1+t1-2 . t_(5) = 6. t_(5)= 5
Для учета всех возможных вариантов реализации вычислительного процесса необходимо учесть наименьший путь выполнения процесса, то есть критический, наихудший путь. С учетом этого: Анализ сетевого графика необходимо начинать с конца, чтобы учесть критический путь. Начиная с терминальной вершины, выбираем вершину, которая является наихудшей и так далее для остальных вершин. При анализе двигаемся от терминальной вершины к начальной с определением наиболее эффективного пути.
Пример: Распределение задач в мультипроцессорной системе, состоящей из двух процессоров, на которых выполняются задачи определенного типа (специализированные). Исходные данные: сетевой граф с указанием последовательности выполнения работ и времени выполнения на каждом из процессоров.
№ процессора, на котором выполняется работа
I
0-1
1-4
6
II
I
3-4
2-4
Самое позднее время выполнения
1
5
4-5
II
I
1
5
II
5
2
3
3-5
II
I
1-2
№ дуги
4
II
2-3
Вес
1 |
Анализ начинаем с конца: анализируем вершину №5. Для этого определяем фронт работ (дуг графа), которые своими дугами заходят в вершину 5 4-5, 3-5 t4-5(5) = t(4)+5 = 16 t3-5(5) = 9+3 = 12 (выбираем max время) |
1 шаг: I 4-5 II 0 = 5 (длительность выполнения работы) |
2 |
Рассматриваем результаты, которые остались незавершенными на предыдущем шаге + работы, которые своими дугами заходят в вершину, для которой работа исходящей вершины завершена Для 4-ой: 1-4, 2-4, 3-4 будут рассмотрены только тогда, когда завершится 4-5. Входящие работы рассматриваются только тогда, когда выполнены исходящие работы 3-5, 1-4, 2-4, 3 – 4 |
2 шаг: I 2-4 II 3-4 = 2 |
3 |
3-5, 2-4, 1-4 |
3 шаг: I 2-4 II 0 = 3 |
4 |
3-5, 1-4 |
4 шаг: I 3-5 II 0 = 3 |
5 |
1-4, 2-3 |
5 шаг: I 1-4 II 2-3 = 4 |
6 |
1-2, 0-2, 1-4 |
6 шаг: I 1-4 II 0-2 = 2 |
7 |
1-2, 0-2 |
7 шаг: I 0 II 0-2 = 3 |
8 |
1-2 |
8 шаг: I 0 II 1-2 = 1 |
9 |
|
9 шаг: I 0-1 II 0 = 1 |
Анализируем и определяем момент, когда можно совмещать отдельные работы, причем рассматриваем наихудший (критический) путь
