Re: DBus
On Mon, May 27, 2013 at 07:55:26PM +0400, Иван Лох wrote:
> Вы намекаете, что все сообщения должны быть широковещательными? Не
> думаю, что это хорошо из соображений производительности хотя бы.
Какая, собственно, разница между малтикастом и юникастом с точки
зрения затрат на маршрутизацию? Никакой. Если адрес не хэширован,
в любом случае будет фулскан таблицы получателей. Если хэширован,
то после вычисления хэша -- фулскан списка адресов, для которых хэш
принимает нужное значение. То есть природа адреса здесь не роялит.
Вот между средой с адресацией и p2p-линком разница есть: во втором
случае маршрутизация не нужна. Но тогда N^2, якобы. На самом деле
никакого N^2 не будет, потому что нет нужды каждому приложению
связываться с каждым. В лучшем случае будет N(a+b*log(N)), причём
N будет порядка 10-30, так что проблема с N^2 немного надуманная...
Затем доставка. В любом случае каждому приложению отдельно, в свой
юзерспейсный буфер. Задача на порядок-другой более тяжёлая, нежели
маршрутизация с любыми хэшами. Хэши-то на современных процессорах
считаются в регистрах, очень быстро, а копировать нужно из памяти
в память. И здесь очень трудно что-то наоптимизировать. Более того,
малтикаст здесь вроде как выигрывает из-за возможности оптимизаций
вроде zerocopy, со счётчиками ссылок, таймерами и т.п. Где возможно
и не было лень -- оно уже сделано в сетевой подсистеме. Так что я
вполне понимаю Давида Миллера, отклонившего AF_BUS со словами
"Это лучше делать в юзерспейсе, обычным сетевым инструментарием".
> Неудачно спроектированное приложение при таком подходе сможет
> замедлять работу системы. В D-Bus это не так.
Что там так круто в архитектуре dbus, что он выигрывает у обычной сети?
Нам рассказывают про какие-то странные "достоинства" dbus'а вроде
надёжной доставки широковещательных сообщений. Мне интересно, как это
себе представляют авторы: если подписчик не читает свои сообщения,
что должен делать демон, озабоченный гарантированной доставкой?
Раздуть свою память, загнать систему в своппинг и тем завалить?
Или есть другие варианты?
--
Eugene Berdnikov
Reply to:
- References:
- DBus
- From: Dmitrii Kashin <freehck@gmail.com>
- Re: DBus
- From: Artem Chuprina <ran@ran.pp.ru>
- Re: DBus
- From: Dmitrii Kashin <freehck@gmail.com>
- Re: DBus
- From: Жанибек Нагашыбай <njm.janik@yandex.ru>
- Re: DBus
- From: Konstantin Matyukhin <kmatyukhin@gmail.com>
- Re: DBus
- From: Покотиленко Костик <casper@meteor.dp.ua>
- Re: DBus
- From: Artem Chuprina <ran@ran.pp.ru>
- Re: DBus
- From: Иван Лох <loh@1917.com>
- Re: DBus
- From: Dmitrii Kashin <freehck@gmail.com>
- Re: DBus
- From: Иван Лох <loh@1917.com>