Generators and the replicator control structure in the parallel environment of ALLOY
Abstract
The need for searching a space of solutions appears often. Many problems, such as iteration over a dynamically created domain, can be expressed most naturally using a generate-and-process style. Serial programming languages typically support solutions of these problems by providing some form of generators or backtracking.
A parallel programming language is more demanding since it needs to be able to express parallel generation and processing of elements. Failure driven computation is no longer sufficient and neither is multiple-assignment to generated values.
We describe the replicator control operator used in the high level parallel programming language ALLOY. The replicator control operator provides a new view of generators which deals with these problems.
References
[1]
Reem Bahgat and Steve Gregory. Pandora: Nondeterministic parallel logic programming. In 6th International Conference on Logic Programming, pages 471-486, Lisbon, Portugal, 1989.
[2]
K.L. Clark and S. Gregory. Parlog: A parallel logic programming language. Research Report DOC 83/5, Department of Computing, Imperial College of Science and Technology, University of London, London, UK, May 1983.
[3]
Keith Clark and Steve Gregory. Notes on the implementation of parlog. The Journal of Logic Programming, 2(1):17-42, April 1985.
[4]
M Codish and lg. Shapiro. Compiling Or-Parallelism into And-Parallelism. New Generation Computing, 5(1):45-61, 1987. Also chapter 6 in "Shapiro E. (ed.), Concurrent Prolo".
[5]
E.W. Dijkstra. Guarded commands, nondetermL nacy, and formal derivation of programs. A CM Communications, 19(8):453-457, August 1975.
[6]
Ralph E. Griswold and Madge T. Griswold. The Icon Programming Language. Software Series. Prentice-Hall, 1983.
[7]
Allan Gottlieb, Ralph Grishman, Clyde P. Kruskal, Kevin P. McAuliffe, Lawrence Rudolph, and Marc Snir. The NYU ultracomputer-designing an MIMD shared memory parallel computer. IEEE Transac. iions on Computing, pages 175-189, February 1983.
[8]
Allan Gottlieb, B. D. Lubachevsky, and Larry Rudolph. Basic techniques for the efficient coordination of very large numbers of cooperating sequential processors. A CM TOPLAS, 5:164-189, April 1983.
[9]
Richard P. Gabriel and John McCarthy. Queuebased multi-processlng lisp. SlGPLAN Lisp Conference, pages 25-43, 1984.
[10]
Allan Gottlieb. An overview of the NYU ultra computer project. Ultracomputer Note 100, New York University, Ultra Computer Laboratory, July 1986.
[11]
Steve Gregory. Parallel Logic Programming in Parlo9, The Language and its Implementation. International Series in Logic Programming. Addison Wesley, Wokingham, UK, 1987.
[12]
Robert H. Halstead Jr. Implementation of multilisp: Lisp on a multiprocessor. 3IGPLAN Conference on Lisp programming, pages 9-16, 1984.
[13]
Self Harldl and Per Brand. Andorra prolog-an integration of prolog and commited choise languages. In International Conference on Fifth Generation Computing. Addison Wesley, 1988.
[14]
Peter Henderson. Functional programming: Application and Implementation. Series in Computer Series. Prentice/Hall International, 1980.
[15]
Christofer T. Haynes, Daniel P. Friedman, and Mitchell Wand. Continuations and coroutlnes. A CM Symposium on Lisp and Functional Programming, pages 293-299, 1984.
[16]
E. Lusk, R. Butler, R. Olson, R. Overbeek, Ft. Stevens, D. H. D. Warren, A. Calderwood, P. Szeredi, S. Haridi, P. Brand, M. Carlsson, A. Ciepielewski, and B. Hausman. The aurora or-parallel prolog system. In International Conference on Fifth Generation Computer Systems 1988. IGOT, Addison Wesley, 1988.
[17]
B. Liskov, A. Snyder, R. Atkinson, and (7. SchaL fert. Abstraction mechanisms in CLU. Communications oJ the ACM, 20(8):564-576, August 1977.
[18]
Thanasis I. Mitsolides. The Dezign and Implementation of ALLOY, a Parallel Higher Level Programming Language. PhD thesis, New York University, 251 Mercer Street, New York, NY 10012, **. in preparation.
[19]
Thanasis Mitsolides. An implementation of ultra prolog. Ultra Computer Documentation Note 10, New York University, 251 Mercer Street. New York, NY 10012, December 1988.
[20]
Thanasis Mitsolides. Supporting or-parallelism in ultra prolog. Internal Report, New York University, May 1988.
[21]
Thanasis I. Mitsolides. Features of serial and parallel functional, object oriented and logic programming languages. Survey paper, New York University, 251 Mercer Street, New York, NY 10012, May 1989.
[22]
Lee Naish. Negation and control in prolog. Lecture jVoies in Computer Science, 238, 1986.
[23]
Lee Naish. Paxallelizing nu-prolog. In Kenneth A Bowen and Robert A. Kowalsky, editors, Proceeding of the Fifth International Conference/Symposioum on Logic Programming, pages 1546-1564, 1988.
[24]
Jonathan Rees and William Glinger. Revised report on the algorithmic language scheme. SIGPLAN Notices, 21(12):37-79, December 1986.
[25]
J. T. Schwartz, R. Dewar, E. Dubinsky, and E. Schonberg. Programming with Sets An introduction to SETL. Springer-Verlag, 1986.
[26]
Ehud Shapiro. Concurrent prolog: A progress report. IEEE Computer, 19(8):45-58, August 1986. Also in Shapiro, E. (ed.), Concurrent ProIog.
[27]
Ehud Shapiro. The family of concurrent logic programming languages. A CM Computing Surveys, 21(3):413-510, September 1989.
[28]
William Silverman, Michael Hirsch, Avshalom Houri, and Ehud Shapiro. The logix system user manual, version 1.21. In Ehud Shapiro, editor, Concurrent Proiog voi 2, chapter 21, pages 46-77. MIT Press, 1987.
[29]
Leon Sterling and Ehud Shapiro. The Art o} Prolog. Series in Logic Programming. MIT Press, Cambridge Massachusetts, July 1986.
[30]
Kazunori Ueda. Guarded horn clauses. Logic Programming, LNCS, 221:168-179, 1986. Also in Shapiro, E. (ed.), Concurrent Prolog.
[31]
Kaznnori Ueda. Making exhaustive search programs deterministic. New Generation Computing, 5:29-44, 1987. ICOT Research Center.
[32]
Kazunori Ueda. Making exhaustive search programs deterministic, part it. In Proceedings oJ the Fourth International Conference on Logic Progrcmruing. MIT Press, May 1987. Melbourne, Australia.
[33]
David H. D. Warren. Or-parallel execution models of prolog. In TAPSOFT '87, pages 243-259. Joint Conference on Theory and Practice of Software Development, March 1987. University of Manchester, Manchester M13 9PL.
[34]
Rong Yang and Hideo Also. P-prolog: A parallel logic language based on exclusive relation. 3rd International Logic Programming Conference, LNCS, 225:255-269, July 1986. Imperial College, London, UK.
Index Terms
- Generators and the replicator control structure in the parallel environment of ALLOY
Recommendations
Generators and the replicator control structure in the parallel environment of ALLOY
PLDI '90: Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementationThe need for searching a space of solutions appears often. Many problems, such as iteration over a dynamically created domain, can be expressed most naturally using a generate-and-process style. Serial programming languages typically support solutions ...
Comments
Information & Contributors
Information
Published In
![cover image ACM SIGPLAN Notices](/cms/asset/2c52c467-cb9b-4f9e-b5c3-b5eeccf9063f/3393934.cover.jpg)
Jun. 1990
343 pages
Copyright © 1990 ACM.
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]
Publisher
Association for Computing Machinery
New York, NY, United States
Publication History
Published: 01 June 1990
Published in SIGPLAN Volume 25, Issue 6
Check for updates
Qualifiers
- Article
Contributors
Other Metrics
Bibliometrics & Citations
Bibliometrics
Article Metrics
- View Citations4Total Citations
- 436Total Downloads
- Downloads (Last 12 months)112
- Downloads (Last 6 weeks)23
Reflects downloads up to 08 Feb 2025
Other Metrics
Citations
View Options
Login options
Check if you have access through your login credentials or your institution to get full access on this article.
Sign in