Upload
eugeniy-tyumentcev
View
346
Download
5
Embed Size (px)
DESCRIPTION
В 70-годах прошлого века в ИТ-отрасли сложилось стойкое убеждение, что будущее будет за многопроцессорными системами. Активно разрабатывались методы написания параллельных программ, в том числе и модель акторов Карла Хьюита. Однако все попытки создать многопроцессорную систему завершились провалом - полученные системы оказались дорогими и существенно не превосходили однопроцессорные системы. Самым известным провалом стал японский проект по разработке вычислительных машин 5-го поколения, на который было потрачено 500 млн. долларов. Причина заключается в законе Амдала, который устанавливает ограничения на увеличение производительности при распараллеливании программ. Кроме того, на рынке появилась компания Intel, которая сумела создать успешный однопоточный процессор и постепенно наращивать производительность своих процессоров. Это было время, когда программистам для ускорения своих программ не надо было делать ничего - достаточно дождаться более мощной версии процессора. Только спустя 30 лет, когда Intel уперлась в технологические проблемы наращивания производительности процессоров в лоб, интерес к параллельным технологиям опять возрос. Возникает резонный вопрос: этот интерес надолго или опять повторится история 70-х? В статье Герба Саттера 2005 года Бесплатного супа больше не будет: фундаментальный поворот к параллельности в программном обеспечении утверждается, что нет - больше не возврата к однопоточным программам, и программисты теперь будут вынуждены заботиться о параллельности...
Citation preview
4ЫВАНАЕ
СЕРВЕРНЫХ ПРИЛОЖЕНИЙ
РАЗРАБОТКА СЕРВЕРОВ и
ТюменцевЕвгений Александрович
ИМИТ кафедра МЛЛП – 14 лет, ФКН – 1 годВ ИТ-отрасли 9 лет
Занимаюсь разработкой серверных приложений с 2006 года
Преподаватель 2
Вместо предисловия
Многопоточность?Это Вам не это!
3
Нужны специалисты 4
Не показалось…
Edward A. Lee
Edward A. Lee
The problem with Threads.
“Non-trivial multi-threaded programs are incomprehensible to human…”
2006
5
Скучно и нудно 6
Книги для чтения 7
Рекомендую посмотреть 8
Цель 9
Как есть
Архитектура
Взаимодействие
Измеримость
Оптимизация
Глава 1. Немного истории. 10
1970-ыe годы
Искусственный интеллект Будущее за многопроцессорными
системами Проект 5-е поколение
11
Вычислимость
Машина Тьюринга Машина Поста Λ-исчисление Черча
12
Состояние программы
с1 с2 с3 сn…
13
Ограничение вычислимости
с1 с2 с3 сn…
Требование глобального времени
14
Синхронизация 15
Акторы
Carl Hewitt
Carl Hewitt, Peter Bishop, Richard Steiger
A Universal Modular ACTORFormalism for Artificial Intelligence
1973
16
Актор – вычислительная сущность
• Отправить конечное число сообщений другим акторам
• Создать конечное число акторов• Выбрать поведение для приема
следующего сообщения
Определение актора 17
Схема приложения 18
ЖЦ актора 19
В чем разница? 20
Синхронизация Акторы
Что-то пошло не так 21
Япония, 1982-1992 $500 млн Логическая обработка данных Сверхбольшие БД Многопроцессорные рабочие
станции Распределенные вычисления
Закон Амдала 22
Wikipedia
Однопроцессорные системы 23
Ничего не надо делать, чтобы приложение начало работать быстрее – с выходом нового процессора это получается автоматически
Реабилитация акторов
Herb Sutter
Herb Sutter
The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software
2005
24
Закон Мура 25
Разрядность, инструкции 26
Дальнейшее наращивание разрядности и расширение набора инструкций не дает ощутимого эффекта
Наращивание тактовой частоты 27
При дальнейшем наращивании тактовой частоты электрический сигнал не успевает преодолеть нужное расстояние внутри процессора
Тепловыделение 28
При уменьшении размеров процессора ухудшается рассеивание тепла
А может ситуация повториться? 29
Internet изменил представления о роли и назначении компьютеров