[erlang-questions] How does Erlang schedule process?

Björn-Egil Dahlberg XB <>
Tue Mar 8 19:06:17 CET 2016


This thesis gives some background and orientation:
Characterizing the Scalability of Erlang VM on Many-core Processors 
(Jianrong Zhang)
http://www.diva-portal.org/smash/get/diva2:392243/FULLTEXT01.pdf
It's from 2011 so the information is not up to date on but should be 
good enough.

For details, look at
https://github.com/erlang/otp/blob/maint/erts/emulator/beam/erl_process.c#L9368-L9972 
and
in beam_emu.c.

Start with the thesis.


On 2016-03-08 18:12, Jung Kim wrote:
> I am very new to Erlang, and just read that Erlang style process is 
> done with something similar to coroutine + preemptive scheduling[1]. 
> So I am interested to know how Erlang schedule process without the 
> user inserting code like coroutine.yield() in the function created. Is 
> there any document detail about this (I find some discussion like [2] 
> but that doesn't give me a clear blueprint)? Or which part of source 
> code should I look into?
>
> I appreciate any suggestions.
>
> [1]. 
> https://hamidreza-s.github.io/erlang/scheduling/real-time/preemptive/migration/2016/02/09/erlang-scheduler-details.html
> [2]. http://erlang.org/pipermail/erlang-questions/2001-April/003132.html
>
>
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20160308/2c777f23/attachment.html>


More information about the erlang-questions mailing list