Le 04/11/2014 15:30, Igor Stasenko a écrit :

Do you create socket via zeromq library, do sockets managed through it?

yes

To make sockets to not block the VM, just using a nice library is not
enough: you must wire the socket events with VM process scheduling logic
through signaling the semaphores etc.. Else you must always use
non-blocking calls in C library.
yes, this is done by zeromq, and one can specify blocking
or non blocking socket option. By default (according to zeromq api) it
should be blocking but it is not, I do not specify non blocking,
but it is not blocking.



Well, parallel computing is broad area.. with zillions goals and solutions.
The setup you described is not what i wanted to achieve with Hydra.
Yes, I know, I know that you know, and now you know that I know that ... :)
I made experiments with hydra in the past, I liked the idea very much.
For now, personal circumstances allows me to have much more time to
work on what interests me (still not enough but more than in the past)

Running multiple instances of same VM ~= running single instance of VM
which can manage multiple native threads.  But sure thing you can
achieve similar results using both approaches. The difference is in how
fine grained your control over consumed resources, namely memory and CPU.

Working (more helping) on heavy load performance benchmarks on a very different platform (IIS, dotNet, MsSql), I got convinced that multiple single threaded programs could achieve at least the same or a higher throughput
than the (even well written) single multi-threaded equivalent
with a good nolocking behavior, less synchronisation and delays
(semaphores, locks, critical sections),
less cpu false sharing and cache invalidation...

Regards,

Alain



--
Best regards,
Igor Stasenko.



Reply via email to