[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] [[!tag open_issue_hurd]] We would expect that fine-grained, compartmentalized systems, that is, microkernel-based multi-server systems in particular, would be ideal condidates for applying multiprocessing. That is, however, only true from a first and inexperienced point of view: there are many difficulties. IRC, #hurd, August / September 2010 silver_hook: because multi-server systems depend on inter-process communication, and inter-process communication is many times more expensive across cpus 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! 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 --- See also: [[multithreading]].