игра брюс 2048
Главная / Программирование / Параллельное программирование / Тест 1

Параллельное программирование - тест 1

Упражнение 1:
Номер 1
Для ВС SPMD-архитектуры, содержащей 4 процессора, составьте таблицу параллельного логического вывода на основе языка ПРОЛОГ по сложной цели, исключающего перебор и backtracking.  Мать (марья, Y)

Ответ:

 (1)
Обрабатывающий процессорФреймСчетчикСвязывание переменных
мать (марья, Y) 1 X=марья, Y=?
0родитель (марья, Y)7
0родитель (марья, иван)1X=марья, Y=иван
1не проходит унификация1
2родитель (марья, василий)1X=марья, Y=василий
3не проходит унификация1
0не проходит унификация1
1не проходит унификация1
2не проходит унификация1
 

 (2)
Обрабатывающий процессорФреймСчетчикСвязывание переменных
мать (марья, Y)1 X=марья, Y=?
0родитель (марья, Y)7
0родитель (марья, иван)1X=марья, Y=иван
1родитель (марья, василий)1X=марья, Y=василий
 

 (3)
Обрабатывающий процессорФреймСчетчикСвязывание переменных
мать (марья, Y)1 X=марья, Y=?
0родитель (марья, Y)7
1родитель (марья, иван)1X=марья, Y=иван
0родитель (марья, василий)1X=марья, Y=василий
 


Номер 2
Для ВС SPMD-архитектуры, содержащей 4 процессора, составьте таблицу параллельного логического вывода на основе языка ПРОЛОГ по сложной цели, исключающего перебор и backtracking.  Отец (Х, иван)

Ответ:

 (1)
Обрабатывающий процессорФреймСчетчикСвязывание переменных
отец (Х,иван) 1 X=?, Y=иван
0мужчина (Х), родитель (Х, иван)5
0не проходит унификация1
1не проходит унификация1
2родитель (петр, иван)1X=петр, Y=иван
3не проходит унификация1
0не проходит унификация1
0не проходит унификация1
 

 (2)
Обрабатывающий процессорФреймСчетчикСвязывание переменных
отец (Х,иван)1X=?, Y=иван
0мужчина (Х),родитель (Х, иван)5
1родитель (петр, иван)1X=петр, Y=иван
 

 (3)
Обрабатывающий процессорФреймСчетчикСвязывание переменных
отец (Х,иван)1X=?, Y=иван
0мужчина (Х),родитель (Х, иван)5
0родитель (петр, иван)1X=петр, Y=иван
 


Номер 3
Для ВС SPMD-архитектуры, содержащей 4 процессора, составьте таблицу параллельного логического вывода на основе языка ПРОЛОГ по сложной цели, исключающего перебор и backtracking.  Отец (иван, Y)

Ответ:

 (1)
Обрабатывающий процессорФреймСчетчикСвязывание переменных
отец (иван, Y)1X= иван, Y=?
0родитель (иван, Y)7
0не проходит унификация1
1родитель (иван, елена)1X= иван, Y= елена
2не проходит унификация1
3не проходит унификация1
0не проходит унификация1
1не проходит унификация1
2не проходит унификация1
 

 (2)
Обрабатывающий процессорФреймСчетчикСвязывание переменных
отец (иван, Y)1X= иван, Y=?
0родитель (иван, Y)7
1родитель (иван, елена)1X= иван, Y= елена
 

 (3)
Обрабатывающий процессорФреймСчетчикСвязывание переменных
отец (иван, Y)1X= иван, Y=?
0родитель (иван, Y)7
0родитель (иван, елена)1X= иван, Y= елена
 


