[erlang-questions] How to setup Erlang to run on physical cores
Vans S
vans_163@REDACTED
Mon Oct 17 17:11:27 CEST 2016
> Yes, I don't use the hyperthreaded CPUs. But that was the point of the original question: how to disable hyperthreading for Erlang?> If you want better control over which cores to use, you need to use +sct, I agree.
Your right my mistake. I misread the initial question thinking it said "how to choose the physical cores erlang runs on and to not run it on hyperthreaded cores".
On Monday, October 17, 2016 10:55 AM, Dániel Szoboszlay <dszoboszlay@REDACTED> wrote:
Yes, I don't use the hyperthreaded CPUs. But that was the point of the original question: how to disable hyperthreading for Erlang?If you want better control over which cores to use, you need to use +sct, I agree.
On Mon, 17 Oct 2016 at 16:38 Vans S <vans_163@REDACTED> wrote:
> I have 2 schedulers bound to logical cores 0 & 1, exactly as intended.
Now bind them to cpus 1 and 3.
You got bound to 0 and 1 by default. Also erlang is not using the hyperthreaded cpus you have available.
On Monday, October 17, 2016 10:33 AM, Dániel Szoboszlay <dszoboszlay@REDACTED> wrote:
Well, I tested, and it does work as long as you have 2 thread/core:
erl +sbt ts +SP 50:50Erlang/OTP 17 Klarna-g48fc1a0 [erts-6.4.1.5] [source-48fc1a0] [64-bit] [smp:2:2] [async-threads:10] [kernel-poll:false]
Eshell V6.4.1.5 (abort with ^G)1> erlang:system_info(cpu_topology).[{processor,[{core,[{thread,{logical,0}}, {thread,{logical,2}}]}, {core,[{thread,{logical,1}},{thread,{logical,3}}]}]}]2> erlang:system_info(scheduler_bindings).{0,1}
I have 2 schedulers bound to logical cores 0 & 1, exactly as intended.
On Mon, 17 Oct 2016 at 16:05 Vans S <vans_163@REDACTED> wrote:
> You may both want to look at the +sct option for the erl executable: > http://erlang.org/doc/man/erl.html#+sct
This is the right answer.
> erl +sbt ts +SP 50:50
This wont bind to the specific system cores. It will use all cores the OS allows.
On Monday, October 17, 2016 9:51 AM, Fred Hebert <mononcqc@REDACTED> wrote:
On 10/17, Vans S wrote:
>I am interested in this too. Only way I know of so far is to use taskset or equivalent. Ideally Erlang should bind each scheduler to each single cpu as speced by the topology.
>
> On Monday, October 17, 2016 9:35 AM, Tan Duong <dn.nhattan@REDACTED> wrote:
>
>
> Hi everybody,
>I recently get to experiment an Erlang program.My machine is a multicore CPUs system, which contains some physical cores (say n), each cores features hyper threads (so the maximum CPU threads are 2*n)However, I just want to experiment the program on physical cores only (n cores), not with hyperthreading.is there any mechanism to do so?
>Best Regards,Tan
You may both want to look at the +sct option for the erl executable:
http://erlang.org/doc/man/erl.html#+sct
Regards,
Fred.
_______________________________________________
erlang-questions mailing list
erlang-questions@REDACTED
http://erlang.org/mailman/listinfo/erlang-questions
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20161017/6e503b9b/attachment.htm>
More information about the erlang-questions
mailing list