Indeterminacy In Concurrent Computation
   HOME

TheInfoList



OR:

Indeterminacy in concurrent computation is concerned with the effects of indeterminacy in
concurrent computation Concurrent computing is a form of computing in which several computations are executed '' concurrently''—during overlapping time periods—instead of ''sequentially—''with one completing before the next starts. This is a property of a syst ...
. Computation is an area in which indeterminacy is becoming increasingly important because of the massive increase in concurrency due to networking and the advent of
many-core Manycore processors are special kinds of multi-core processors designed for a high degree of parallel processing, containing numerous simpler, independent processor cores (from a few tens of cores to thousands or more). Manycore processors are use ...
computer architectures. These computer systems make use of arbiters which give rise to indeterminacy.


A supposed limitation of logic programming

Patrick Hayes
973 Year 973 ( CMLXXIII) was a common year starting on Wednesday (link will display the full calendar) of the Julian calendar. Events By place Byzantine Empire * Spring – The Byzantine army, led by General Melias (Domestic of the S ...
argued that the "usual sharp distinction that is made between the processes of computation and deduction, is misleading".
Robert Kowalski Robert Anthony Kowalski (born 15 May 1941) is an American-British logician and computer scientist, whose research is concerned with developing both human-oriented models of computing and computational models of human thinking. He has spent mo ...
developed the thesis that ''computation could be subsumed by deduction'' and quoted with approval "Computation is controlled deduction." which he attributed to Hayes in his 1988 paper on the early history of Prolog. Contrary to Kowalski and Hayes,
Carl Hewitt Carl Eddie Hewitt () is an American computer scientist who designed the Planner programming language for automated planningCarl Hewitt''PLANNER: A Language for Proving Theorems in Robots''IJCAI. 1969. and the actor model of concurrent computing, ...
claimed that logical deduction was incapable of carrying out concurrent computation in open systems. Hewitt
985 Year 985 (Roman numerals, CMLXXXV) was a common year starting on Thursday (link will display the full calendar) of the Julian calendar. Events By place Europe * Summer – Henry II, Duke of Bavaria, Henry II (the Wrangler) is rest ...
and Agha
991 Year 991 (Roman numerals, CMXCI) was a common year starting on Thursday (link will display the full calendar) of the Julian calendar. Events * March 1: In Rouen, Pope John XV ratifies the first Peace and Truce of God, Truce of God, between ...
and other published work argued that mathematical models of concurrency did not determine particular concurrent computations as follows: The Actor model makes use of arbitration (often in the form of notional arbiters) for determining which message is next in the arrival ordering of an Actor that is sent multiple messages concurrently. This introduces indeterminacy in the arrival order. Since the arrival orderings are indeterminate, they cannot be deduced from prior information by mathematical logic alone. Therefore, mathematical logic cannot implement concurrent computation in open systems. The authors claim that although mathematical logic cannot, in their view, implement general concurrency it can implement some special cases of concurrent computation, e.g., sequential computation and some kinds of
parallel computing Parallel computing is a type of computation in which many calculations or processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. There are several different fo ...
including the
lambda calculus Lambda calculus (also written as ''λ''-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. It is a universal model of computation ...
.


Arrival order indeterminacy

According to Hewitt, in concrete terms for Actor systems, typically we cannot observe the details by which the arrival order of messages for an Actor is determined. Attempting to do so affects the results and can even push the indeterminacy elsewhere. e.g., see
metastability in electronics In electronics, metastability is the ability of a digital electronic system to persist for an unbounded time in an unstable equilibrium or metastable state. In digital logic circuits, a digital signal is required to be within certain voltage or ...
and arbiters. Instead of observing the internals of arbitration processes of Actor computations, we await outcomes. Indeterminacy in arbiters produces indeterminacy in Actors. The reason that we await outcomes is that we have no alternative because of indeterminacy. It is important to be clear about the basis for the published claim about the limitation of mathematical logic. It was not just that Actors could not in general be implemented in mathematical logic. The published claim was that because of the indeterminacy of the physical basis of the Actor model, that no kind of deductive mathematical logic could escape the limitation. This became important later when researchers attempted to extend
Prolog Prolog is a logic programming language associated with artificial intelligence and computational linguistics. Prolog has its roots in first-order logic, a formal logic, and unlike many other programming languages, Prolog is intended primarily ...
(which had some basis in
logic programming Logic programming is a programming paradigm which is largely based on formal logic. Any program written in a logic programming language is a set of sentences in logical form, expressing facts and rules about some problem domain. Major logic prog ...
) to concurrent computation using message passing. (See the section below). What does the mathematical theory of Actors have to say about this? A ''closed'' system is defined to be one which does not communicate with the outside.
Actor model theory In theoretical computer science, Actor model theory concerns theoretical issues for the Actor model. Actors are the primitives that form the basis of the Actor model of concurrent digital computation. In response to a message that it receives, a ...
provides the means to characterize all the possible computations of a closed Actor system using the Representation Theorem ewitt 2007as follows:
:The mathematical denotation denoted by a closed system is found by constructing increasingly better approximations from an initial behavior called using a behavior approximating function to construct a denotation (meaning ) for as follows: ::\mathbf_ \equiv \lim_ \mathbf_(\bot_\mathtt)
In this way, the behavior of can be mathematically characterized in terms of all its possible behaviors (including those involving unbounded nondeterminism). So mathematical logic can characterize (as opposed to implement) all the possible computations of a closed Actor system.


A limitation of logic due to lack of information

An open Actor system is one in which the addresses of outside Actors can be passed into in the middle of computations so that can communicate with these outside Actors. These outside Actors can then in turn communicate with Actors internal to using addresses supplied to them by . Due to limitation of the inability to deduce arrival orderings, knowledge of what messages are sent from outside would not enable the response of to be deduced. When other models of concurrent systems (e.g.,
process calculi In computer science, the process calculi (or process algebras) are a diverse family of related approaches for formally modelling concurrent systems. Process calculi provide a tool for the high-level description of interactions, communications, and ...
) are used to implement open systems, these systems also can have behavior that depends on arrival time orderings and so cannot be implemented by logical deduction.


Prolog-like concurrent systems were claimed to be based on mathematical logic

Keith Clark, Hervé Gallaire, Steve Gregory, Vijay Saraswat, Udi Shapiro, Kazunori Ueda, etc. developed a family of
Prolog Prolog is a logic programming language associated with artificial intelligence and computational linguistics. Prolog has its roots in first-order logic, a formal logic, and unlike many other programming languages, Prolog is intended primarily ...
-like concurrent message passing systems using unification of shared variables and data structure streams for messages. Claims were made that these systems were based on mathematical logic.{{Citation needed, date=March 2007 This kind of system was used as the basis of the Japanese Fifth Generation Project (ICOT). Carl Hewitt and Gul Agha
991 Year 991 (Roman numerals, CMXCI) was a common year starting on Thursday (link will display the full calendar) of the Julian calendar. Events * March 1: In Rouen, Pope John XV ratifies the first Peace and Truce of God, Truce of God, between ...
argued that these Prolog-like concurrent systems were neither deductive nor logical: like the Actor model, the Prolog-like concurrent systems were based on message passing and consequently were subject to the same indeterminacy.


Logical operations and system efficiency

Hewitt maintained that a basic lesson can be learned from Prolog and the Prolog-like concurrent systems: a universal model of concurrent computation is limited by having any mandatory overhead in the basic communication mechanisms. This is an argument against including pattern-directed invocation using unification and extraction of messages from data structure streams as fundamental primitives. But compare Shapiro's survey of Prolog-like concurrent programming languages for arguments for inclusion.


Indeterminacy in other models of computation

Arbitration is the basis of the indeterminacy in the
Actor model The actor model in computer science is a mathematical model of concurrent computation that treats ''actor'' as the universal primitive of concurrent computation. In response to a message it receives, an actor can: make local decisions, create more ...
of concurrent computation (see
History of the Actor model In computer science, the Actor model, first published in 1973, is a mathematical model of concurrent computation. Event orderings versus global state A fundamental challenge in defining the Actor model is that it did not provide for global states ...
and
Actor model theory In theoretical computer science, Actor model theory concerns theoretical issues for the Actor model. Actors are the primitives that form the basis of the Actor model of concurrent digital computation. In response to a message that it receives, a ...
). It may also play a role in other models of concurrent systems such as
process calculi In computer science, the process calculi (or process algebras) are a diverse family of related approaches for formally modelling concurrent systems. Process calculi provide a tool for the high-level description of interactions, communications, and ...
.


See also

*
Quantum computing Quantum computing is a type of computation whose operations can harness the phenomena of quantum mechanics, such as superposition, interference, and entanglement. Devices that perform quantum computations are known as quantum computers. Though ...
*
Randomized algorithm A randomized algorithm is an algorithm that employs a degree of randomness as part of its logic or procedure. The algorithm typically uses uniformly random bits as an auxiliary input to guide its behavior, in the hope of achieving good performan ...
*
Non-deterministic Turing machine In theoretical computer science, a nondeterministic Turing machine (NTM) is a theoretical model of computation whose governing rules specify more than one possible action when in some given situations. That is, an NTM's next state is ''not'' comp ...


References

*
Carl Hewitt Carl Eddie Hewitt () is an American computer scientist who designed the Planner programming language for automated planningCarl Hewitt''PLANNER: A Language for Proving Theorems in Robots''IJCAI. 1969. and the actor model of concurrent computing, ...
''What is computation? Actor Model versus Turing's Model'' in A Computable Universe: Understanding Computation & Exploring Nature as Computation. Dedicated to the memory of Alan M. Turing on the 100th anniversary of his birth. Edited by Hector Zenil. World Scientific Publishing Company. 2012 *Carl Hewitt. PLANNER: A Language for Proving Theorems in Robots
IJCAI The International Joint Conference on Artificial Intelligence (IJCAI) is the leading conference in the field of Artificial Intelligence. The conference series has been organized by the nonprofit IJCAI Organization since 1969, making it the oldest p ...
1969. *Carl Hewitt. Procedural Embedding of Knowledge In Planner IJCAI 1971. *Carl Hewitt, Peter Bishop and Richard Steiger. A Universal Modular Actor Formalism for Artificial Intelligence IJCAI 1973. *
Robert Kowalski Robert Anthony Kowalski (born 15 May 1941) is an American-British logician and computer scientist, whose research is concerned with developing both human-oriented models of computing and computational models of human thinking. He has spent mo ...
Predicate Logic as Programming Language Memo 70, Department of Artificial Intelligence,
Edinburgh University The University of Edinburgh ( sco, University o Edinburgh, gd, Oilthigh Dhùn Èideann; abbreviated as ''Edin.'' in post-nominals) is a public research university based in Edinburgh, Scotland. Granted a royal charter by King James VI in 1582 ...
. 1973. *Pat Hayes. Computation and Deduction Mathematical Foundations of Computer Science: Proceedings of Symposium and Summer School, Štrbské Pleso, High Tatras, Czechoslovakia, September 3–8, 1973. *Carl Hewitt and Henry Baker Laws for Communicating Parallel Processes IFIP-77, August 1977. *Carl Hewitt. Viewing Control Structures as Patterns of Passing Messages
Journal of Artificial Intelligence A journal, from the Old French ''journal'' (meaning "daily"), may refer to: *Bullet journal, a method of personal organization *Diary, a record of what happened over the course of a day or other period *Daybook, also known as a general journal, a ...
. June 1977. *Henry Baker. Actor Systems for Real-Time Computation MIT EECS Doctoral Dissertation. January 1978. *Bill Kornfeld and Carl Hewitt. The Scientific Community Metaphor
IEEE Transactions on Systems, Man and Cybernetics The Institute of Electrical and Electronics Engineers (IEEE) is a 501(c)(3) professional association for electronic engineering and electrical engineering (and associated disciplines) with its corporate office in New York City and its operati ...
. January 1981. *Will Clinger. Foundations of Actor Semantics
MIT The Massachusetts Institute of Technology (MIT) is a private land-grant research university in Cambridge, Massachusetts. Established in 1861, MIT has played a key role in the development of modern technology and science, and is one of the mo ...
Mathematics Doctoral Dissertation. June 1981. *Carl Hewitt. The Challenge of Open Systems Byte Magazine. April 1985. Reprinted in ''The foundation of artificial intelligence–a sourcebook'' Cambridge University Press. 1990. *Gul Agha. '
Actors: A Model of Concurrent Computation in Distributed Systems
'' Doctoral Dissertation. MIT Press. 1986. *Robert Kowalski. The limitation of logic Proceedings of the 1986 ACM 14th Annual Conference on Computer science. *Ehud Shapiro (Editor). Concurrent Prolog
MIT Press The MIT Press is a university press affiliated with the Massachusetts Institute of Technology (MIT) in Cambridge, Massachusetts (United States). It was established in 1962. History The MIT Press traces its origins back to 1926 when MIT publish ...
. 1987. *Robert Kowalski. The Early Years of Logic Programming
Communications of the ACM ''Communications of the ACM'' is the monthly journal of the Association for Computing Machinery (ACM). It was established in 1958, with Saul Rosen as its first managing editor. It is sent to all ACM members. Articles are intended for readers with ...
. January 1988. *Ehud Shapiro. The family of concurrent logic programming languages
ACM Computing Surveys ''ACM Computing Surveys'' is a quarterly peer-reviewed scientific journal published by the Association for Computing Machinery. It publishes survey articles and tutorials related to computer science and computing. The journal was established in 196 ...
. September 1989. *Carl Hewitt and Gul Agha. Guarded Horn clause languages: are they deductive and Logical? International Conference on Fifth Generation Computer Systems, Ohmsha 1988. Tokyo. Also in ''Artificial Intelligence at MIT'', Vol. 2. MIT Press 1991. *Carl Hewitt. *Carl Hewitt. '
The repeated demise of logic programming and why it will be reincarnated
'' What Went Wrong and Why: Lessons from AI Research and Applications. Technical Report SS-06-08. AAAI Press. March 2006.


External links


Hewitt, Meijer and Szyperski: The Actor Model (everything you wanted to know, but were afraid to ask)
Microsoft Channel 9. April 9, 2012. Actor model (computer science) Determinism Logic programming