Abstract
The practicality of Remote Procedure Call(RPC) systems is well recognized and used as the basis for many experimental and commercial distributed systems. However, compared with an ordinary procedure call, conventional RPC systems have a crucial restriction: pointers cannot be used as the arguments of remote procedure without explicit and nontrivial programming efforts. This paper describes the design and implementation of method that eliminates this restriction in current computing environments without extra hardware support. The method enables transparent treatment of pointers in RPC based on caching techniques using shared memory manipulation, pointer swizzling, and coherency protocol. To validate the usefulness of the proposed method, an experimental RPC system was implemented on Linux-based workstations connected to a 10 Mbps Ethernet network. Compared to conventional methods, experiments show that the method provides performance that is proportional to the access ratio of the remotely referenced data.
Preview
Unable to display preview. Download preview PDF.
References
Batlivala, N., Gleeson,B., and etc.: Experience with SVR4 Over Chorus. Proc. USENIX Workshop on Microkernels and Other Kernel Architectures. USENIX. (1992) 223–241
Boykin, J. Kirschen, D., and etc.: Programming Under Mach, Reading, MA. Addison-Wesley. (1993)
Bershad, B.N., Anderson, T.E., and etc.: Lightweight Remote Procedure Call. ACM Trans. on Computer Systems. 8 Feb. (1990) 37–55
Bever, M., Geihs, K., and etc.: ”Distributed Systems, OSF DCE, and Beyond” in DCE-The OSF Distributed Computing Environment. A. Schill(ed.). Berlin: Springer-Verlag. (1993) 1–20
Shirley J.: Guide to Writing DCE Applications. O'Reilley & Associates (1993)
Tannenbaum A. S.: Distributed Operating Systems. Prentice Hall (1995) 68–86
Orfali, R., Harkey, D., Edwards, J.: The Essential Distributed Objects Survival Guide. Wiley (1996)
O'Reilley & Associates: Guide to OSF/1 A Technical Synopsis (1991)
Stevens W. R.: Advanced Programming in the UNIX Environment. Addison-Wesley Publishing Company (1992) 463–470
Cattell R G G.: Object Data Management-Object-Oriented and Extended Relational Database Systems. Addison-Wesley (1991)
Moss J E B: Working with persistent objects: to swizzle or not to swizzle. IEEE Trans. Software Engineering. 18(8) Aug (1991) 657–673
Hagimont, D., chevalier, P. and etc.: Persistent Shared Object Support in the Guide System. OOPSLA '94 Conf. Proc. Oct. (1994) 129–144
Sun Microsystems: SUN OS Reference Manual. (1988)
Wilson P.: Pointer swizzling at page fault time: efficiently supporting huge address spaces on standard hardware. ACM Computer Architecture News. Jun (1991) 6–13
Hermannson, G., and Wittie, L.: Optimistic Synchronization in Distributed Shared Memory. In Proc. 14th Int. Conf. on Distributed Computing System. (1994) 345–354
Zhou S., Stumm M., Li K., and Wortman D..: Heterogeneous distributed shared memory. IEEE Trans. Software Engineering. 3(5) Sep. (1992) 540–554
Boutell T., Wirzenius L.: Linux Software Map http://www.boutell.com/lsm/lsmbyid.ogi/000963. Feb. (1996)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kim, S., Hyun, M., Lee, S. (1997). Transparent treatment of remote pointers using IPC primitive in RPC systems. In: Panda, D.K., Stunkel, C.B. (eds) Communication and Architectural Support for Network-Based Parallel Computing. CANPC 1997. Lecture Notes in Computer Science, vol 1199. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-62573-9_9
Download citation
DOI: https://doi.org/10.1007/3-540-62573-9_9
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-62573-5
Online ISBN: 978-3-540-68085-7
eBook Packages: Springer Book Archive