'

HighLoad 2007

Понравилась презентация – покажи это...





Слайд 0

Событийные машины Сетевая многозадачность: событийные машины Павел Кудинов HighLoad 2007


Слайд 1

Что такое сетевая многозадачность? Параллельная обработка сетевых соединений в рамках WWW: входящие HTTP запросы исходящие HTTP запросы


Слайд 2

Когда это нужно? динамические страницы на базе готовых HTTPD CGI FastCGI дополнительные HTTP запросы браузеров AJAX IFRAME ? автономные HTTP серверы прикладные демоны автономные HTTP клиенты бот (web-crawler) взаимодействующие веб-сервисы гибридные приложения (клиент+сервер) шлюз агрегатор сложный веб-сервис


Слайд 3

Почему это важно? Готовые решения часто не подходят! Понимание проблемы – необходимое условие её решения


Слайд 4

Абстракция квантования Многозадачность – это квантование сетевых и вычислительных ресурсов параллельные процессы (IPC) мультиплексирование (multiplex) многопоточность (threads)


Слайд 5

Параллельные процессы


Слайд 6

Параллельные процессы + применяется несколько CPU + полная изоляция контекста + не требуется микро синхронизация – требуется макро синхронизация – ресурсоёмкость – неконкурентный ввод/вывод – гибридная функция невозможна – неконтролируемое квантование


Слайд 7

Мультиплексирование


Слайд 8

Мультиплексирование + не требуется микро синхронизация + не требуется макро синхронизация + максимально возможная эффективность + конкурентный ввод/вывод + идеальная модель гибридной функции + полный контроль квантования – контекст блокирует приложение – применяется только один CPU


Слайд 9

Многопоточность


Слайд 10

Многопоточность + применяется несколько CPU + не требуется макро синхронизация + конкурентный ввод/вывод v достаточная эффективность v физический контроль квантования v дискретная модель гибридной функции v частичная изоляция контекста – требуется микро синхронизация


Слайд 11


Слайд 12

Мультиплексирование: уровни абстракции Системные функции poll, select, epoll, kqueue Библиотеки libevent Конечные автоматы POE - событийная машина на Perl Распределённые объекты CORBA


Слайд 13

POE: производительность + быстрее, чем mod_perl / FastCGI ? медленнее, чем libevent + синхронный ввод/вывод 100-1000 прикладных запросов в секунду


Слайд 14


Слайд 15

Кластеризация событийных машин


Слайд 16

Объединение HTTP сервисов


Слайд 17

Спасибо за внимание! Сетевая многозадачность: событийные машины Павел Кудинов Агентство «Точка Кипения» Технический директор pavel@kudinov.name pavel-kudinov pavel-kudinov


×

HTML:





Ссылка: