HighLoad 2007 презентация

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

Слайд 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 частичная изоляция контекста
– требуется микро синхронизация






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

Perl
Распределённые объекты
CORBA




Слайд 14POE: производительность
+ быстрее, чем mod_perl / FastCGI
☺ медленнее, чем libevent
+ синхронный

ввод/вывод


100-1000 прикладных запросов в секунду




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



Слайд 17Объединение HTTP сервисов



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




Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика