[erlang-patches] Pollset per scheduler and bind port to scheduler
Lukas Larsson
lukas@REDACTED
Wed Jul 11 16:44:44 CEST 2012
Hi,
The reason I'm skeptical about anything which binds processes/ports to
scheduler is that it feels like a temporary solution and would much
rather do a proper solution where the scheduler takes care of these
things for you. But as I said, internally we need to talk this over when
it is not in the middle of summer vacation.
I did some benchmarking using ab and found basically the same figures as
you. The below is with keep-alive and the values are requests per second:
not-bound bound
R15B01 44k 37k
master 44k 35k
master+mp 48k 49k
master+mp+pb 49k 55k
[mp]: multi-poll patch
[pb]: port bind patch
[bound]: Used {scheduler,I} to spread load
Unfortunately I also found that when doing the non-keep alive benchmark
the performance is seriously degraded.
R15B01 not-bound 8255
master+mp+pb not-bound 7668
master+mp+pb bound 5765
I did some gprof runs but could not find anything obvious that is going
wrong.
Lukas
On 11/07/12 04:21, Wei Cao wrote:
> I added a macro to conditional compile the patch because I think it
> can be more selectable, I can remove the macro, fix the compilation
> error and test on mingw platform in later version.
>
> how about provide another BIF named port_flag (like process_flag) to
> let user bind port to a given scheduler?
>
>
More information about the erlang-patches
mailing list