This Article 
 Bibliographic References 
 Add to: 
Implementing Remote Evaluation
July 1990 (vol. 16 no. 7)
pp. 710-722

Remote evaluation (REV) is a construct for building distributed systems that involves sending executable code from one computer to another computer via a communication network. How REV can reduce communication and improve performance for certain classes of distributed applications is explained. Implementation issues are discussed. REV is incorporated into a high-level programming language by defining its syntax and its semantics. The compile-time and run-time support for REV is discussed in both heterogeneous and homogeneous systems and compared to that needed by a remote procedure call implementation. Sample performance measurements are included. Experience with a prototype REV implementation is summarized.

[1] Adobe Systems,Postscript Language Reference Manual, Addison-Wesley, Reading, Mass., 1985.
[2] A. D. Birrell and B. J. Nelson, "Implementing remote procedure calls,"ACM Trans. Comp. Syst., vol. 2, no. 1, pp. 39-59, Feb. 1984.
[3] F.W. Burton, "Annotations to Control Parallelism and Reduction Order in the Distributed Evaluation of Functional Programs,"ACM Trans. Programming Languages and Systems, April 1984, pp. 159-174.
[4] D. Daniels. P. Selinger, L. Haas, B. Lindsay, C. Mohan, A. Walker, and P. Wilms, "An introduction to distributed query compilation in R*," inProc. Second Int. Symp. Distributed Databases, Sept. 1982, pp. 291-309.
[5] D. E. Eastlake, III, "Tertiary memory access and performance in the datacomputer," inProc. Third Int. Conf. Very Large Data Bases, Oct. 1977, pp. 259-267.
[6] J. Falcone, "A programmable interface language for heterogeneous distributed systems,"ACM Trans. Comput. Syst., vol. 5, pp. 330-351, Nov. 1987.
[7] J. Farrell, "The datacomputer-A network data utility," inProc. First Berkeley Workshop Distributed Data Management and Computer Networks, May 1976, pp. 352-364.
[8] R. S. Gaines, "An operating system based on the concept of a supervisory computer,"Commun. ACM, vol. 15, no. 3, pp. 150-156, Mar. 1972.
[9] D. K. Gifford, "Information storage in a decentralized computer system," Xerox PARC, Tech. Rep. CSL-81-8, Mar. 1982, Revised version of his Ph.D. dissertation.
[10] J. Gosling, "SunDew: A distributed and extensible window system," inProc. 1986 Winter Usenix Tech. Conf., Jan. 1986, pp. 98-103.
[11] J. Gosling, "SunDew: A distributed and extensible window system," sem inar given at IBM Almaden Research Center, Sept. 1986.
[12] J. Gray, "Notes on database operation systems," inOperating Systems: An Advanced Course(Lecture Notes in Computer Science, vol. 60) Berlin: Springer-Verlag, 1978.
[13] M. Herlihy, "Transmitting abstract values in messages," Master's thesis. Massachusctts Inst. Technol., Cambridge. Apr. 1980: also available as MIT Tech. Rep. MIT/LCS/TR-234.
[14] M. Herlihy and B. Liskov, "A value transmission method for abstract data types,"ACM Trans. Programming Languages and Systems, vol. 4, pp. 527-551, Oct. 1982.
[15] B.G. Lindsay et al., "Computation and Communication in R*: A Distributed Data-base Manager,"ACM Trans. Computer Systems, Vol. 2, No. 1, Feb. 1984, pp. 24-28.
[16] B. Liskov, R. Atkinson, T. Bloom, E. Moss, J. C. Schaffert, R. Scheifler, and A. Snyder,CLU Reference Manual (Lecture Notes in Computer Science 114), Goos and Hartmanis. Eds. New York: Springer-Verlag, 1981.
[17] B. Liskov and R. Scheifler, "Guardians and actions: linguistic support for robust, distributed programs,"ACM Trans. Program. Languages Syst., vol. 5, no. 3, pp. 381-404, July 1983.
[18] T. Marill and D. Stern, "The datacomputer-A network data utility," inAFIPS Conf. Proc., vol. 44, 1975 NCC. Montvale, NJ: AFIPS Press, 1975, pp. 389-395.
[19] D. Notkin, N. Hutchinson, J. Sanislo, and M. Schwartz, "Report on the ACM SIGOPS workshop on accommodating heterogeneity,"Oper. Syst. Rev., vol. 20, no. 2, pp. 9-24, Apr. 1986.
[20] B. Nelson, "Remote procedure call," Ph.D. dissertation, Dep. Comput. Sci., Carnegie-Mellon Univ., May 1981.
[21] R.L. Rivest, A. Shamir, and L. Adleman, "A Method for Obtaining Digital Signatures and Public-Key Cryptosystems,"Comm. ACM, Vol. 21, No. 2, Feb. 1978, pp. 120-126.
[22] J. W. Stamos, "Remote evaluation," Ph.D. dissertation, Massachusetts Inst. Technol., Cambridge, Jan. 1986; also available as MIT Tech. Rep. MIT/LCS/TR-354.
[23] J. W. Stamos and D. K. Gifford, "Remote evaluation," IBM Almaden Research Center, Tech. Rep. RJ 5527, Mar. 1987; alsoACM Trans. Program. Lang. Syst., to be published.
[24] S. R. Vegdahl, "Moving structures between Smalltalk images," inProc. 1986 Object-Oriented Programming Systems, Languages, and Applications Conf., Sept. 1986, pp. 466-471.
[25] D. Weinreb and D. Moon,Lisp Machine Manual, Artificial Intell. Lab., Massachusetts Inst. Technol., Cambridge, 1981.

Index Terms:
remote evaluation implementation; compile time support; heterogeneous systems; distributed systems; executable code; communication network; distributed applications; high-level programming language; syntax; semantics; run-time support; homogeneous systems; remote procedure call implementation; performance measurements; computer networks; distributed processing; performance evaluation.
J.W. Stamos, D.K Gifford, "Implementing Remote Evaluation," IEEE Transactions on Software Engineering, vol. 16, no. 7, pp. 710-722, July 1990, doi:10.1109/32.56097
Usage of this product signifies your acceptance of the Terms of Use.