Асинхронная обработка в высокопроизводительных системах Основная секция
Тезисы
Асинхронная обработка в высокопроизводительных системах / Иван Панченко (Стек)
Тезисы
Взаимодействие Веба с пользователем, в принципе, асинхронно. Это можно использовать для повышения эффективности многих процессов.
Оказывается, что и на сервере оказывается часто более естественной асинхронная, а не синхронная обработка.
Под асинхронной обработкой будем понимать возможность основному «контролирующему процессу» запустить «подпроцесс», и, не ожидая его завершения, продолжать свою работу, получив результаты «подпроцесса» тогда, когда они будут готовы.
При этом понятие "процесс" не следует ограничивать рамками процесса ОС.
В сложных системах неизбежно разделение процессов и, как следствие, взаимные ожидания.
Асинхронизм дает возможность повысить эффективность использования ресурсов, поскольку избавляет от ожидания.
Что и как может быть сделано асинхронно на сервере, какие тут плюсы и минусы? В каких случаях выигрыш от асинхронизма компенсирует усложнение системы?
Рассмотрим несколько практических задач, начав с простой асинхронного выполнения длительной вычислительной или коммуникационной задачи; перейдем затем к асинхронным апдейтам данных, и к мультагентному асинхронному диспетчеру. Нельзя не упомянуть и ряд вспомогательных асинхронных типов задач, связанных с очисткой мусора, мониторингом, и т.д.
О докладчике
Иван Панченко
Контакты: ivan@stack.net