Упражнение 3:
Номер 1
ВС SPMD-архитектуры, содержащей n= 2 процессоров, найдите ссылку на последний элемент списка N элементов. Воспользуйтесь методом параллельной подстановки ссылок, дающим решение за lg2N шагов. Непосредственный поиск "нулевой" ссылки производится за ]N/n[ шагов, что может быть значительно дольше. N=8 files

Ответ:

 (1)
Процессор 0Процессор 1
Цикл 11→​42→​3
Цикл 23→​74→​5
Цикл 35→​86 нет ссылки
 

 (2) непосредственный поиск "пустой" ссылки производится за столько же циклов 

 (3)
Процессор 0Процессор 1
Цикл 11→​32→​4
Цикл 23→​54→​6
Цикл 35→​76 нет ссылки
 


Номер 2
ВС SPMD-архитектуры, содержащей n= 2 процессоров, найдите ссылку на последний элемент списка N элементов. Воспользуйтесь методом параллельной подстановки ссылок, дающим решение за lg2N шагов. Непосредственный поиск "нулевой" ссылки производится за ]N/n[ шагов, что может быть значительно дольше. N=10 files

Ответ:

 (1)
Процессор 0Процессор 1
Цикл 11→​22→​5
Цикл 23→​44→​6
Цикл 35→​86→​7
Цикл 47→​10, нет ссылки8→​9
 

 (2) непосредственный поиск "пустой" ссылки, хоть и требует дополнительный цикл, зато менее трудоемок 

 (3)
Процессор 0Процессор 1
Цикл 11→​22→​4
Цикл 23→​54→​6
Цикл 35→​86→​7
Цикл 47→​10, нет ссылки8→​9
 


Номер 3
ВС SPMD-архитектуры, содержащей n= 2 процессоров, найдите ссылку на последний элемент списка N элементов. Воспользуйтесь методом параллельной подстановки ссылок, дающим решение за lg2N шагов. Непосредственный поиск "нулевой" ссылки производится за ]N/n[ шагов, что может быть значительно дольше. N=12 files

Ответ:

 (1)
Процессор 0Процессор 1
Цикл 11→​42→​5
Цикл 23→​24→​6
Цикл 35→​76→​8
Цикл 47→​98→​11
Цикл 59→​1210, нет ссылки
 

 (2) непосредственный поиск "пустой" ссылки производится за столько же циклов 

 (3)
Процессор 0Процессор 1
Цикл 11→​42→​5
Цикл 23→​24→​6
Цикл 35→​76→​8
Цикл 47→​98→​10, "пустая ссылка"
 


Упражнение 4:
Номер 1
ВС SPMD-архитектура содержит 4 процессора. Изобразите схему параллельного поиска и исключения из списка элемента с номером k. Список содержит 6 элементов, k = 3 files

Ответ:

 (1)
ПроцессорыКомментарий
Цикл 10123процессор 2 находит ссылку элемента 3
Цикл 201процессор 1 находит ссылку на элемент 3
Цикл 32301
Цикл 423процессор3 меняет ссылку на 3 ссылкой на 5
 

 (2)
ПроцессорыКомментарий
Цикл 10123процессор 2 находит ссылку элемента 3
Цикл 201процессор 1 находит ссылку на элемент 3
Цикл 3230123процессор3 меняет ссылку на 3 ссылкой на 5
 

 (3)
ПроцессорыКомментарий
Цикл 10123процессор 2 находит ссылку элемента 3 и ссылку на элемент 3
Цикл 201процессор 1 меняет ссылку на 3 ссылкой на 5
 


Номер 2
ВС SPMD-архитектура содержит 4 процессора. Изобразите схему параллельного поиска и исключения из списка элемента с номером k. Список содержит 7 элементов, k = 6 files

Ответ:

 (1)
ПроцессорыКомментарий
Цикл 10123процессор 3 находит ссылку на элемент 6
Цикл 2012процессор 1 находит ссылку элемента 6
Цикл 33012301процессор 2 находит ссылку на 6 ссылкой на 5
 

 (2)
ПроцессорыКомментарий
Цикл 10123процессор 3 находит ссылку на элемент 6
Цикл 2012процессор 1 находит ссылку элемента 6 и меняет ссылку на 6 ссылкой на 5
 

 (3)
ПроцессорыКомментарий
Цикл 10123012процессор 3 находит ссылку на элемент 6, процессор 1 находит ссылку элемента 6
Цикл 23012301процессор 2 меняет ссылку на 6 ссылкой на 5
 


Номер 3
ВС SPMD-архитектура содержит 4 процессора. Изобразите схему параллельного поиска и исключения из списка элемента с номером k. Список содержит 5 элементов, k = 2 files

Ответ:

 (1)
ПроцессорыКомментарий
Цикл 10123процессор 1 находит ссылку элемента 2
Цикл 20не найдена ссылка на элемент 2
Цикл 312300процессор 2 ликвидирует ссылку элемента 2
 

 (2)
ПроцессорыКомментарий
Цикл 101230процессор 1 находит ссылку элемента 2
Цикл 2123процессор 2 ликвидирует ссылку элемента 2
 

 (3)
ПроцессорыКомментарий
Цикл 10123процессор 1 находит ссылку элемента 2, но, не найдя ссылку на элемент 2, ликвидирует ссылку этого элемента
 


Упражнение 5:
Номер 1
Исследуйте приемы параллельной обработки списков. Каким образом список можно интерпретировать как массив?

Ответ:

 (1) создается массив – образ списка дополнением каждого его элемента "ссылкой на ссылку". Анализ таких ссылок обеспечивает возможность явного отображения связей между элементами массива. Этот массив становится опорным в процессе параллельной обработки по SPMD-технологии 

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

 (3) на основе выделения массивов данных из элементов списка создается отдельный массив. Оставшаяся структура ссылок может рассматриваться как образ списка и самостоятельно оперативно обрабатываться 


Номер 2
Исследуйте приемы параллельной обработки списков. Как обработка образа списка сокращает время решения задачи поиска в списке?

Ответ:

 (1) за счет параллельных транзитивных преобразований ссылок, подобно реализации "пирамиды", поиск в списке длины N вместо максимального значения N производится за log2N шагов 

 (2) образ списка обеспечивает полную и равную загрузку процессоров, но суммарное время поиска увеличивается 

 (3) время поиска сокращается незначительно 


Номер 3
Исследуйте приемы параллельной обработки списков. Применимо ли формирование образа списка для обработки других структур – деревьев или графов? (Требует творческих размышлений)

Ответ:

 (1) не применимо, т.к. эти структуры требуют последовательной обработки с ветвлением 

 (2) применимо, т.к. ссылка на более чем один элемент принципиально не влияет на возможность ее отображения по принципу "ссылка на ссылку" и легко учитывается обрабатывающим процессором 

 (3) такие структуры представляют альтернативные виды массивов – образов списка и требуют отображения несколькими дескрипторами 




Главная / Программирование / Параллельное программирование / Тест 1