ACM Home Page
Please provide us with feedback. Feedback
Efficient logic variables for distributed computing
Full text PdfPdf (572 KB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 21 ,  Issue 3  (May 1999) table of contents
Pages: 569 - 626  
Year of Publication: 1999
ISSN:0164-0925
Authors
Seif Haridi  Swedish Institute of Computer Science, Kista, Sweden
Peter Van Roy  Univ. Catholique de Louvain, Louvain-la-Neuve, Belgium; and Swedish Institute of Computer Science, Kista, Sweden
Per Brand  Swedish Institute of Computer Science, Kista, Sweden
Michael Mehl  German Research Center for Artificial Intelligence
Ralf Scheidhauer  German Research Center for Artificial Intelligence
Gert Smolka  Univ. des Saarlandes, Saarbrücken, Germany; and German Research Center for Artificial Intelligence
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 13,   Downloads (12 Months): 82,   Citation Count: 6
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/319301.319347
What is a DOI?

ABSTRACT

We define a practical algorithm for distrubuted rational tree unification and prove its correctness in both the off-line and on-line cases. We derive the distributed algorithm from a centralized one, showing clearly the trade-offs between local and distributed execution. The algorithm is used to realize logic variables in the Mozart Programming System, which implements the Oz language (see http://www/mozart-oz.org). Oz appears to the programmer as a concurrent object-oriented language with dataflow synchronization. Logic variables implement the dataflow behavior. We show that lohgic variables can easily be added to the more restricted models of Java and ML, thus providing an alternative way to do concurent programming in these languages. We present common distributed programming idioms in a network-transparent way using logic variables. We show that in common cases the algorithm maintains the same message latency as explicit message passing. In addition, it is able to handle uncommon cases that arise from the properties of latency tolerance and third-party independence. This is evidence that using logic variables in distributed computing is beneficial at both the system and language levels. At the system level, they improve latency tolerance and third-party independence. At the language level, they help make network-transparent distribution practical.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
ALOUINI, I. AND VAN ROY, P. 1999. Le protocole r6parti de Distributed Oz (in French). In Colloque Francophone sur l'Ingdnierie des Protocoles (CFIP 99). 283-298.
 
3
 
4
ARVIND AND THOMAS, R. E. 1980. I-Structures: An efficient data type for functional languages. Tech. Rep. 210, MIT, Laboratory for Computer Science.
5
 
6
BRAND, P., VAN ROY, P., COLLET, R., AND I~LINTSKOG, E. 1999. Formal definition and correctness of a reliable mobile-state protocol for constructing fault-tolerant applications. In preparation.
 
7
CARDELLI, L. 1995. A language with distributed scope. ACM Trans. Comput. Syst. 8, 1 (Jan.), 27-59.
 
8
 
9
COLMERAUER, A. 1982. Prolog and Infinite Trees. Academic Press. In Logic Programming, Keith L. Clark and Sten-Ake Tarnlund, eds.
 
10
COURCELLE, B. 1983. Fundamental properties of infinite trees. Theoretical Computer Science 25, 95-169.
 
11
DFKI Oz 1998. DFKI Oz version 2.0. Available at http://www.ps.uni-sb.de.
 
12
DIAZ, M., RUBIO, B., AND TROYA, J. M. 1997. DRL: A distributed real-time logic language. Comput. Lang. 23, 2-4, 87-120.
 
13
DUCHIER, D., KORNSTAEDT, L., SCHULTE, C., AND SMOLKA, G. 1998. A Higher-order Module Discipline with Separate Compilation, Dynamic Linking, and Pickling. Tech. rep., Programming Systems Lab, DFKI and Universitgt des Saarlandes. DRAFT.
 
14
FOSTER, I. 1988. Parallel implementation of Parlog. In International Conference on Parallel Processing. IEEE Computer Society, 9-16.
 
15
 
16
 
17
GUDEMAN, D. 1993. Representing type information in dynamically typed languages. Tech. Rep. TR93-27, University of Arizona, Department of Computer Science. Sept.
18
 
19
HARIDI, S. 1981. Logic programming based on a natural deduction system. Ph.D. thesis, Royal Institute of Technology, Stockholm.
 
20
HARIDI, S. AND FRANZI~N, N. 1999. Tutorial of Oz. Tech. rep. In Mozart documentation, available at http ://www. mozart-oz, org.
 
21
HARIDI, S. AND SAHLIN, D. 1984. Efficient implementation of unification of cyclic structures. Ellis Horwood Limited. In Implementations of Prolog, J. A. Campbell, ed.
 
22
23
 
24
 
25
HENZ, M. 1997b. Objects in Oz. Ph.D. thesis, Universitgt des Saarlandes, Fachbereich Informatik, Saarbriicken, Germany.
 
26
 
27
ICHIYOSHI, N., MIYAZAKI, T., AND TAKI, K. 1987. A distributed implementation of Flat GHC on the Multi-PSI. In gth International Conference on Logic Programming. MIT Press, 257-275.
 
28
JAFFAR, J. AND MAHER, M. 1994. Constraint logic programming: A survey. J. Log. Prog. 19/20, 503-581.
 
29
 
30
 
31
 
32
 
33
34
 
35
MEHL, M. 1999. The Oz virtual machine - records, transients, and deep guards. Ph.D. thesis, Technische FakultSot der UniversitS~t des Saarlandes.
 
36
MEHL, M., SCHULTE, C., AND SMOLKA, G. 1998. Futures and by-need synchronization for Oz.
 
37
 
38
HOZART CONSORTIUM. 1999.The Mozart programming system (Oz 3). Available at http ://www. mozart-oz, org.
 
39
 
40
 
41
42
 
43
ROKUSAWA, K., NAKASE, A., AND CHIKAYAMA, T. 1996. Distributed memory implementation of KLIC. New Generation Computing 14, 3, 261-280.
 
44
 
45
SCHULTE, C. 1997. Programming constraint inference engines. In Proceedings of the 3rd International Conference on Principles and Practice of Constraint Programming, G. Smolka, Ed. Lecture Notes in Computer Science, vol. 1330. Springer-Verlag, Schlof3 Hagenberg, Austria, 519-533.
46
 
47
SMOLKA, G. 1995. The Oz programming model. In Computer Science Today. Lecture Notes in Computer Science, vol. 1000. Springer-Verlag, Berlin, 324-343.
48
 
49
 
50
SMOLKA, G., SCHULTE, C., AND VAN ROY, P. 1995. PERDIO--Persistent and distributed programming in Oz. BHBF project proposal. Available at http://www.ps.uni-sb.de.
 
51
 
52
SUN MICROSYSTEMS. 1997. The Remote Method Invocation Specification. Available at http ://www. j avasoft, com.
 
53
SUNDSTROM, A. 1998. Comparative study between Oz 3 and Java. Tech. rep., Uppsala University and Swedish Institute of Computer Science. July.
 
54
TAYLOR, t. 1991. High-performance Prolog implementation. Ph.D. thesis, Basset Department of Computer Science, University of Sydney.
 
55
 
56
VAN RoY, P. 1994. 1983-1993: The wonder years of sequential Prolog implementation. J. Log. Prog. 19/20, 385-441.
 
57
VAN ROY, P. 1999. On the separation of concerns in distributed programming: Application to distribution structure and fault tolerance in Mozart. In International Workshop on Parallel and Distributed Computing for Symbolic and Irregular Applications (PDSIA 99). Tohoku University, Sendal, Japan.
 
58
 
59
VAN ROY, P., HARIDI, S., AND BRAND, P. 1999. Distributed progr&mming in Moz&rt - A tutori&l introduction. Tech. rep. In Moz&rt document&tion, &v&il&ble &t http://www.mozart-oz.org.
60
61
 
62
WARREN, D. H. D. 1977. Applied logic-its use &nd implement&tion &s & progr&mming tool. Ph.D. thesis, University of Edinburgh. Reprinted &s Technic&l Note 290, SRI Intern&tion&l.
 
63
WIKSTROM, C. 1994. Distributed progr&mming in Erl&ng. In the 1st International Symposium on Parallel Symbolic Computation (PASCO 94). World Scientific, Sing&pore, 412-421.


Collaborative Colleagues:
Seif Haridi: colleagues
Peter Van Roy: colleagues
Per Brand: colleagues
Michael Mehl: colleagues
Ralf Scheidhauer: colleagues
Gert Smolka: colleagues