Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Учебник по параллельному программированию и OpenMP, Для Visual C++ 
:(
    Опции темы
Rasool
Дата 25.9.2011, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 4.6.2011

Репутация: нет
Всего: нет



Один из алгоритмов, который предлагается распараллелить - это генетический алгоритм, с помощью которого ищутся траектории (пути) движения редундантного манипулятора в пространстве с препятствиями. Ожидается, что в результате распараллеливания он будет работать быстрее и быстрее находить нужные пути.
PM MAIL   Вверх
W4FhLF
Дата 25.9.2011, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



Генетические алгоритмы не всегда можно эффективно распараллелить. я бы даже сказал, что распараллеливание не самый эффективный способ оптимизации ГА по скорости. Тем не менее... 
Сколько алгоритм сейчас работает по времени на вашей машине? Какое время вы бы хотели получить? Сколько, в относительных единицах (%), времени тратится на данный алгоритм в рамках программы целиком?
Что представляет собой ваша функция цели?


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Rasool
Дата 26.9.2011, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 4.6.2011

Репутация: нет
Всего: нет



Что касается времени работы алгоритма, то она зависит от сложности пространства препятствий. Чем сложнее пространство с препятствиями, тем больше будет работать ГА, ищущий пути для редундантного манипулятора. Следовательно, если распараллеливание даст нужный эффект, то с его помощью можно будет в приемлимое время прокладывать траектории путей манипулятора в более сложном пространстве.
Функция цели определяется следующими параметрами:
1) Пригодность по достижению цели;
2) Пригодность по достаточности длины манипулятора;
3) Пригодность по укладываемости  и достаточности звеньев манипулятора;
4) Пригодность по допустимости углов поворота;
5) Пригодность по пересечению с препятствиями;
6) Пригодность по толщине манипулятора.


Это сообщение отредактировал(а) Rasool - 26.9.2011, 12:41
PM MAIL   Вверх
bsa
Дата 26.9.2011, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Rasool, случаем это не похоже на обход дерева снизу вверх? Если похоже, то довольно легко параллелится (n потоков, каждый берет из очереди ветку маршрута и проверяет ее до разветвления, все разветвления добавляет в очередь).
PM   Вверх
Rasool
Дата 26.9.2011, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 4.6.2011

Репутация: нет
Всего: нет



Цитата(bsa @ 26.9.2011,  16:23)
Rasool, случаем это не похоже на обход дерева снизу вверх? Если похоже, то довольно легко параллелится (n потоков, каждый берет из очереди ветку маршрута и проверяет ее до разветвления, все разветвления добавляет в очередь).

Да, есть алгоритм метода ветвей и границ, который ищет пути для редундантного манипулятора, который тоже можно успешно распараллелить.
Мне сейчас нужно определиться в "железе" - на чем лучше делать: на настольной многоядерной системе или же арендуя облачный кластер.
PM MAIL   Вверх
bsa
Дата 27.9.2011, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Rasool, для дисертации, думаю, достаточно и настольного компьютера. А кластер уже лучше использовать для решения практических задач.
PM   Вверх
phprus
Дата 27.9.2011, 19:33 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 22.8.2006

Репутация: нет
Всего: 3



Цитата(bsa @  27.9.2011,  14:07 Найти цитируемый пост)
Rasool, для дисертации, думаю, достаточно и настольного компьютера. А кластер уже лучше использовать для решения практических задач. 

Достаточно для тестирования, но к сожалению не всегда.

Цитата(Rasool @  27.9.2011,  00:14 Найти цитируемый пост)
Мне сейчас нужно определиться в "железе" - на чем лучше делать: на настольной многоядерной системе или же арендуя облачный кластер. 

Надо определиться не в железе, а в целесообразности распараллеливания в системе с общей памятью (многоядерные процессоры), в системах с распределенной памятью (кластера) или на GPU. (Комбинации также возможны).
Так как методы распараллеливания могут кардинально отличаться в зависимости от архитектуры планируемой системы.

Если к вопросу подходить с наивной точки зрения, то после портирования задачи, которая успешно масштабиравалась на SMP, на суперкомпьютер, можно и уменьшение производительности получить раз так в 100 (например, забыв что резко подорожали синхронизации и обмены данными).
PM MAIL WWW ICQ   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1724 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.