Comments (4)
Hi @plied ,
Just came across this issue.
Have you tried ZMQ_AFFINITY
with zmq_ctx_set()
and play with ZMQ_THREAD_SCHED_POLICY
and ZMQ_THREAD_PRIORITY
? There are many options there to bind a socket to specific IO thread with defined priority.
Btw, zmq_init()
is deprecated by zmq_ctx_new()
.
from libzmq.
None of the above seem to make a big difference, I tried the following:
ZMQ_THREAD_SCHED_POLICY=SHED_FIFO
ZMQ_THREAD_PRIORITY=99
ZMQ_AFFINITY=1
It seems like the ZMQ_THREAD_SCHED_POLICY
does improve the latency but minimally, but it still does not get anywhere close to the expected latency.
from libzmq.
Came across a similar issue which leads me to this issue. Could it be due to the processes are put to slept by the CPU scheduler and hence need to be re-scheduled for execution before the messages can be processed?
This can affect both the local and remote processes IMO.
One way to validate this hypothesis is to give the process high priority and use a real-time kernel.
from libzmq.
It could be something like that, however I did achieve super good and consistent performance using aeron on the same OS and kernel and without tweaking any scheduler configs. My hunch is that something within ZMQ itself is missconfigured but I cant find out what.
from libzmq.
Related Issues (20)
- How can I clear the internal buffer of ZMQ multicast without closing the socket?
- Add more guidance on error handling in the guide/docs
- Too many resets on loopback after socket.connect() call HOT 1
- cmake: ZMQ_WIN32_WINNT autodetection broken when cross-compiling with mingw-w64
- When the topic length of sub exceeds 15kb, xpub crashes when calling zmq_msg_recv.
- Latest libsodium has deprecated functions, causing it not to compile HOT 1
- tools: curve_keygen not built when building with cmake, ninja HOT 2
- No IPC Support for Windows, probably because of missing AF_UNIX support? HOT 1
- Curve not working on ZeroMQ on IoS HOT 1
- test_busy_poll.cpp missing from zeromq 4.3.5 tarball HOT 1
- Large stacks in ZeroMQ threads lead to inflated crashpad minidumps on Windows
- build fail on Ubuntu 24.04 LTS: autogen.sh stopped with error HOT 1
- Why am I no longer on the contributor list? HOT 2
- Bad file descriptor while retrieving peer address HOT 1
- How to compile the libzmq library with ipv6 protocol in openEuler? HOT 1
- Consumer threads can never be awakened use ypipe_t
- Is there a way to reset ZMQ_PUSH underlying pipe without re-creating another ZMQ_PUSH zmq_socket?
- Small memory leak with 4.3.4 from get_buffer
- UAF handling PGM dataloss event
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libzmq.