In 1936, Alan Turing published a famous model of computation. However, it is in need of revision in part because Moore's Law for computation now takes the following form:
* Clock frequency is no longer increasing exponentially.
* Instead, the number of cores is increasing exponentially.
This talk explains why Turing's model is becoming obsolete (both in theory and practice) and how to program the many cores.
In turn, programming the many cores provides technology for inconsistency robustness: information system performance in the face of continually pervasive inconsistencies---a shift from the previously dominant paradigms of inconsistency denial and inconsistency elimination attempting to sweep them under the rug.
Further reading:
"ActorScript(TM) extension of C#(TM), Java(TM), Objective C(TM), and JavaScript(TM)” ArXiv 1008.2748
"Actor Model for Discretionary Adaptive Concurrency" ArXiv. 1008.1459
"Incompleteness Theorems: The Logical Necessity of Inconsistency" Google Knol
2. Turing’s Model of Computation Turing [1936] stated: the behavior of the computer at any moment is determined by the symbols which he [the computer] is observing, and his ‘state of mind’ at that moment there is a bound B to the number of symbols or squares which the computer can observe at one moment. If he wishes to observe more, he must use successive observations.
3. Triumph of Turing’s Model Turing [1948]: LCMs[logical computing machines: Turing's expression for Turing machines] can do anything that could be described as … "purely mechanical"…This is sufficiently well established that it is now agreed amongst logicians that "calculable by means of an LCM" is the correct accurate rendering [of phrases like “purely mechanical”]
4. Impossibility ofUnbounded Nondeterminism Now the set of initial segments of execution sequences of a given nondeterministic program P, starting from a given state, will form a tree. The branching points will correspond to the choice points in the program. Since there are always only finitely many alternatives at each choice point, the branching factor of the tree is always finite. Now König's lemma says that if every branch of a finitary tree is finite, then so is the tree itself. In the present case this means that if every execution sequence of Pterminates, then there are only finitely many execution sequences. So if an output set of Pis infinite, it must contain a nonterminating computation. ---Plotkin [1976]
6. Abstraction Any problem in computer science can be solved by adding another level of abstraction. --paraphrase of Alan Perlis
7. Actors [IJCAI’73] Organization: The local storage of an Actor can include addresses only that were provided when it was created that have been received in messages Operation:In response to a message received, an Actor can create more Actors send messages to addresses in: the message it has just received its local storage
8. Acknowledgement Important contributions to the semantics of Actors have been made by: Gul Agha, Beppe Attardi, Henry Baker, Will Clinger, Irene Greif, Carl Manning, Ian Mason, Ugo Montanari, Maria Simi, Scott Smith, Carolyn Talcott, Prasanna Thati, and Aki Yonezawa. Important contributions to the implementation of Actors have been made by: Bill Athas, Russ Atkinson, Beppe Attardi, Henry Baker, Gerry Barber, Peter Bishop, Nanette Boden, Jean-Pierre Briot, Bill Dally, Blaine Garst, Peter de Jong, Jessie Dedecker, Ken Kahn, Henry Lieberman, Carl Manning, Mark S. Miller, Tom Reinhardt, Chuck Seitz, Richard Steiger, Dan Theriault, Mario Tokoro, Darrell Woelk, and Carlos Varela.
9. Actor Misunderstandings Question:Isn't procedure calling faster than message passing? Answer: No, they are equivalent. Question:Doesn't every Actor have a X (where X is thread, mailbox, queue, etc.)? Answer: Is X an Actor? Question:What is an Actor? Answer: Anything that obeys the axioms!
10. Let head scratching begin! Quantum Actors metaCompilation (reducing friction) I think I can safely say that nobody understands quantum mechanics. -- Richard Feynman
12. Computational Representation Theorem The denotation DenoteS of a closed system Srepresents all the possible behaviors of S as DenoteS = ⊔iNProgressionSi(⊥S) where ProgressionSis an approximation function that takes a set of partial behaviors to their next stage and ⊥S is the initial behavior of S.
13. Devil in Details SimpleGCDqueue ~~ behavior queues(q) { dispatch_sync(theBlock)-> passThru(q) hole theBlock( ) thenvoidalsoDequeueq ||| this.dispatch_async(theBlock)-> this ↞passThru (q) hole theBlock( ) then void alsoDequeue q}
14. Domain Specific Computation Implementing postponed execution: <<<postponeExpression::expr>>> ~~ eval(e) -> let (v=expr.eval(e)) Type(v)::.m ↣ v↢malsoBecomeForwardTo(v) ForwardTo(v) ~~ Type(v)::.m ↣v↢m
21. Organizational Scalability Executive info info info Sales info info Engineering Accounting info Hierarchical parallelism Heterarchical concurrency
22. Inconsistency by Design Executive info info info Sales info info Engineering Accounting info Where you sit is where you stand!
23. Economics Strategic inconsistency: Classical microeconomics individual economic transactions (i.e. “propensity to barter, truck and exchange one thing for another” [Adam Smith]) lead to generally desirable outcomes Keynesian macroeconomics fraud, externalities, and monetary instabilities require government regulation
24. Addiction Step 1 in Twelve Step programs for recovery is that addicts admit that they are powerless over their addictions.
25. Mathematical Logic Wittgenstein: Indeed, even at this stage, I predict a time when there will be mathematical investigations of calculi containing contradictions, and people will actually be proud of having emancipated themselves from consistency. Turing: The real harm will not come in unless there is an application, in which a bridge may fall down or something of that sort…. You cannot be confident about applying your calculus until you know that there are no hidden contradictions in it. Wittgenstein: There seems to me an enormous mistake there. ... Suppose I convince [someone] of the paradox of the Liar, and he says, 'I lie, therefore I do not lie, therefore I lie and I do not lie, therefore we have a contradiction, therefore 2x2 = 369.' Well, we should not call this 'multiplication,' that is all...
26. Direct LogicTM Minimal fix to Classical Mathematical Logic* DirectInference (no contrapositive bug for inference) DirectArgumentation (inference directly expressed) Inconsistency Robustness Two-way Deduction Theorem for natural deduction Boolean Equivalences hold Self-refutation Incompleteness self-provable *Published in arXiv:0812.4852
28. Proof of Incompleteness Suppose⊢RussellP ⊢Russell⊬RussellPfrom the hypothesis becauseP ⇔⊬RussellP ⊢Russell⊢RussellP from the hypothesis by Adequacy But 1.and 2.are a contradiction in Russell . Consequently, ⊢Russell⊬RussellP follows from proof by contradiction in Russell .
29. WittgensteinIncompleteness means Inconsistency Let us suppose I prove the unprovability (in Russell’s system[Russell )] ) of P [⊢Russell⊬RussellPwhereP⇔⊬RussellP];then by this proof I have proved P[⊢RussellP]. Now if this proof were one in Russell’s system[⊢Russell⊢RussellP]—I should in this case have proved at once that it belonged [⊢RussellP] and did not belong [⊢RussellPbecauseP⇔⊢Russell P]to Russell’s system.—That is what comes of making up such sentences. But there is a contradiction here!—Well, then there is a contradiction here[in Russell]. Does it do any harm here?
30. Demonization of Wittgenstein It’s amazing that Turing could get anything out of discussions with somebody like Wittgenstein. … Wittgenstein did “not” understand it [1st incompleteness theorem] (or pretended not to understand it). He interpreted it as a kind of logical paradox, while in fact is just the opposite… … He [Wittgenstein] has to take a position when he has no business to do so. For example, “you can’t derive everything from a contradiction.” He should try to develop a system of logic in which that is true ----Kurt Gödel
31. In the Argumentation lies the Power A╟Tmeans that Ais an argument for in T Example: Redfield╟Biochemistry (NASA⊮Biochemistry SupportsLife[Arsenic]) Felisa Wolfe-Simon, et. al. A bacterium that can grow by using arsenic instead of phosphorus Science. Dec. 2, 2010. Rosemary Redfield. Arsenic-associated bacteria (NASA's claims) RR Research blog. Dec. 6, 2010. Semantics of Direct Logic
32. Openness to Further Argumentation A good scientist is never 'certain'. Lack of certainty is precisely what makes conclusions more reliable than the conclusions of those who are certain: because the good scientist will be ready to shift to a different point of view if better elements of evidence, or novel arguments emerge. Therefore certainty is not only something of no use, but is in fact damaging, if we value reliability. --Carlo Rovelli
33. Inconsistency RobustReasoning Large-scale information systems are chock full of inconsistencies Can’t get rid of them Relational Data Base* *replacement in the works
35. Relational Physics Relational physics discards the notions of absolute state of a system, absolute value of its physical quantities, or absolute event. State and physical quantities refer always to the interaction, or the relation, among multiple systems. Nevertheless, relational physics is a complete description of reality.
36. What is reality? Quantum mechanics is a theory about the physical description of physical systems relative to other systems, and this is a complete description of the world. ---Carlo Rovelli
37. Interaction creates Reality Do not keep saying to yourself, if you can possibly avoid it, "But how can it be like that?" because you will go "down the drain," into a blind alley from which nobody has yet escaped. ---Richard Feynman
38. Inconsistency Robustness 2011 Inconsistency robustnessis information system performance in the face of continually pervasive inconsistencies---a shift from the previously dominant paradigms of inconsistency denialand inconsistency eliminationattempting to sweep them under the rug. Inconsistency robustness is both an observed phenomenon and a desired feature: It is an observed phenomenon because large information systems are required to operate in an environment of pervasive inconsistency. How are they doing? It is a desired feature because we need to improve the performance of large information systems.
39. Inconsistency Robustness 2011Program Committee (½) Fei Xia, Washington Linguistics Mary-Anne Williams, Sydney Innovation and Enterprise Research Lab Mario Tokoro, Sony CSL Jamie Taylor, Google Markus Strohmaier, Graz CS Tom Stace, Queensland Physics Yuval Shachar, Ben-Gurion Information Systems Engineering Erik Sandewall, Linköping Computer and Information Science Neil Rubens, Electro-Communications Information Systems Carlo Rovelli, Marseille Centre de Physique Theorique de Luminy Greg Restall, Melbourne Philosophy Kay Prüfer, Max-Planck Institute for Evolutionary Anthropology Stanley Peters, Stanford CSLI Peter Neumann, SRI Fanya S. Montalvo, independent consultant
40. Inconsistency Robustness 2011Program Committee (½) Subhasish Mitra, Stanford CS and EE Joao Marcos, Rio Grande de Norte Informatics and Applied Mathematics Ben Kuipers, Michigan CS Andrei Khrennikov, Linnaeus Applied Mathematics Mike Huhns, South Carolina Electrical & Computer Engineering Chuck House, Stanford Media X Robert Hoehndorf, Cambridge Genetics Carl Hewitt (chair), emeritus MIT EECS, visiting Stanford CS Ted Goldstein, UCSC Bioinformatics and Biomolecular Engineering Elihu M. Gerson, Tremont Research Institute Mike Genesereth, Stanford CS Giacomo Mauro D'Ariano, Pavia Quantum Information, Mechanics, & Optics Rainer Brendle, SAP Francesco Berto, Aberdeen Philosophy Gil Alterovitz, MIT EECS and Harvard Medical School
41. Inconsistency Robustness 2011 Important dates February 15, 2011: Due date of extended abstracts for position statements, overviews, panel proposals, and technical papers (consisting of approximately 2000 words in PDF format ). Rather than have authors try to pigeon hole their work by key word ahead of time, we plan to distribute submissions to referees on the basis of the extended abstract. March 31, 2011: Due date of full technical papers, revised panel proposals and position statements. A hard limit on size will not be imposed because the proceedings will be produced electronically. So anything up to about 25K words would be possible. Of course, the length must be suitable to the subject matter. May 30, 2011: Notification of acceptance, conditional acceptance, or non-acceptance August 16-18, 2011: Symposium at Stanford August 19, 2011: Invited workshop for active researchers, practitioners, and sponsors Submissions should be made via the EasyChair website at: http://submit.robust11.org