2.
50 Years of Computing - 50 Years of Computing - What HAS Changed What Has NOT Changed • Faster, cheaper, smaller !! • Von Neumann model: stored program, serial execution – But nearing practical limitations, Power Freq3 • Centralized memory & processing, buses – What are we going to do with N billion transistors? • Synchronous, global clocking • Better user interface (2D) • Awful design tools, bad bugs • Communications, networks • Linear text-based programming • Much broader range of applications • Compilers, debuggers, crashes • … • Chip & protocol chasing • Little or no formal verification, security Kids running down a hill, out of control...R. Shoup – Oct ‘11 R. Shoup – Oct ‘11 50 Years vs 5B Years What’s the Problem? Computing Systems Natural Systems serial, sequential highly parallel, concurrent digital, discrete analog, continuous • Huge Complexity – datasets, processors, networks, etc. unidirectional, functional omnidirectional, relational • Parallelism – networks/clouds, multicore, FPGAs, etc. singular, brittle redundant, resilient – Moore’s Law limitations – Serial mindset, algorithms centralized, concentrated distributed, pervasive linear, controlled non-linear, chaotic • Power consumption & Efficiency – Global synchronous clocking, architecture homogeneous heterogeneous mechanical, intermittent alive, continuous • Error tolerance & recovery – Perfection vs reality of failures difficult, arcane accessible, familiar designed, crafted self-organizing, evolving • Verification, proof of correctness • Guarantee of security, privacy Which is a better match to human beings and their needs?R. Shoup – Oct ‘11 R. Shoup – Oct ‘11 2
3.
Heterogeneous Data Hierarchy Heterogeneous Design Hierarchy • Cluster, domain, etc user interface, application menus , dialogs, commands very-high-level language threads, app objects, users • Computer high-level language processes, threads • Disk, partition system libraries, OS calls procedures, synchronization • Folder different types & storage low-level language (C) data structures, subroutines • File assembly/machine code storage allocation • Byte, word microcode, FSMs register allocation state flip-flops, registers timing, power • Bit transistors, gates layout, timing silicon structures electrical properties, yield … but object-oriented languages & systems mitigate semiconductor physics processes, chemistry, opticsR. Shoup – Oct ‘11 R. Shoup – Oct ‘11 Things I would not have believed in 1970 Progress - CS? • Reconfigurable hardware (FPGAs) wont be commercialized for 15 years, wont become popular for 25, and isn’t fully exploited 40 yrs later. “Our basic ideas about what a computer is, what is does, and how it does • In 40 years, most design will still be done informally, without math it, have hardly changed for decades.” grounding, flying by seat of our pants, in both hardware & software. -- Paul Dourish, Where the Action Is, 2001 • Computing will still be serial by default, parallel a special case. • CPUs will be built on nmeter elements, run at many ghz, yet most will use essentially the same architecture and programming model. “Of all undergraduate CS subjects, theoretical computer science has • Everything will still run as “applications”. changed the least over the decades.” • Turn-on and boot will still take a long time. -- SIGACT News, March 2004 • Industry will deploy, and consumers will accept, operating systems and applications with significant known bugs. “Wegners Conjecture: Interaction is more powerful than algorithms.” • Industry and academia will deploy networking on a global scale with -- Peter Wegner, CACM97 little or no security … and leave it that way for many years. • The word “crash” will still be commonly used.R. Shoup – Oct ‘11 R. Shoup – Oct ‘11 3
4.
Progress - Languages & Design? Progress - Software? “Modern programming languages are highly complex and are “Most software today is very much like an Egyptian pyramid with millions standardised by committees, … the resulting languages will inevitably of bricks piled on top of each other, with no structural integrity, but contain compromise, inconsistency, incompleteness and some bits that just done by brute force and thousands of slaves.” -- Alan Kay simply do not work as expected. … failures occur with monotonous regularity and with a similar frequency to 20 years ago.” -- Les Hatton, IT Week, April 2006 “The most amazing achievement of the computer software industry is its continuing cancellation of the steady and staggering gains made by the “The introduction of the microprocessor in 1971 marked the beginning of computer hardware industry.” -- Henry Petroski a 30-year stall in design methods for electronic systems.” -- Nick Tredennick “It has been said that the great scientific disciplines are examples of giants standing on the shoulders of other giants. It has also been said “If a system has an extremely powerful debugger, it may be because the that the software industry is an example of midgets standing on the system needs an extremely powerful debugger.” -- anonymous toes of other midgets.” -- Alan CooperR. Shoup – Oct ‘11 R. Shoup – Oct ‘11 Progress – AI? Progress - Security & Privacy? "The question [Can machines think?]… I believe to be too “Microsoft fixed 23 vulnerabilities across eight security bulletins as part meaningless to deserve discussion. Nevertheless, I believe that of its October Patch Tuesday release. Octobers Patch Tuesday at the end of the century the use of words and general release resolved issues in Internet Explorer versions 6 through 9, all educated opinion will have altered so much that one will be able to speak of machines thinking without expecting to be versions of Microsoft Windows from XP through 7, .NET and contradicted.” Silverlight, Microsoft Forefront Unified Access Gateway and Host -- Alan Turing, 1950 Integration Server, Microsoft said Oct. 11. Two of the patches are rated "critical," and six are rated "important," Microsoft said.” -- eWeek, Oct 11, 2011R. Shoup – Oct ‘11 R. Shoup – Oct ‘11 4
5.
Reconfigurable Computing - Challenging Early FPGA - 1969 • Need for more computation (10x - 1000x - 1Mx) – Simulation, vision, AI, data mining, etc, etc (or just more efficient use of existing hardware) Parallelism - custom pipelines/structures – Unfold computation in space (data parallel), or time (pipeline parallel) Hardware is more specific (lower generality) Reconfigurable parallel hardware … But our programming paradigm and nearly all our tools are still conceptualized for fixed, sequential hardware. Richard Shoup, CMU – “Programmable Cellular Logic Arrays”, 1970R. Shoup – Oct ‘11 R. Shoup – Oct ‘11 Parallelizing - Easy Parallelizing - Challenging inhomogeneous? unreliable? shared? XR. Shoup – Oct ‘11 R. Shoup – Oct ‘11 5
6.
Proposal: New Tools, New Math New Tools Needed • Single formal representation/language – Abstract definition of computation, not hardware or software • Formally capture specifications from the beginning – Declarative, relational, self-similar hierarchical, self-referring • Formally add detail, transform, and extend design • Deep primitives, mathematical foundations • Allow exploration of implementations, design spaces, trade-offs – Beneath/prior to Logic, Set Theory, algorithms – Parallel/serial simulation, emulation, FPGA, ASIC, full custom, SoC – Pure structure, simple primitives, unambiguous meaning • Provide interactive visual/graphic and textual representations • Formal from the beginning, and throughout • Make complex designs visible, understandable, manipulable – Initial specification, design, optimization, verification, • Provide formal verification, proofs, queries, analysis, security debugging, field configuration, modification, upgrading, etc. – Operation provably correct by construction, verifiable • Provide a path to other tools and methods – Security, privacy provable and verifiable in situR. Shoup – Oct ‘11 R. Shoup – Oct ‘11 -- New Math -- “Basic” ZFC Set Theory x y [(x = y) z (zx zy)] (extensionality) • Boundary Math x y z (z = {x,y}) (pairing) – Logic with one symbol z y (zy zx (z)) (comprehension schema) – Hierarchical structure Classic Sidney Harris cartoon: x ({}x yx (S(y)x)) (infinity) • Complex Logic “…and then a miracle occurs…”, x y (zy z x) (power set) – Imaginary logic values “I think you should be more explicit here in step two.” x (xa xa = {}) (foundation) • Link Theory – Composite relations w s (s = {y: xw (x,y)}) (replacement schema) • Constraint Graphs X f (xX-{} (f(x)x)) (choice) – Sequential inference “Later generations will regard set theory as a disease from which one has recovered.” -- Henri PoincaréR. Shoup – Oct ‘11 R. Shoup – Oct ‘11 6
7.
Boundary Math: Logic Bedrock F T ~ ( ) () All of propositional logic with a single symbol/concept (Laws of Form – George Spencer-Brown, 1969)R. Shoup – Oct ‘11 R. Shoup – Oct ‘11 The Void - Nothing The Void - Nothing (con’t) • No-Thing, prior to any object or distinction • No consequences or effects • Not a material or mathematical object – Yet is always dominated, available, free – Not the vacuum, the empty set, zero, etc • Cannot be combined with anything • No properties or attributes – Yet is always being combined, everywhere – Not emptiness, no measure or dimensionality • Cannot be named, referenced, pointed to • No location or place – What we indicate/assert by not speaking – Not here or there, yet everywhere • “The Tao that is named is not the Eternal Tao.” • Unique, shared by all, in common – The same for all viewpoints "God made everything out of nothing. But the nothingness shows through." -- Paul ValéryR. Shoup – Oct ‘11 R. Shoup – Oct ‘11 7
8.
Distinction – Simplest Idea About Distinctions • First Thing -- Simplicity Itself • Pure difference, discrimination • Every D has two sides – Nothing exists without its complement • Pure form, no interpretation • Smallest possible, unavoidable step from the Void • Every D is made in a space (larger D) – Problem with naïve Set Theory – Not-Void, not-nothing, but something/everything • First object (thing) and action (indication/cross) • Difference is prior to Object – Unique, prior to all else, bedrock, no "axioms" • Always a point of view, a position • “It from Bit” - Wheeler – "Everything is relative", seriously“Behind it all is surely an idea so simple, so beautiful, that when we grasp it - • cf Leibniz, Parker-Rhodes "Indistinguishables"in a decade, a century, or a millennium - we will all say to each other, how • First D = Big Bang?could it have been otherwise? How could we have been so stupid for so long?” -- John Archibald WheelerR. Shoup – Oct ‘11 R. Shoup – Oct ‘11 Two Distinctions Boundary Visualizations Outside the 1st D - symmetrical, cardinality, bosons Inside the 1st D - asymmetrical, ordinality, fermions Laws of Form – G. Spencer-BrownR. Shoup – Oct ‘11 R. Shoup – Oct ‘11 8
9.
Unifying Boundaries with Logic BMath: Notation • operator vs “in same space” Boolean algebra Boundary Math – ~(~(~(A B) C D) E) = F • Commutative? X F – no sequence, no linear order T () • Associative? X a a – no sequence, no linear order ~a (a) • Arity? X a b ab – arbitrary or none • Relations vs Functions a b c abc • New basis for Set Theory ab ( (a) (b) ) ab (a)b (William Bricken, Bricken Technologies)R. Shoup – Oct ‘11 R. Shoup – Oct ‘11 Boundary Math Example Unifying Boundaries with Objects ( (( )) (( )( )) ) original form ( (( )( )) ) cross ( (( ) ) ) call ( ) cross Encapsulation & AbstractionR. Shoup – Oct ‘11 R. Shoup – Oct ‘11 9
10.
Instancing & Replication Lambda Apply (Currying) Computation is the propagation of change through structureR. Shoup – Oct ‘11 R. Shoup – Oct ‘11 Self-Reference, Feedback, and Paradox -- Imaginary Logic Values -- Negative feedback “All Cretans are liars.” -- Epimenides of Crete “This sentence is False.” -- anonymous “The set of all sets not containing themselves.” -- Bertrand Russell “This statement is unprovable.” -- Kurt Gödel “This program does not halt.” -- Alan TuringR. Shoup – Oct ‘11 R. Shoup – Oct ‘11 10
11.
Classical Self-Reference (Feedback) Self-Reference - Where Time Begins 0 0101.. • Mechanical systems X = ~~X or 1 X = ~X i or j • Control Theory • Systems Theory X in X in • Cybernetics • etc … X out X out Negative feedback is commonly used in engineering, Autonomy (Memory) Antinomy/Paradox (Clock) … but paradox is forbidden in Logic and Set TheoryR. Shoup – Oct ‘11 R. Shoup – Oct ‘11 Imag Numbers vs Imag Logic Values Cantor Diagonalization p1 : . b11 b12 b13 b14 b15 . . . Numbers Logic p2 : . b21 b22 b23 b24 b25 . . . p3 : . b31 b32 b33 b34 b35 . . . x2 = -1 (x = -1/x) x = ~x p4 : . b41 b42 b43 b44 b45 . . . x = -1 = i or -i x = i or j p5 : . b51 b52 b53 b54 b55 . . . : : : bkk = ~bkk ! 1, -1, i, -i • F, T, i, j pk : .~b11 ~b22 ~b33 ~b44 ~b55 . .bkki : : : ok not ok! (N. Hellerstein)R. Shoup – Oct ‘11 R. Shoup – Oct ‘11 11
12.
Infinities Complex Logics - Summary • series 1 1 1 1 • 4-valued logic holds simple Paradox (F, T, i, j). • continued fractions 2 n 1 n ... 2 4 8 – Unify combinational and sequential domains • etc, etc – Time/Space trade-off: 4 timeless values 2 values + time • ... all self-referring. SS+m (S0 = 0) – Higher-order paradoxes, 2^2^n values arbitrary waveforms m m/2 (m0 = ½) • Paradoxes are common, unavoidable (cf. Gödel), useful. 4 – Bridge from finite to infinite forms, modeling Time 12 – 1 Closely related: Looping synchronous or async circuits in hardware or software 22 – Inconsistent databases, expert systems, logical controls, etc. 3 • limits, continuity 32 – Proof techniques, re-examine reductio ad absurdum, etc 5 • computability 7 .. • Mathematics is not static & lifeless – if self-ref is permitted. • verification, FMR. Shoup – Oct ‘11 R. Shoup – Oct ‘11 Imaginaries in Async Pipelines -- Combinatorial Relations -- Tom Etter & Richard Shoup Boundary Institute Request/Acknowledge signaling async transactionsR. Shoup – Oct ‘11 R. Shoup – Oct ‘11 12
13.
Relations vs Functions NOT, AND, OR as Relations computation fixed open 77 25 Fahrenheit / Centigrade relation “case count” Today, digital computers are entirely functional, but quantum computers are naturally relational.R. Shoup – Oct ‘11 R. Shoup – Oct ‘11 Example: Distributive Law Example: Cryptarithm all cases validR. Shoup – Oct ‘11 R. Shoup – Oct ‘11 13
14.
Cryptarithm Solution Cryptarithm SolutionR. Shoup – Oct ‘11 R. Shoup – Oct ‘11 Example: Quantum Interference Example: Quantum ComputationR. Shoup – Oct ‘11 R. Shoup – Oct ‘11 14
15.
Link Theory - Summary Link Theory: Case Counts & Domains • Theory of composite relations (multi-directional constraints) • Case counts, a set of possibilities • Symmetrical , directionless, timeless • Represent a wide range of problems – Logic, combinatorics, arithmetic, statistical, … , Qcomputing – New basis for discrete physics? • General theory of structure – Knowledge representation – Quantum, molecular computing, etc – Evolutionary, self-organizing systemsR. Shoup – Oct ‘11 R. Shoup – Oct ‘11 Sequential Constraints P ~Q -- Sequential Constraints -- Fred Furtek disallowed: [P] [~Q] Applied Combinatorics & Boundary Institute “Prohibited: P followed by NOT Q in the next state” “If P, then Q in the next state” “If NOT Q, then NOT P in the preceding state”R. Shoup – Oct ‘11 R. Shoup – Oct ‘11 15
16.
Example: IIR Filter AX+ F Sequential Constraints III Reset•(B0) A0 Reset•(C0) Q A J X Y a=A ~Reset •(B a) b=B ~Reset •(Cb) F I DB1*B B1 A1 P ~R D B G EB2 *C FD+ E GA1*B disallowed: [P] [Q]* [~R] B2 A2 E C H HA2*C IG+ H “If P, then while Q, R in the next state” JA0*A YI+JR. Shoup – Oct ‘11 R. Shoup – Oct ‘11 IIR Filter: Visible Behavior Sequential Constraint Graphs Resolve & delete the hidden signals (A,B,C,D,E,F,G,H,I,J) • Set of behavioral, sequential constraints to obtain the visible (input-output) behavior: • Constraint specifies joint state of variables in time R e s e t • ( Y A 0 * X) – Logical, arithmetic, and timing dependencies – Disallowed states, what cannot occur – Equivalent to / based upon regular expressions ~Reset • (a = X + B1 *a + B2*b) • (b=a) • Inference engine combines constraints – Proofs, queries, simulation, analyses of conditions, etc • Formal Verification – Abstract, RTL or gate-level, hardware or software, etc Reset • (a=X) • (b=0) ~Reset • (Y A1*a + A2*b + A0*(X + B1*a + B2*b)) – No global state, avoids most combinatorial explosionsR. Shoup – Oct ‘11 R. Shoup – Oct ‘11 16
17.
Present and Future Relevance Future Computing Directions • Single representation/language, unified hardware & software • Building highly complex, highly parallel systems – Scalability, fault tolerance, migration • Deep primitives, foundations (e.g. Boundary Math) – Programming productivity, reuse – Beneath/prior to Logic, Set Theory, Turing machines – Power/efficiency • Theory of structure (e.g. Boundary Math + Link Theory) • Searching for knowledge, not just concepts – Relational, hierarchical, self-referring, etc • Understanding represented via relations and structure • Formal techniques from the beginning – Initial specification, design, optimization, verification, • Proving and maintaining correctness, security debugging, field configuration, upgrading, etc. – Operation provably correct, by construction and anytime All of these require computation as mathematics – Security, privacy provable and verifiableR. Shoup – Oct ‘11 R. Shoup – Oct ‘11 Example - Design by Eversion Specification Implementation Time’s up! A proper formal specification is an implementation. www.boundary.org rshoup@boundary.orgR. Shoup – Oct ‘11 17
Be the first to comment