В 70-годах прошлого века в ИТ-отрасли сложилось стойкое убеждение, что будущее будет за многопроцессорными системами. Активно разрабатывались методы написания параллельных программ, в том числе и модель акторов Карла Хьюита. Однако все попытки создать многопроцессорную систему завершились провалом - полученные системы оказались дорогими и существенно не превосходили однопроцессорные системы. Самым известным провалом стал японский проект по разработке вычислительных машин 5-го поколения, на который было потрачено 500 млн. долларов. Причина заключается в законе Амдала, который устанавливает ограничения на увеличение производительности при распараллеливании программ. Кроме того, на рынке появилась компания Intel, которая сумела создать успешный однопоточный процессор и постепенно наращивать производительность своих процессоров. Это было время, когда программистам для ускорения своих программ не надо было делать ничего - достаточно дождаться более мощной версии процессора. Только спустя 30 лет, когда Intel уперлась в технологические проблемы наращивания производительности процессоров в лоб, интерес к параллельным технологиям опять возрос. Возникает резонный вопрос: этот интерес надолго или опять повторится история 70-х? В статье Герба Саттера 2005 года Бесплатного супа больше не будет: фундаментальный поворот к параллельности в программном обеспечении утверждается, что нет - больше не возврата к однопоточным программам, и программисты теперь будут вынуждены заботиться о параллельности...
2. Преподаватель 2
Тюменцев
Евгений Александрович
ИМИТ кафедра МЛЛП – 14 лет,
ФКН – 1 год
В ИТ-отрасли 9 лет
Занимаюсь разработкой серверных
приложений с 2006 года
etyumentcev@gmail.com
16. Акторы
Carl Hewitt
Carl Hewitt,
Peter Bishop,
Richard Steiger
A Universal Modular
ACTOR
Formalism for Artificial
Intelligence
1973
16
17. Определение актора 17
Актор – вычислительная сущность
• Отправить конечное число сообщений
другим акторам
• Создать конечное число акторов
• Выбрать поведение для приема
следующего сообщения
21. Что-то пошло не так 21
Япония, 1982-1992 $500 млн
Логическая обработка данных
Сверхбольшие БД
Многопроцессорные рабочие
станции
Распределенные вычисления
23. Однопроцессорные системы 23
Ничего не надо делать, чтобы
приложение начало работать
быстрее – с выходом нового
процессора это получается
автоматически
24. Реабилитация акторов
Herb Sutter
Herb Sutter
The Free Lunch Is Over:
A Fundamental Turn
Toward Concurrency in
Software
2005
24
26. Разрядность, инструкции 26
Дальнейшее наращивание
разрядности и расширение
набора инструкций не дает
ощутимого эффекта
27. Наращивание тактовой частоты 27
При дальнейшем наращивании
тактовой частоты электрический
сигнал не успевает преодолеть
нужное расстояние внутри
процессора