...
самое интересное в законе Амдала – зависимость максимального прироста производительности для задач с некоторым известным значением нераспараллеливаемой части вычислительного процесса от увеличения числа процессоров. Например, для задачи, всего 40% кода которой (α = 0,4) не допускает распараллеливания, картина выглядит, мягко говоря, не многообещающей

Как видно из этого графика, для увеличения прироста производительности при решении такой задачи всего в два раза в идеале требуется восемь вычислителей. И дальнейшее повышение их количества совершенно бессмысленно – просто невероятно, что расходы на реализацию, эксплуатацию и программирование 256-процессорной машины будут компенсироваться достигнутым 1,25-кратным приростом производительности. Который в реальности из-за технологических и архитектурных ограничений, естественно, никогда не будет достигнут.
«Лобовые» методы повышения быстродействия фактически исчерпаны. А поэтому нет-нет, да и вновь вспоминают об асинхронных принципах работы. Считается, что уж они-то в общем случае должно быть быстрее. Но почему, несмотря на давнюю свою известность и наличие практических решений и теории, асинхронные схемы так и не получили широкого распространения, остановившись в своем развитии по сути на экспериментальном уровне?
Почему асинхронные системы не могут быть быстрее синхронных, а их программирование намного сложнее
3 комментария:
Кроме закона Амдаля есть еще закон Густавсона который дает более оптимистичные прогнозы повышения производительности. Так что первая часть статьи может базироваться на не очень верных предпосылках :)
Вот здесь есть картинка, которая показывает соотношение прогнозов масштабируемости по Амдалю и Густавсону.
Свежее на тему:
Я всегда удивляюсь, как много вроде бы хорошо образованных компьютерных специалистов постоянно употребляют слово параллелизм, не зная, что же оно означает. Сколько статей и книг о параллельных вычислениях я прочел – не сосчитать, и везде этот термин употребляется много-много раз без всякого его определения. Во многих из этих «авторитетных» источников упоминается закон Амдаля [1], изначально сформулированный Жене Амдалем в 1967 году. В то же время складывается ощущение, что авторы пребывают в неведении о более общей и точной оценке параллелизма, которую дает теоретическая компьютерная наука. Эта теория не так уж сложна, и очень странно, что ее никто не знает. Возможно, ей нужно дать более красивое название – например «закон параллелизма» звучит весьма авторитетно. В данной статье я дам краткое введение в теорию закона параллелизма, который, по счастливому совпадению, лежит в основе эффективности систем Cilk++.
Законы параллелизма, или «что за #@%&^ этот ваш параллелизм?»
Отправить комментарий