![]() |
|
![]() ![]() ![]() |
|
motorway |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 578 Регистрация: 2.3.2008 Репутация: нет Всего: 0 |
Допустим, есть какая-то задача, которую можно распараллелить на несколько компьютеров. В каких случаях это обычно делают? Если время вычисления одной части задачи составляет порядка 1 сек или меньше, то есть ли смысл это распараллеливать? Например, на 1 процессоре считается за 0,1 сек, а на нескольких - за 0,02 сек. Вроде и так довольно быстро, и преимущества в скорости будут заметны только при большом числе таких задач.
-------------------- Russian Pascal Developer Network - Сеть разработчиков на языке программирования Pascal/Object Pascal Форум Delphi/Kylix, Free Pascal Compiler/Lazarus, PascalABC.NET Онлайн-кинотеатр |
|||
|
||||
nworm |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 502 Регистрация: 22.10.2005 Репутация: 4 Всего: 8 |
на практике, когда хотят выигрыш в скорости получить, если есть со скоростью проблемы или есть простая и притягательная возможность распараллелить и посмотреть что получится (например, так уже кто-то делал в похожих задачах).
а для исследований самого распараллеливания вполне разумно вначале короткие задачи смотреть, а затем на большие переходить. |
|||
|
||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 2 Всего: 49 |
Тут, как и во всех подобных случаях, нужно оценивать соотношение "цена-производительность". Понятно, что экономить доли секунды с помощью распараллеливания бессмысленно (разве что в учебных целях)... но если эта программа будет использоваться не один раз, а миллион, то экономия времени будет весьма ощутимой.
Более конкретного ответа, пожалуй, просто нет. В первую очередь потому, что в разных областях время самого программиста стоит по-разному - где-то оно намного дороже времени компьютеров и пользователей, где-то - намного дешевле. |
|||
|
||||
aggressorus |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 2.11.2006 Репутация: нет Всего: нет |
Есть формулы ускорения и эффективность распараллеливания задач. По этим формулам можно посчитать теоретическое ускорения выполнения параллельной задачи от последовательной, например Параллельные вычисления. На практике всегда работает.
Всё зависит от архитектуры системы и скорости передачи данных. Тут надо считать и потом уже реализовывать. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |