Scalable distributed systems, systems which suffer no degradation as the number of computing nodes becomes larger, require a programming methodology where an application developer may take existing software modules and plug them together to form a new application. To allow mistrusting modules to interact, the underlying kernel support must offer protection barriers which do not impede performan...