Здраствуйте, уважаемые участники форума!
Посоветуйте пожалуйста какую-нибудь литературу (или другие источники данных), в которых можно найти информацию об исследованиях производительности и времени выполнения алгоритмов на различных параллельных архитектурах (в том числе просто в многозадачных ОС): грид и т. п., различие времени выполнения одного алгоритма в последовательном виде и в параллельном.
По идее, время выполнения на параллельной арх. не может ускориться, более чем в N раз (N — кол-во процессоров), но тут возможны варианты!
Заранее большое спасибо!
Re: Вопрос про производительность параллельных вычисления
Здравствуйте, potatoes19, Вы писали:
P>Здраствуйте, уважаемые участники форума! P>Посоветуйте пожалуйста какую-нибудь литературу (или другие источники данных), в которых можно найти информацию об исследованиях производительности и времени выполнения алгоритмов на различных параллельных архитектурах (в том числе просто в многозадачных ОС): грид и т. п., различие времени выполнения одного алгоритма в последовательном виде и в параллельном. P>По идее, время выполнения на параллельной арх. не может ускориться, более чем в N раз (N — кол-во процессоров), но тут возможны варианты!
Все намного хуже. Слышал про закон Амдала?
Если есть 1000 процессоров, и надо провести 90% работы можно распараллелить, то ускорение произойдет не более чем в 10 раз.
(это не зависит от архитектуры и т.п.). Другими словами, основной фактор — это задача и алгоритм её решение. Остальное — детали реализации.
С уважением, Александр
Re[2]: Вопрос про производительность параллельных вычисления
Здравствуйте, Smal, Вы писали:
S>Если есть 1000 процессоров, и 90% работы можно распараллелить, то ускорение произойдет не более чем в 10 раз.
Сбилась мысль.
С уважением, Александр
Re: Вопрос про производительность параллельных вычисления
Здравствуйте, potatoes19, Вы писали:
P>По идее, время выполнения на параллельной арх. не может ускориться, более чем в N раз (N — кол-во процессоров), но тут возможны варианты!
Из опыта: на кластерах не раз наблюдали ускорение в более N раз — когда порция данных, приходящаяся на одну машину, начинает влезать в кэш.
Re[2]: Эх не писали вы для ЭВМ размером с дом... :)
Здравствуйте, D. Mon, Вы писали:
DM>Из опыта: на кластерах не раз наблюдали ускорение в более N раз — когда порция данных, приходящаяся на одну машину, начинает влезать в кэш.
Если бы программы для "некластеров" писали не залетевшие по случаю криворукие дятлы, то и на однопроцессной тачке ничто не мешало бы обрабатывать данные пачками, которые влезают в кэш...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[2]: Вопрос про производительность параллельных вычисления
Здравствуйте, D. Mon, Вы писали:
DM>Здравствуйте, potatoes19, Вы писали:
P>>По идее, время выполнения на параллельной арх. не может ускориться, более чем в N раз (N — кол-во процессоров), но тут возможны варианты!
DM>Из опыта: на кластерах не раз наблюдали ускорение в более N раз — когда порция данных, приходящаяся на одну машину, начинает влезать в кэш.
Вот меня как раз очень интересуют подобные вещи. Например, влияние разнообразных факторов, присущих кластерам, ГРИД, просто квазипараллельным ОС
(например там время переключения потоков, задержки в сети и т. п.)
Re[2]: Вопрос про производительность параллельных вычисления
Здравствуйте, Smal, Вы писали:
S>Здравствуйте, potatoes19, Вы писали:
P>>Здраствуйте, уважаемые участники форума! P>>Посоветуйте пожалуйста какую-нибудь литературу (или другие источники данных), в которых можно найти информацию об исследованиях производительности и времени выполнения алгоритмов на различных параллельных архитектурах (в том числе просто в многозадачных ОС): грид и т. п., различие времени выполнения одного алгоритма в последовательном виде и в параллельном. P>>По идее, время выполнения на параллельной арх. не может ускориться, более чем в N раз (N — кол-во процессоров), но тут возможны варианты!
S>Все намного хуже. Слышал про закон Амдала? S>Если есть 1000 процессоров, и надо провести 90% работы можно распараллелить, то ускорение произойдет не более чем в 10 раз. S>(это не зависит от архитектуры и т.п.). Другими словами, основной фактор — это задача и алгоритм её решение. Остальное — детали реализации.
Спасибо, слышал! но это очень уж обобщенно. Хотелось бы конкретные примеры каких-нибудь измерений или примеры для конкр. архитектур.