skip to main content
article
Open Access

Remote evaluation

Published:01 October 1990Publication History
Skip Abstract Section

Abstract

A new technique for computer-to-computer communication is presented that can increase the performance of distributed systems. This technique, called remote evaluation, lets one computer send another computer a request in the form of a program. A computer that receives such a request executes the program in the request and returns the results to the sending computer. Remote evaluation provides a new degree of flexibility in the design of distributed systems. In present distributed systems that use remote procedure calls, server computers are designed to offer a fixed set of services. In a system that uses remote evaluation, server computers are more properly viewed as programmable processors. One consequence of this flexibility is that remote evaluation can reduce the amount of communication that is required to accomplish a given task. In this paper we discuss the semantics of remote evaluation and its effect on distributed system design. We also summarize our experience with a prototype implementation.

References

  1. 1 ADOBE SYSTEMS INCORPORATED. PostScript Language Reference Manual. Addison-Wesley, Reading, Mass., 1985.]] Google ScholarGoogle Scholar
  2. 2 BIRRELL, A.D. Secure communication using remote procedure calls. ACM Trans. Comput. Syst. 3, 1 (Feb. 1985), 1-14.]] Google ScholarGoogle Scholar
  3. 3 BIRRELL, A. D., AND NELSON, B.J. Implementing remote procedure calls. ACM Trans. Cornput. Syst. 2, I (Feb. 1984), 39-59.]] Google ScholarGoogle Scholar
  4. 4 BIRRELL, A. D., LEVIN, R., NEEDHAM, R. M., AND SCHROEDER, M.D. Grapevine: An exercise in distributed computing. Commun. ACM 25, 4 (Apr. 1982), 260-274.]] Google ScholarGoogle Scholar
  5. 5 BURTON, F. W. Annotations to control parallelism and reduction order in the distributed evaluation of functional programs. ACM Trans. Program. Lang. Syst. 6, 2 (Apr. 1984), 159-174.]] Google ScholarGoogle Scholar
  6. 6 CALL, L. A., COHRS, D. L., AND MILLER; B. P. CLAM--An open system for graphical user interfaces. In Proceedings of the 1987 Object-Oriented Programming Systems, Languages, and Applications Conference (Orlando, Fla., Oct. 4-8, 1987). ACM, New York, 1987, pp. 277-286.]] Google ScholarGoogle Scholar
  7. 7 DANIELS, D., SELINGER, P., HAAS, L., LINDSAY, B., MOHAN, C., WALKER, A., AND WILMS, P. An introduction to distributed query compilation in R*. In Distributed Databases: Proceedings of the 2nd International Symposium on Distributed Databases (Berlin, Sept. 1-3, 1982). North-Holland, Amsterdam, 1982, pp. 291-309.]]Google ScholarGoogle Scholar
  8. 8 EASTLAKE, III, D. E. Tertiary memory access and performance in the Datacomputer. In Proceedings of the 3rd International Conference on Very Large Data Bases (Tokyo, Oct. 6-8, 1977). ACM, New York, 1977, pp. 259-267.]]Google ScholarGoogle Scholar
  9. 9 FALCONE, J.R. A programmable interface language for heterogeneous distributed systems. ACM Trans. Comput. Syst. 5, 4 (Nov. 1987), 330-351.]] Google ScholarGoogle Scholar
  10. 10 FARRELL, J. The Datacomputer--A network data utility. In First Berkeley Workshop on Distributed Data Management and Computer Networks (Berkeley, Calif., May, 1986). Lawrence Berkeley Lab., Berkeley, Calif., pp. 352-364.]]Google ScholarGoogle Scholar
  11. 11 GAINES, R.S. An operating system based on the concept of a supervisory computer. Commun. ACM 15, 3 (Mar. 1972), 150-156.]] Google ScholarGoogle Scholar
  12. 12 GIFFORO, D.K. Information storage in a decentralized computer system. Ph.D. thesis, Dept. of Electrical Engineering, Stanford Univ., June 1981. (Also available as Xerox PARC Tech. Rep. CSL-81-8, Xerox Palo Alto Research Center, Palo Alto, Calif., 1981.)]] Google ScholarGoogle Scholar
  13. 13 GOSLING, J. Sundew: A distributed and extensible window system. In Proceedings of the 1986 Winter Usenix Technical Conference (Denver, Colo., Jan. 15-17, 1986). Usenix Assoc., El Cerrito, Calif., 1986, pp. 98-103.]]Google ScholarGoogle Scholar
  14. 14 GRAY, J. N. Notes on Data Base Operating Systems. Lecture Notes in Computer Science, vol. 60. Springer-Verlag, New York, 1978, pp. 393-481.]] Google ScholarGoogle Scholar
  15. 15 HALLMARK, G. Function request shipping in a database machine environment. In Proceedings of the 6th International Workshop on Database Machines (June 1989), pp. 171-186.]] Google ScholarGoogle Scholar
  16. 16 HERLIHY, M. Transmitting abstract values in messages. Master's thesis, Dept. of Electrical Engineering and Computer Science, MIT, Cambridge, Mass., Apr. 1980. (Also available as MIT Tech. Rep. MIT/LCS/TR-234.)]] Google ScholarGoogle Scholar
  17. 17 HERLIHY, M., AND LISKOV, B. A value transmission method for abstract data types. ACM Trans. Program. Lang. Syst. 4, 4 (Oct. 1982), 527-551.]] Google ScholarGoogle Scholar
  18. 18 HIKITA, S., KAWAKAMI, S., SAKAMOTO, A., AND MATSUSHITA, Y. An approach for customizing services of database machines. In Proceedings of the 5th International Workshop on Database Machines (Karuizawa, Japan, Oct. 5-8, 1987). Information Processing Society of Japan, 1987, pp. 305-318.]]Google ScholarGoogle Scholar
  19. 19 IBM CORPORATION. MVS/ESA SPL: Application development--extended addressability. IBM Form GC28-1854-0, IBM Corp., Armonk, N.Y., July 1988.]]Google ScholarGoogle Scholar
  20. 20 JUL, E., LEVY, H., HUTCHINSON, N., AND BLACK, A. Fine-grained mobility in the Emerald system. ACM Trans. Comput. Syst. 6, i (Feb. 1988), 109-133.]] Google ScholarGoogle Scholar
  21. 21 KHOSHAFIAN, S., AND VALDURIEZ, P. Parallel execution strategies for declustered databases. In Proceedings of the 5th International Workshop on Database Machines (Karuizawa, Japan, Oct. 5-8, 1987). Information Processing Society of Japan, 1987, pp. 626-639.]]Google ScholarGoogle Scholar
  22. 22 LINDSAY, B. G., HAAS, r. M., MOHAN, C., WILMS, P. r., AND YOST, R.A. Computation and communication in R*: A distributed database manager. ACM Trans. Comput. Syst. 2, 1 (Feb. 1984), 24-38.]] Google ScholarGoogle Scholar
  23. 23 LISKOV, B., AND SCHEIFLER, R. Guardians and actions: Linguistic support for robust, distributed programs. ACM Trans. Program. Lang. Syst. 5, 3 (July 1983), 381-404.]] Google ScholarGoogle Scholar
  24. 24 LISKOV, B., SNYDER, A., ATKINSON, R., AND SCHAFFERT, C. Abstraction mechanisms in CLU. Commun. ACM, 20, 8 (Aug. 1977), 564-576.]] Google ScholarGoogle Scholar
  25. 25 LISKOV, B., ATKINSON, R., BLOOM, T., MOSS, E., SCHAFFERT, J. C., SCHEIFLER, R., AND SNYDER, A. CLU Reference Manual. Lecture Notes in Computer Science, voL 114. Springer- Verlag, New York, 1981.]] Google ScholarGoogle Scholar
  26. 26 MARILL, T., AND STERN, D. The Datacomputer--A network data utility. In AFIPS Conference Proceedings, Vol. 44, 1975 NCC (Anaheim, Calif., May 19-23, 1975). AFIPS, Reston, Va., 1975, pp. 389-395.]]Google ScholarGoogle Scholar
  27. 27 NELSON, B.J. Remote procedure call. Ph.D. thesis, Dept. of Computer Science, Carnegie- Mellon Univ., Pittsburgh, Pa., May 1981. (Also available as Xerox PARC Tech. Rep. CSL-81-9, Xerox Palo Alto Research Center, Palo Alto, Calif., 1981.)]] Google ScholarGoogle Scholar
  28. 28 NOTKIN, D., AND GRISWOLD, W.G. Extension and software development. In Proceedings of the lOth International Conference on Software Engineering (Singapore, Apr. 11-15, 1988). ACM, New York, 1988, pp. 274-283.]] Google ScholarGoogle Scholar
  29. 29 NOTK1N, D., HUTCHINSON, N., SANISLO, J., AND SCHWARTZ, M. Report on the ACM SIGOPS workshop on accommodating heterogeneity. Oper. Syst. Rev. 20, 2 (Singapore, Apr. 11-15, 1988). ACM, New York, 1988, 9-24.]]Google ScholarGoogle Scholar
  30. 30 RIVEST, R. r., SHAMIR, A., AND ADLEMAN, L. A method for obtaining digital signatures and public-key cryptosystems. Commun. ACM 21, 2 (Feb. 1978), 120-126.]] Google ScholarGoogle Scholar
  31. 31 SCHAUFLER, R. X11/NeWS design overview. In Proceedings of the Summer 1988 Usenix Conference (June 1988), pp. 23-35.]]Google ScholarGoogle Scholar
  32. 32 STAMOS, J.W. Remote evaluation. Ph.D. thesis, Dept. of Electrical Engineering and Computer Science, Laboratory of Computer Science, Cambridge, Mass., Jan. 1986. (Also available as MIT Tech. Rep. MIT/LCS/TR-354, MIT, Cambridge, Mass., 1986.)]] Google ScholarGoogle Scholar
  33. 33 VEGDAHL, S. R. Moving structures between Smalltalk images. In Proceedings of the 1986 Object-Oriented Programming Systems, Languages, and Applications Conference (Sept. 1986), pp. 466-471.]] Google ScholarGoogle Scholar
  34. 34 WEINREB, D., AND MOON, D. Lisp Machine Manual. MIT Artificial Intelligence Laboratory, Cambridge, Mass., 1981.]] Google ScholarGoogle Scholar

