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 -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20130527192329.gf3...@sie.protva.ru