Using shared memory for read-mostly RPC services
© 1996 IEEE This paper describes object-based runtime support for eficient access to protected objects, i.e., objects belonging to server programs that export protected services to untrusted clients. Modern operating systems use hardware-based protection domains to protect a server’s objects; clients can access those objects only through cross-domain (RPC) calls to methods that execute within the server’s domain. Unfortunately, exclusive use of RPC compromises performance in exchange for protection. We show how to provide safe and eficient access to server data by client read-sharing of some server objects and methods. Local client calls to read-only methods execute directly in shared memory, without the cost of protection crossing. W e introduce a version-based mechanism to synchronize the readers with write-methods executing in the server domain. Object-based proxies hide the use of shared memory from client programs. Measurements of a simple application demonstrate that our techniques can deliver performance close to an unprotected implementation, but with the modularity and server protection of traditional RPC.
Schmidt, RW; Levy, HM; Chase, JS
Volume / Issue
Start / End Page
International Standard Serial Number (ISSN)
International Standard Book Number 10 (ISBN-10)
Digital Object Identifier (DOI)