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