Index Terms

  1. Remote evaluation

        Recommendations

        Reviews

        Robert Bruce McLaughlin

        The new concept of distributed processing presented by Stamos and Gifford takes the idea of a remote procedure call (RPC) one step further. A remote evaluator (REV) is a remote server that is sent a program, executes the program, and returns the results to the client. A REV program is allowed to contain invocations of programs to run on other servers. The authors are convinced that this approach will reduce network traffic compared to the conventional RPC. The authors give examples of REV programs, which illustrate the concept. The final section presents results of a simple test of the idea. The authors' recommendation is a variation of a concept that has been in use since the early days of telecomputing. They briefly discuss similar concepts, such as SunDew, CLAM, NCL, and Inter-Lisp-D, and compare them to their proposal. The authors leave the solution of several difficult problems—security, limiting resources consumed by the REV program, and deadlock control—to implementers. The paper does not address questions of resource control and allocation over the whole server network. The paper is for workers interested in distributed processing over a network. As such, the authors expect the reader to understand the technical details of such processing. The paper contains several network distributed processing references, with no apparent bias or omissions.

        Access critical reviews of Computing literature here

        Become a reviewer for Computing Reviews.

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM Transactions on Programming Languages and Systems
          ACM Transactions on Programming Languages and Systems  Volume 12, Issue 4
          Oct. 1990
          197 pages
          ISSN:0164-0925
          EISSN:1558-4593
          DOI:10.1145/88616
          Issue’s Table of Contents

          Copyright © 1990 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 October 1990
          Published in toplas Volume 12, Issue 4

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader