I am just wondering...separating the in-game features would be possible / cores? [I am really clueless, so if the question makes no sense, just let me know.. ]
Temperature, Weather + all associated processes -> Core1
Pathfinding -> Core2
Fluids, Cave-ins etc -> Core3
etc.
Generally speaking load balancing is a kernel function-- It something that Linux put a lot of thought into long ago and, Unix before that, and where Windows is catching up. It's actually one of the most critical functions in OS design. Basically, you want to try to spread the load as much as possible-- but if you're too aggressive you can spend all of your time shuffling processes and too little time actually processing (too low a processor affinity.). If you're not aggressive enough you'll end up with some CPUs cores saturated while other sit idle (too high an affinity). There's the case where you have something like DF hosing one core, but balancing the other 100 or so (or many many more in some cases.) 'light' processes is tricky. There are real gains in process management if you only have one core (AKA- There's less to manage), and as a general rule the more Cores / CPUs you have the more affinity there should be because the management overhead generally doesn't scale linearly... At a certain point all OSes 'go pathological' and you (The Kernel) spends so much time trying to manage threads / processes / etc and balancing loads that adding more cores / CPUs can decrease performance... At that point you should be looking at grid, distributed, or parallel solutions...
edit: But one would hope that's well beyond the scope of DF.