Как стать автором
Обновить
17.2
Карма
0
Рейтинг
Юрий Ярош @voidnugget

Rapid Unscheduled Disassembly Expert

Использование DPDK для обеспечения высокой производительности прикладных решений (часть 0)

Высокая производительностьJava
Recovery mode

Kernel is the root of all evil ⊙.☉


Сейчас вряд ли кого-то удивить использованием epoll()/kqueue() в поллерах событий. Для решения проблемы C10K cуществует довольно много разнообразных решений (libevent/libev/libuv), с разной производительностью и довольно высокими накладными расходами. В статье рассматривается использование DPDK для решения задачи обработки 10 миллионов соединений (С10M), и достижение максимального прироста производительности при обработке сетевых запросов в распространённых прикладных решениях. Главной особенностью подобной задачи является делегирование ответственности обработки трафика с ядра ОС в пользовательское пространство (userspace), точный контроль обработки прерываний и каналов DMA, использование VFIO, и много других не очень понятных слов. В качестве целевого прикладного окружения было выбрано Java Netty с использованием Disruptor паттерна и offheap кэширования.



Если кратко — это очень эффективный способ обработки трафика, по производительности близкий к существующим аппаратным решениям. Накладные расходы от использования средств предоставленных самим ядром ОС — слишком велики, и для подобных задач оно является источником большинства проблем. Сложность заключается в поддержке со стороны драйверов целевых сетевых интерфейсов, и архитектурных особенностях приложений в целом.

В статье очень детально рассмотрены вопросы установки, настройки, использования, отладки, профилирования и разворачивания DPDK для построения высокопроизводительных решений.

Welcome to the dark side!
Рейтинг 0
Просмотры12.9K
Комментарии 31

Новости

Показать еще

Маленькие, и не очень, размышления о SOA, или жизнь в MVC-beyond мире (часть 0)

Анализ и проектирование системПроектирование и рефакторинг
Привет всем, меня зовут Юра.
Сегодня я хотел бы поделиться с вами своим опытом и идеями в сфере проектирования и разработки ПО, развеять некоторые предрассудки и пролить свет на текущее состояние SOA решений в нашем, не совсем "реактивном", мире. О том, как писать меньше кода, получать меньше недовольных клиентов, седины, и больше профита. Реализовывать полностью реюзабельные решения без побочных эффектов, и почему до сих пор этого никто не сделал ⊙.☉




Впитать отсебятинку
Рейтинг 0
Просмотры4.9K
Комментарии 4

freelance — you're doing it wrong!

Фриланс
Доброго времени суток уважаемые хаброжители, меня зовут Юра, и сегодня я поведаю вам о проблемах высокотехнологичного отпрыска удалённой работы — фриланса, а именно о разработке мобильных, десктопных и вэб-приложений, вёрстке и дизайне. Работаю я в этой сфере достаточно недавно, буквально с 2008го, и опыта хорошего и плохого у меня накопилось достаточно много. Цель данной публикации — показать разницу между простыми сотрудниками и фрилансерами, а также — показать основные организационные проблемы, которые возникают при разработке и проектировании программного обеспечения. Я надеюсь, что этот пост поможет прояснить некоторые производственные моменты, которые могли бы быть не совсем очевидны для разработчиков и их руководства.

Суждения в данной статье субъективны — сплошная концентрированная «отсебятинка».
Они основаны на моём личном опыте и опыте людей с которыми я общаюсь.
PAIN INSIDE
Всего голосов 86: ↑62 и ↓24 +38
Просмотры43.9K
Комментарии 82

Обзор протокола RTMFP

Adobe Flash
Из песочницы

Доброго времени суток


Сегодня я расскажу о замечательном протоколе вещания RTMFP. В нём реализовано много интересных подходов и бытует очень много предрассудков относительно его возможностей. Хочу подогреть интерес к этой теме и развеять существующие иллюзии. Я не нашёл ничего лучше для вещания в реальном времени, и решил написать этот пост.
Читать дальше →
Всего голосов 18: ↑17 и ↓1 +16
Просмотры13.2K
Комментарии 31

Информация

В рейтинге
5,857-й
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность