000192943 001__ 192943
000192943 005__ 20190916121805.0
000192943 0247_ $$a10.1145/1217935.1217953$$2doi
000192943 037__ $$aCONF
000192943 245__ $$aLanguage Support for Fast and Reliable Message Based Communication in Singularity OS
000192943 269__ $$a2006
000192943 260__ $$c2006
000192943 336__ $$aConference Papers
000192943 520__ $$aMessage-based communication offers potential benefits of providing stronger specification and cleaner separation between components. Compared with shared-memory interactions, message passing has the potential disadvantages of being more expensive (no direct sharing), and more complicated to program. In this paper we report on the language, verification, and run-time system features that make messages practical as the sole means of communication between processes in the Singularity operating system. We show that using advanced programming language and verification techniques, it is possible to provide and enforce strong system-wide invariants that enable efficient communication and cheap software-based process isolation. Furthermore, specifications on communications help in detecting programmer mistakes early-namely at compile-time-thereby reducing the difficulty of the message-based programming model. The paper describes our communication invariants, the language and verification features that support them, as well as implementation details of the channel infrastructure. A number of benchmarks are used to show the competitiveness of this approach.
000192943 700__ $$aFähndrich, Manuel
000192943 700__ $$aAiken, Mark
000192943 700__ $$aHawblitzel, Chris
000192943 700__ $$aHodson, Orion
000192943 700__ $$aHunt, Galen
000192943 700__ $$aLarus, James R.
000192943 700__ $$aLevi, Steven
000192943 773__ $$t1st ACM SIGOPS/EuroSys European Conference on Computer Systems$$q177-190
000192943 909C0 $$xU12814$$pUPLARUS$$0252497
000192943 909CO $$ooai:infoscience.tind.io:192943$$qGLOBAL_SET$$pconf$$pIC
000192943 937__ $$aEPFL-CONF-192943
000192943 973__ $$rREVIEWED$$sPUBLISHED$$aOTHER
000192943 980__ $$aCONF