Reputation: 20119
What changes, if any, would an operating system need to implement to take full advantage of multicore systems? I ask this because I'm doing some research on parallel algorithms and the scheduler, for example, gets in my way of more theoretically-driven work. Are there other issues?
Upvotes: 3
Views: 257
Reputation: 43688
Besides what it has to do for taking full advantage of SMP, it's also convenient to be able to have some knowledge of hierarchy and relative costs, see this LWN article about scheduling domains.
Upvotes: 1
Reputation: 2011
Thread migration, load balancing, core affinity for threads. If "full advantage" means optimal usage then load balancing in particular probably makes it practically impossible. If "full advantage" has some leeway a few simple heuristics can probably go a long way. Any "non-uniform access" resource (such as if one particular core handles all interrupts for a network interface for instance) will add complications to the load balancing decisions.
Upvotes: 1