Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Open access

Remote evaluation

Published: 01 October 1990 Publication History

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]
ADOBE SYSTEMS INCORPORATED. PostScript Language Reference Manual. Addison-Wesley, Reading, Mass., 1985.]]
[2]
BIRRELL, A.D. Secure communication using remote procedure calls. ACM Trans. Comput. Syst. 3, 1 (Feb. 1985), 1-14.]]
[3]
BIRRELL, A. D., AND NELSON, B.J. Implementing remote procedure calls. ACM Trans. Cornput. Syst. 2, I (Feb. 1984), 39-59.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[9]
FALCONE, J.R. A programmable interface language for heterogeneous distributed systems. ACM Trans. Comput. Syst. 5, 4 (Nov. 1987), 330-351.]]
[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.]]
[11]
GAINES, R.S. An operating system based on the concept of a supervisory computer. Commun. ACM 15, 3 (Mar. 1972), 150-156.]]
[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.)]]
[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.]]
[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.]]
[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.]]
[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.)]]
[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.]]
[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.]]
[19]
IBM CORPORATION. MVS/ESA SPL: Application development--extended addressability. IBM Form GC28-1854-0, IBM Corp., Armonk, N.Y., July 1988.]]
[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.]]
[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.]]
[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.]]
[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.]]
[24]
LISKOV, B., SNYDER, A., ATKINSON, R., AND SCHAFFERT, C. Abstraction mechanisms in CLU. Commun. ACM, 20, 8 (Aug. 1977), 564-576.]]
[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.]]
[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.]]
[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.)]]
[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.]]
[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.]]
[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.]]
[31]
SCHAUFLER, R. X11/NeWS design overview. In Proceedings of the Summer 1988 Usenix Conference (June 1988), pp. 23-35.]]
[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.)]]
[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.]]
[34]
WEINREB, D., AND MOON, D. Lisp Machine Manual. MIT Artificial Intelligence Laboratory, Cambridge, Mass., 1981.]]

Cited By

View all
  • (2021)Orca: A Software Library for Parallel Computation of Symbolic Expressions via Remote Evaluation on MPI SystemsIntelligent Computing10.1007/978-3-030-80119-9_10(204-217)Online publication date: 13-Jul-2021
  • (2017)Reflections on the REST architectural style and "principled design of the modern web architecture" (impact paper award)Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering10.1145/3106237.3121282(4-14)Online publication date: 21-Aug-2017
  • (2017)CRESON: Callable and Replicated Shared Objects over NoSQL2017 IEEE 37th International Conference on Distributed Computing Systems (ICDCS)10.1109/ICDCS.2017.239(115-128)Online publication date: Jun-2017
  • Show More Cited By

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

Information & Contributors

Information

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
  • Editor:
  • Susan L. Graham
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 October 1990
Published in TOPLAS Volume 12, Issue 4

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)172
  • Downloads (Last 6 weeks)15
Reflects downloads up to 13 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2021)Orca: A Software Library for Parallel Computation of Symbolic Expressions via Remote Evaluation on MPI SystemsIntelligent Computing10.1007/978-3-030-80119-9_10(204-217)Online publication date: 13-Jul-2021
  • (2017)Reflections on the REST architectural style and "principled design of the modern web architecture" (impact paper award)Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering10.1145/3106237.3121282(4-14)Online publication date: 21-Aug-2017
  • (2017)CRESON: Callable and Replicated Shared Objects over NoSQL2017 IEEE 37th International Conference on Distributed Computing Systems (ICDCS)10.1109/ICDCS.2017.239(115-128)Online publication date: Jun-2017
  • (2015)Extensible distributed coordinationProceedings of the Tenth European Conference on Computer Systems10.1145/2741948.2741954(1-16)Online publication date: 17-Apr-2015
  • (2014)Design of a multi-agent opportunistic grid computing platformMultiagent and Grid Systems10.3233/MGS-14022310:4(199-212)Online publication date: 1-Jul-2014
  • (2014)Towards native higher-order remote procedure callsProceedings of the 26nd 2014 International Symposium on Implementation and Application of Functional Languages10.1145/2746325.2746332(1-12)Online publication date: 1-Oct-2014
  • (2014)Krivine netsACM SIGPLAN Notices10.1145/2692915.262815249:9(349-361)Online publication date: 19-Aug-2014
  • (2014)Krivine netsProceedings of the 19th ACM SIGPLAN international conference on Functional programming10.1145/2628136.2628152(349-361)Online publication date: 19-Aug-2014
  • (2014)Design and Implementation of a Mobile Actor Platform for Wireless Sensor NetworksConcurrent Objects and Beyond10.1007/978-3-662-44471-9_13(276-316)Online publication date: 2014
  • (2013)Code management automation for Erlang remote actorsProceedings of the 2013 workshop on Programming based on actors, agents, and decentralized control10.1145/2541329.2541344(13-18)Online publication date: 27-Oct-2013
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media