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

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

Комбинаторы введены для упрощения процесса вычисления. Это некоторые конструкции. Они были предложены Д. Тернером.

  1. S-комбинатор: f g x  f x (g x)

  2. K-комбинатор: x y  x

  3. I-комбинатор: x x

Комбинаторы S, K, I получены путем преобразования -абстраций следующим образом:

х.xI  I-комбинатор

х.c  Kc (cx)

х.l1l2  S(х.l1)( х.l2)

*(х.+xx)5=10  S(х.+x)( х.x)5  S (S(((х.+)( (х.x))(х.x)5 => S(S(K+1)I((х.x))5 => S(S((K+1)I)I)5

Процесс вычисления комбинаторного выражения

f g x

S(S((K+)I)5)S(K+)I5(I5) K+5(I5) (I5) +(I5) (I5) +(55)=10

19.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

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

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

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