29
4ЫВАНАЕ СЕРВЕРНЫХ ПРИЛОЖЕНИЙ РАЗРАБОТКА СЕРВЕРОВ и

разработка серверов и серверных приложений лекция №1

Embed Size (px)

Citation preview

Page 1: разработка серверов и серверных приложений лекция №1

4ЫВАНАЕ

СЕРВЕРНЫХ ПРИЛОЖЕНИЙ

РАЗРАБОТКА СЕРВЕРОВ и

Page 2: разработка серверов и серверных приложений лекция №1

ТюменцевЕвгений Александрович

ИМИТ кафедра МЛЛП – 14 лет, ФКН – 1 годВ ИТ-отрасли 9 лет

Занимаюсь разработкой серверных приложений с 2006 года

[email protected]

Преподаватель 2

Page 3: разработка серверов и серверных приложений лекция №1

Вместо предисловия

Многопоточность?Это Вам не это!

3

Page 4: разработка серверов и серверных приложений лекция №1

Нужны специалисты 4

Page 5: разработка серверов и серверных приложений лекция №1

Не показалось…

Edward A. Lee

Edward A. Lee

The problem with Threads.

“Non-trivial multi-threaded programs are incomprehensible to human…”

2006

5

Page 6: разработка серверов и серверных приложений лекция №1

Скучно и нудно 6

Page 7: разработка серверов и серверных приложений лекция №1

Книги для чтения 7

Page 8: разработка серверов и серверных приложений лекция №1

Рекомендую посмотреть 8

Page 9: разработка серверов и серверных приложений лекция №1

Цель 9

Как есть

Архитектура

Взаимодействие

Измеримость

Оптимизация

Page 10: разработка серверов и серверных приложений лекция №1

Глава 1. Немного истории. 10

Page 11: разработка серверов и серверных приложений лекция №1

1970-ыe годы

Искусственный интеллект Будущее за многопроцессорными

системами Проект 5-е поколение

11

Page 12: разработка серверов и серверных приложений лекция №1

Вычислимость

Машина Тьюринга Машина Поста Λ-исчисление Черча

12

Page 13: разработка серверов и серверных приложений лекция №1

Состояние программы

с1 с2 с3 сn…

13

Page 14: разработка серверов и серверных приложений лекция №1

Ограничение вычислимости

с1 с2 с3 сn…

Требование глобального времени

14

Page 15: разработка серверов и серверных приложений лекция №1

Синхронизация 15

Page 16: разработка серверов и серверных приложений лекция №1

Акторы

Carl Hewitt

Carl Hewitt, Peter Bishop, Richard Steiger

A Universal Modular ACTORFormalism for Artificial Intelligence

1973

16

Page 17: разработка серверов и серверных приложений лекция №1

Актор – вычислительная сущность

• Отправить конечное число сообщений другим акторам

• Создать конечное число акторов• Выбрать поведение для приема

следующего сообщения

Определение актора 17

Page 18: разработка серверов и серверных приложений лекция №1

Схема приложения 18

Page 19: разработка серверов и серверных приложений лекция №1

ЖЦ актора 19

Page 20: разработка серверов и серверных приложений лекция №1

В чем разница? 20

Синхронизация Акторы

Page 21: разработка серверов и серверных приложений лекция №1

Что-то пошло не так 21

Япония, 1982-1992 $500 млн Логическая обработка данных Сверхбольшие БД Многопроцессорные рабочие

станции Распределенные вычисления

Page 22: разработка серверов и серверных приложений лекция №1

Закон Амдала 22

Wikipedia

Page 23: разработка серверов и серверных приложений лекция №1

Однопроцессорные системы 23

Ничего не надо делать, чтобы приложение начало работать быстрее – с выходом нового процессора это получается автоматически

Page 24: разработка серверов и серверных приложений лекция №1

Реабилитация акторов

Herb Sutter

Herb Sutter

The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software

2005

24

Page 25: разработка серверов и серверных приложений лекция №1

Закон Мура 25

Page 26: разработка серверов и серверных приложений лекция №1

Разрядность, инструкции 26

Дальнейшее наращивание разрядности и расширение набора инструкций не дает ощутимого эффекта

Page 27: разработка серверов и серверных приложений лекция №1

Наращивание тактовой частоты 27

При дальнейшем наращивании тактовой частоты электрический сигнал не успевает преодолеть нужное расстояние внутри процессора

Page 28: разработка серверов и серверных приложений лекция №1

Тепловыделение 28

При уменьшении размеров процессора ухудшается рассеивание тепла

Page 29: разработка серверов и серверных приложений лекция №1

А может ситуация повториться? 29

Internet изменил представления о роли и назначении компьютеров