Lukas Larsson - Understanding the Erlang Scheduler

In Erlang there are different types of concurrent entities, processes, ports etc., each of which can have millions of instances, that have to be mapped out to make optimal usage of the hardware. The Erlang scheduler is a master piece in software engineering, but how does it actually go about scheduling the processes you create in your programs?