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)
debian-hurd list
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.