We would expect that fine-grained, compartmentalized systems, that is, microkernel-based multi-server systems in particular, would be ideal candidates for applying multiprocessing. That is, however, only true from a first and inexperienced point of view: there are many difficulties.
IRC, freenode, #hurd, August / September 2010
<marcusb> silver_hook: because multi-server systems depend on inter-process communication, and inter-process communication is many times more expensive across cpus <marcusb> silver_hook: so you either force interrelated work on the same cpu, or suffer heavy penalties. and in a typical fine-grained object system, all objects are interconnected! <marcusb> silver_hook: resources in today's systems, even in a single node with one cpu, but more so in a network, are very non-uniform. scheduling these resources efficiently is a huge problem. restricting the resource distribution policies in the way microkernel systems tend to do is posing serious research challenges
IRC, freenode, #hurd, 2011-07-26
< braunr> 12:03 < CTKArcher> and does the hurd take more advantages in a multicore architecture than linux ? < braunr> CTKArcher: short answer: no < CTKArcher> it's easier to imagine one server pro core than the linux kernel divided to be executed on multiple cores < braunr> CTKArcher: this approach is less efficient < braunr> CTKArcher: threads carry state, both explicit and implicit (like cache data) < braunr> CTKArcher: switching to another core means resetting and refetching this state < braunr> it's expensive and there is no gain obtained by doing this < braunr> thread migration (having a thread from a client also run in servers when making synchronous RPC, even handling its own page faults) was implemented in mach4 and is imo a very good thing we should have < braunr> CTKArcher: and concerning linux, it's actually very scalable < braunr> it's already like if all client threads run in servers (the kernel is the servers there) < braunr> rcu is used a lot < braunr> thread migration already takes into account smt, cores, and numa < braunr> it's hard to do something better < braunr> (here, thread migration means being dispatched on another cpu)
On Thu, Jan 02, 2003 at 05:40:00PM -0800, Thomas Bushnell, BSG wrote:
Georg Lehner writes:
- One promise of the microkernel architecture is better performance on multiprocessor systems, or multicomputer systems. What is the status of Gnu Mach with respect to these.
This may or may not be true. The Hurd is built around a microkernel architecture because of its conceptual elegance and flexibility. Other touted advantages may be more illusory than real, at least, they aren't something we are proclaiming is our motivation.
See also: multithreading.