Глава 2. Что-то пошло не так

 

Я-робот

Не смотря на то, что модель акторов появилась более 40 лет назад, языки и платформы на ее основе приобрели популярность лишь в последнее десятилетие. На это есть две причины:

  1. Закон Амдала
  2. Процессоры компании Intel

Закон Амдала

Закон был сформулирован Джином Амдалом в 1967 году и устанавливает ограничение на увеличение производительности параллельной программы за счет увеличения количества параллельных процессов. Ограничение заключается в том, что время выполнения параллельной программы не может быть меньше, чем время выполнения самого длинного последовательного фрагмента.

Рассмотрим действие этого закона на следующем графике, взятым из статьи в википедии.

AmdahlsLaw.svg

Как видим, если программа распараллеливается на 50%, то, в лучшем случае, мы можем добиться лишь двукратного увеличения производительности, при этом придется задействовать более двух ядер за счет накладных расходов на организацию параллельных вычислений.

Если же программа распараллеливается на 95%, то мы можем добиться максимум 20 кратного увеличения производительности по сравнению с последовательной программой, причем на очень большем количестве параллельных процессов.

Процессоры компании Intel

intel

Предпринималось много попыток построить многопроцессорные машины, приспособленные для параллельных вычислений. Самая известная из них — японский проект по разработке 5-го поколения ЭВМ.

Однако компания Intel сумела наладить массовый выпуск относительно недорогих однопоточных процессоров, которые превзошли по производительности свои многопроцессорные аналоги: как мы знаем, проект по разработке 5-го поколения ЭВМ, на который было потрачено 10 лет и порядка 500 млн. долларов США, закончился провалом.

Скорость работы процессоров Intel росла из года в год: нетрудно посчитать, что производительность современных процессоров в тысячи раз больше, чем производительность самого первого процессора этой компании. Программисту не нужно делать ничего, чтобы ускорить свою программу — дождитесь выхода новой версии процессора и Ваша программа сама собой заработает быстрее. При этом, согласно закона Амдала, более мощный процессор нам может дать гарантировано больший прирост, чем распараллеливание. Неудивительно, что целых три десятилетия большинство программистов даже не думало о написании параллельных программ.

Ситуация изменилась, когда Intel столкнулась с сложностями по дальнейшему прямому наращиванию производительности своих процессоров. Об этом мы расскажем в следующей главе Акторы возвращаются.

< Предыдыщая глава                                                                                             Следующая глава >

Хотите узнать о выходе новых глав?

Подпишитесь! И по мере того, как буду появляться новые главы, Вы будете получать уведомления на email.

* Отписаться можно в любой момент!