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