PARALLEL.RU

Дискуссионный клуб по параллельным вычислениям
Текущее время: 19 авг 19 23:25

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
СообщениеДобавлено: 23 сен 06 13:28 
Не в сети

Зарегистрирован: 29 июл 06 11:50
Сообщения: 6
Объясните пожалуйста!!!
Что означает фраза "доля последовательных операций в параллельном алгоритме" в формуле Амдала? Как её определить?
Например, имеется алгоритм для параллельного вычисления суммы:

a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8
1. (a1+a2) (a3+a4) (a5+a6) (a7+a8)
2. ((a1+a2) + (a3+a4)) ((a5+a6) + (a7+a8))
3.(((a1+a2) + (a3+a4))+((a5+a6) + (a7+a8)))

Сколько здесь последовательных операций - две или три?
(Доля последовательных операций будет 2/7 или 3/7 ?)

Или ещё такой пример: на основе двух векторов формируется третий:

c(i)=a(i)+b(i); 1<=i<=n

1. c(1)=a(1)+b(1) c(2)=a(2)+b(2) ... c(n)=a(n)+b(n)

Сколько здесь - 0 или 1?
Здесь получается полностью параллельный алгоритм и "доля последовательных операций" должна быть равна нулю. Тогда получается, что здесь НОЛЬ последовательных операций.
А в предыдущем примере получается ДВЕ послед.операции.
Я прав? Поправте меня, пожалуйста, если я ошибаюсь!
Надеюсь на помощь!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 23 сен 06 13:32 
Не в сети

Зарегистрирован: 29 июл 06 11:50
Сообщения: 6
Восьмёрка со скобкой заменилась на рожицу :D
Надо было отключить смайлы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 сен 06 12:20 
Не в сети

Зарегистрирован: 11 дек 02 19:37
Сообщения: 872
Откуда: НИВЦ МГУ
Доля последовательных операций - это отношение СРАБАТЫВАНИЙ таких операций к общему числу срабатываний всех операций.

В последнем примере формально(!) действительно ноль последовательных операций. В примере выше - всё зависит от того, как будете проводить операции. Из записи не совсем понятно, как организован сам алгоритм :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 сен 06 14:48 
Не в сети

Зарегистрирован: 29 июл 06 11:50
Сообщения: 6
a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8
1. a1+a2 || a3+a4 || a5+a6 || a7+a8
2. (a1+a2)+(a3+a4) || (a5+a6)+(a7+a8)
3. (a1+a2 + a3+a4) + (a5+a6 + a7+a)

В первом примере я имел ввиду попарное сложение. Операции, выполняемые параллельно, я разделил знаком "||".
На первом ярусе параллельно выполняются 4 операции сложения.
На втором ярусе полученные суммы опять попарно складываются (две параллельные операции).
На третьем складываются две суммы, полученные на предыдущем ярусе, и т.о. получаем окончательную сумму.

Если, к примеру, взять второй ярус, можно ли считать, что на нём выполняется одна последовательная операция, состоящая из двух параллельных? Или последовательными операциями считаются и (a1+a2)+(a3+a4) и (a5+a6)+(a7+a8) ?

Объясните, пожалуйста, как в этом примере посчитать количество последовательных операций.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 26 сен 06 12:09 
Не в сети

Зарегистрирован: 11 дек 02 19:37
Сообщения: 872
Откуда: НИВЦ МГУ
ps писал(а):
Если, к примеру, взять второй ярус, можно ли считать, что на нём выполняется одна последовательная операция, состоящая из двух параллельных?

Ровно так. Во всём алгоритме получаются 3 последовательные операции (на каждом ярусе - по одной). Всего операций 7. Итого, доля последовательных = 3/7.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 26 сен 06 12:52 
Не в сети

Зарегистрирован: 29 июл 06 11:50
Сообщения: 6
Спасибо, Serg_Zhum!
Теперь всё понятно.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB