I understand that the Haskell runtime creates an OS thread on every core or so. Lightweight threads / user threads are then scheduled by the runtime onto these pre-deployed OS threads. Roughly.
But how is the Haskell runtime structured - is it monolithic, or made up of seperate parts?
What I really want to know is how scalable and distributable the RT itself is across cores - for example, can I in theory have a 1000 core system and start a Haskell RT on 5% of the cores (either as 50 independent or distributed RTs)?