Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы 2014.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.93 Mб
Скачать

3.2 Способы распределения задач по процессорам в мультипроцессорных вс.

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

  2. Процессоры в мультипроцессорной системе являются – специализированными (решают определенный тип задач)

Пусть имеется 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 значения. Найдем, на каком процессоре какую задачу лучше выполнять.

П олучили распространение: Метод Шварца, метод Перт.

Метод Шварца, метод Перт.

Относятся к субоптимальным методам, при решении вводится гипотеза:

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

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

Структуры сетей процессоров

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

  1. схемы взаимодействия процессоров между собой;

  2. память должна быть распределена;

  3. особенность архитектуры сети;

  4. диаметр сети;

и др.

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

Линейная сеть процессоров

Каждый элемент связан с двумя соседями. Степень сети равна 2 для внутренних элементов и 1 – для крайних. Диаметр сети = n.

Пропускная способность = 1.

Пример:

Найти минимум в массиве: 3; 4; 2; 6; 15.

шаг

p1

p2

p3

p4

p5

min

1

3

3

2

4

3

3

3

2

4

3

2

4

6

2

4

3

2

5

15

6

2

4

3

2

Повышение эффективности решения задач на линейной сети процессоров

  1. Разбиение всей последовательности элементов на отдельные группы

Далее ищется минимум на множестве . Это делается либо стандартным способом (см.предыдущую главу), либо гусеничным алгоритмом (tractor thread). В этом алгоритме можно пересылать данные через линейную сеть процессоров в разных направлениях.

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

Задача сортировки:

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

3 , 4, 2. 6, 1, 5

Такт

p1

p2

p3

p4

p5

p6

1

5

2

1

5

3

1

5

6

4

1

5 2

5

6

5

1

2

5 4

5

6

6

1

2

4 3

4

5

6

Преимущество такого подхода:

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

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