Vlad
Анкенту влом заполнять. Я вроде числюсь в ИТМО, мб меня и так пустят =D
Anonymous
нет, ее надо заполнить, организатор не итмо
Vladimir
Vladimir
у меня вк заблочен
Vladimir
спасибо
Vladimir
да вроде не так много вопросов
Vladimir
но да, собирают базу для рекрутинга
Vladimir
мне кажется если ты напишешь минусы
Vladimir
тебя все равно пригласят
Vlad
Vladimir
ну типа там где обязательное поле, просто оставишь минус, если не хочешь делиться инфой
Vlad
М, так и сделаю. Если не пригласят, я не сильно расстроюсь :)
Vladimir
но лично я не знаю, чем это тебе навредит, если поделишься инфой о себе рекрутерам
Vlad
Просто ВЛОМ
Vladimir
Никто не слышал о реализациях синхронных протоколов для IPC?
Vladimir
точнее, главное чтоб синхронным было API. Понятно что внутря будет асинхронщина
Vladimir
хотя я наверное не правильно описал, ибо под это описание подходят даже сокеты с блокирующим IO.
Хотелось бы имитировать генераторы, только в IPC.
Т.е. не просто отправку, а отправку и получение результата (на одной стороне) А на другой вечный цикл ожидающий заданий
Маjко
N потоков на N запросов тогда будет
Маjко
В чем смысл асинхронности при синхронном интерфейсе?
Маjко
Все равно ж будешь главный поток блокировать этим синхронным интерфейсом
Маjко
Так же как в го сделать не получится
Vladimir
Vladimir
изоляция
Vladimir
идея основывается на том, что если главный поток будет блокироваться, то передача сообщения туда и обратна, будет относительно дешевой операцией
Vladimir
дешевой в плане потребления времени
Маjко
Да какая разница? Синхронный интерфейс с ожиданием ответа == блокировка потока.
Ты можешь из N потоков просто использовать сокет с jsonrpc каким-нибудь
Маjко
То ж самое будет
Маjко
Ну или объясни на чем тут будет экономия времени?
Vladimir
меня интересует именно формат "запрос-ответ", 1 к 1
Существует ли что-то готовое для такого узкого кейса.
Vladimir
ладно, забей на мой исходный вопрос.
Vladimir
насчет экономии времени
Vladimir
У меня мак завис, перехожу на телефон
Vladimir
тут не экономия времени, а скорее скорость реагирования важна
Vladimir
Короче хочется rpc. Который будет оптимизировн для такой узкой задачи, и задержка между "вызовами" была сравнима с нативный вызовом функции
Vladimir
Так более понятно?
Alexander
тот же zeromq даст это
Alexander
он дурацкий правда
Vladimir
Но zeromq разве не асинхронный?
Alexander
внутри да, но Req-Rep сокеты вполне синхронные
Alexander
т.е. его можно использовать синхронно
Vladimir
че такое реп реп сокеты
Vladimir
в двух словах обьяснить?
Alexander
их абстракция над сокетами
Alexander
там у каждого сокета есть свой тип Request, Reply, Push, Pull, Dealer, Router
Alexander
со своими свойствами, и из них можно делать сеть удовлетворяющую требованиям
Vladimir
спасибо я гляну в zmq. но почему-то мне кажется что это все равно немного не то
Vladimir
а их сокеты поверх обычных?
Alexander
да
Alexander
а вообще у тебя кто общаться будет?
Vladimir
два процесса, сервер и клиенты
Alexander
локально/удаленно/платформонезависимо и все такое
Vladimir
клиенты ждут от сервера разрешения, и переодически шлют запросы на данные серверу
Vladimir
этот алгоритм синхронный
Vladimir
локально не важно пока по платформе, сейчас просто обзор
Alexander
просто если оно и в будущем локально, то открывается набор доп методов, а так же другие ограничения на завержки и т.п.
Vladimir
да, это будет только локально, про это и речь
Vladimir
по этому скорее всего строиться в перспективе будет поверх разделяемой памяти, чтобы иметь возможность работать без сисколов вообще
Vladimir
т.е. есть условно 1 кпу тупо для ядра и 1 кпу для дочернего процесса
Alexander
а там частое общение? т.к. shmem => поллинг ручной
Alexander
иначе какие-нить eventfd/futex и таки придётся сисколы делать
Vladimir
ориентированность на частое общение
Alexander
+
Vladimir
да, я смотрю в nano message и правда Rep-Req очень похоже на то что я хочу х)
Vladimir
Правда я хочу только это, и в идеале оптимизировать для большого количества rep-req
Маjко
В качестве велосипедного бреда: можно взять какой-нибудь быстрый бинарный serde, обмазаться shm и синхронизировать это всё через pthread_condvar
Vladimir
так не хочу ж я сисколы
Vladimir
по этому pthread вроде как не
Маjко
Как ты будешь делать IPC без сисколлов?
Маjко
read/write это тоже сисколлы
Vladimir
mmap
Vladimir
или как там
Маjко
Это сисколл
Маjко
Привет
Vladimir
1
Alexander
это инициализация
Vladimir
при инициализации
Маjко
pthread это не сисколлы
Alexander
mmap +анонимный, плюс послать его fd по unix совету другим тредам