Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемguestf673
1 Событийные машины Сетевая многозадачность: событийные машины Павел Кудинов HighLoad 2007
2 Что такое сетевая многозадачность? Параллельная обработка сетевых соединений в рамках WWW: - входящие HTTP запросы - исходящие HTTP запросы
3 Когда это нужно? динамические страницы на базе готовых HTTPD – CGI – FastCGI дополнительные HTTP запросы браузеров – AJAX – IFRAME автономные HTTP серверы – прикладные демоны автономные HTTP клиенты – бот (web-crawler) – взаимодействующие веб-сервисы гибридные приложения (клиент+сервер) – шлюз – агрегатор – сложный веб-сервис
4 Почему это важно? Готовые решения часто не подходят! Понимание проблемы – необходимое условие её решения
5 Абстракция квантования Многозадачность – это квантование сетевых и вычислительных ресурсов параллельные процессы (IPC) мультиплексирование (multiplex) многопоточность (threads)
6 Параллельные процессы
7 + применяется несколько CPU + полная изоляция контекста + не требуется микро синхронизация – требуется макро синхронизация – ресурсоёмкость – неконкурентный ввод/вывод – гибридная функция невозможна – неконтролируемое квантование
8 Мультиплексирование
9 + не требуется микро синхронизация + не требуется макро синхронизация + максимально возможная эффективность + конкурентный ввод/вывод + идеальная модель гибридной функции + полный контроль квантования – контекст блокирует приложение – применяется только один CPU
10 Многопоточность
11 + применяется несколько CPU + не требуется макро синхронизация + конкурентный ввод/вывод v достаточная эффективность v физический контроль квантования v дискретная модель гибридной функции v частичная изоляция контекста – требуется микро синхронизация
12 характеристикаIPCmultiplexthread конкурентный ввод/вывод–++ микро синхронизация++– макро синхронизация–++ изоляция контекста+–v эффективность–+v несколько CPU+–+ контроль квантования–+v гибридная функция–+v
13 Мультиплексирование: уровни абстракции 1. Системные функции poll, select, epoll, kqueue 2. Библиотеки libevent 3. Конечные автоматы POE - событийная машина на Perl 4.Распределённые объекты CORBA
14 POE: производительность + быстрее, чем mod_perl / FastCGI медленнее, чем libevent + синхронный ввод/вывод прикладных запросов в секунду
16 Кластеризация событийных машин
17 Объединение HTTP сервисов
18 Спасибо за внимание! Сетевая многозадачность: событийные машины Павел Кудинов Агентство «Точка Кипения» Технический директор
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.