This Article 
 Bibliographic References 
 Add to: 
Multilanguage Parallel Programming of Heterogeneous Machines
August 1988 (vol. 37 no. 8)
pp. 930-945
A system called Agora was designed and implemented that supports the development of multilanguage parallel applications for heterogeneous machines. Agora hinges on two ideas: the first one is that shared memory can be a suitable abstraction to program concurrent, multilanguage modules running on heterogeneous machines. The second idea is that a shared memory abstraction can be efficiently suppo

[1] G. Agha, and C. Hewitt, "Concurrent programming using actors," inObject-Oriented Concurrent Programming. Cambridge, MA: MIT Press, 1987.
[2] R. Baron, R. Rashid, E. Siegel, A. Tevanian, and M. Young, "Mach- 1: An operating system environment for large scale multiprocessor applications,"IEEE Software, pp. 65-67, July 1985.
[3] D. G. Bobrow and M. J. Stefik, "A virtual machine for experiments in knowledge representation," Tech. Rep., Xerox Palo Alto Research Center, Apr. 1982.
[4] N. Carriero and D. Gelernter, "The S/Net's Linda Kernel,"ACM Trans. Computer Systems, May 1986, pp. 110-129.
[5] N. Carriero and D. Gelernter, "Linda on hypercube multicomputers," inProc. Hypercube Multiprocessors 1986 SIAM Editor, PA, 1986.
[6] D. R. Cheriton, "The V kernel: A software base for distributed systems,"IEEE Software, vol. 1, pp. 26-33, Apr. 1984.
[7] D. R. Cheriton, "Problem-oriented shared memory: A decentralized approach to distributed system design," inProc. 6th Int. Conf. Distributed Comput. Syst., May 1986, pp. 190-197.
[8] D. Corkill, K. Gallagher, and K. Murray, "GBB: A generic blackboard development system," inProc. Nat. Conf. Artif. Intell., AAI, Philadelphia, PA, Aug. 1986, pp. 1008-1014.
[9] Courier: The Remote Procedure Call Protocol, Xerox Corp., Xerox System Integration Standard 038112, 1981.
[10] T. H. Dineen, P. J. Leach, N. W. Mishkin, J. N. Pato, and G. L. Wyant, "The network computing architecture and system: An environment for developing distributed applications," Tech. Rep., Apollo Computer, Inc., 1988.
[11] L. Ermanet al., "ABE, Architectural overview," inProc. 1985 Distributed Artif. Intell. Workshop, AAAI, Sea Ranch, CA, Dec. 1985.
[12] A. Forin, R. Bisiani, and F. Correrini, "Parallel processing with Agora," Tech. Rep. CMU-87-183, Comput. Sci. Dept., Carnegie-Mellon Univ., Dec. 1987.
[13] M. S. Fox and J. McDermott, "The role of databases in knowledge-based systems," Tech. Rep., Robotics Instit., Carnegie-Mellon Univ., 1986.
[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] M. Jones and R. Rashid, "Mach and Matchmaker: Kernel and language support for object-oriented distributed systems," inProc. OOPSLA '86, Sigplan Notices Vol. 21 Nov 86, pp. 67-77, Portland, OR, Sept., 1986.
[16] K. Li and P. Hudak, "Memory coherence in Shared Virtual Memory systems," inProc. 5th Ann. ACM Symp. on Princ. of Distr. Computing(Calgary, AB, Can.), Aug. 1986, pp. 229-239.
[17] R. Katz, S. Eggers, D. Wood, C.L. Perkins, and R. Sheldon, "Implementing a cache consistency protocol," inProc. 12th Annu. Int. Symp. Comput. Architecture, vol. 13, June 1985, pp. 276-283.
[18] L. Lamport, "Solved problems, unsolved problems and nonproblems in concurrency,"Oper. Syst. Rev., vol. 19, pp. 34-44, Oct. 1985.
[19] B. Lampson, "Atomic transactions," inDistributed Systems: Architecture and Implementation(Lecture Notes in Computer Science, vol. 105). Berlin: Springer-Verlag, 1981, pp. 246-265.
[20] B. Liskov, "On linguistic support for distributed programs,"IEEE Trans. Software Eng., vol. 8, pp. 203-210, May 1982.
[21] D. McDonald, Ed., "CMU common lisp user's manual. Mach/IBM RT PC edition," Tech. Rep. CMU-CS-87-156, Carnegie-Mellon Univ., Sept. 1987.
[22] B. Nelson, "Remote procedure call," Ph.D. dissertation, Dep. Comput. Sci., Carnegie-Mellon Univ., May 1981.
[23] U. Ramachandran, M. Ahamad, and M. Khalidi, "Hardware support for distributed shared memory," Rep. CRT-ICS-87/41, Georgia Tech., Nov. 1987.
[24] R. Rashidet al., "Machine-independent virtual memory management for paged uniprocessors and multiprocessor architectures," inProc. 2nd Int. Conf. Architectural Support Programming Languages Oper. Syst., IEEE, Palo Alto, CA, Oct. 1987, pp. 31-39.
[25] R. F. Rashid, "An interprocess communication facility for Unix," Dep. Comput. Sci., Rep., Carnegie-Mellon Univ., June 1980.
[26] R. Rashid and G. Robertson, "Accent: A Communication-Oriented Network Operating System Kernel,"Proc. 8th Symp. Operating System Principles, ACM Press, New York, 1981, pp. 64-85.
[27] C. L. Seitz, "The Cosmic Cube,"Commun. ACM, pp. 22-33, Jan. 1985.
[28] Sun Microsystems, "Sun remote procedure call specification," Tech. Rep., Sun Microsystems, Inc., 1984.
[29] J. Wendorf and H. Tokuda, "An interprocess communication processor: Exploiting OS/application concurrency," Tech. Rep. CMU-CS- 87-152, Carnegie-Mellon Univ., Mar. 1987.

Index Terms:
performance measurements; event driven invocation; distributed shared memory; parallel programming; Agora; multilanguage parallel applications; heterogeneous machines; shared memory abstraction; local area network workstations; local area networks; parallel programming; programming environments.
R. Bisiani, A. Forin, "Multilanguage Parallel Programming of Heterogeneous Machines," IEEE Transactions on Computers, vol. 37, no. 8, pp. 930-945, Aug. 1988, doi:10.1109/12.2245
Usage of this product signifies your acceptance of the Terms of Use.