Special Topic Emerging Technologies of Computation Montek Singh

  • Slides: 65
Download presentation
Special Topic: Emerging Technologies of Computation Montek Singh COMP 740 Nov 7, 2016

Special Topic: Emerging Technologies of Computation Montek Singh COMP 740 Nov 7, 2016

List of Topics � Quantum dot cellular automata (QCA) ◦ Electrostatic QCA ◦ Magnetic

List of Topics � Quantum dot cellular automata (QCA) ◦ Electrostatic QCA ◦ Magnetic QCA � Probabilistic Computing � Multicore/Many-core systems � On-Chip Networks � Computing using DNA ◦ DNA as the computer ◦ DNA as the assembler of a computer � Neuromorphic Computing

Cellular Automata � Discrete model studied in computability ◦ grid made up of “cells”

Cellular Automata � Discrete model studied in computability ◦ grid made up of “cells” ◦ each cell can be in one of finite number of states ◦ each cell has a defined “neighborhood” ◦ at each new time step, the state of a cell is determined by the state of its neighborhood in prior time step Conway’s Game of Life

Cellular Automata: Elementary examples � e. g. , “Rule 30” � e. g. ,

Cellular Automata: Elementary examples � e. g. , “Rule 30” � e. g. , “Rule 110”

Cellular Automata: Biology ex � Seashell patterns ◦ each cell’s pigment controlled by activating

Cellular Automata: Biology ex � Seashell patterns ◦ each cell’s pigment controlled by activating and inhibiting activity of neighbors Conus textile

Quantum Dot Cellular Automata � QCA ◦ proposed models of quantum computation ◦ analogous

Quantum Dot Cellular Automata � QCA ◦ proposed models of quantum computation ◦ analogous to conventional CAs �but based on quantum mechanical phenomenon of “tunneling” � Quantum dots ◦ 4 -dot cell �basic unit of storage and computation �two states: -1 and +1 �electrostatic repulsion

QCA: wires � Wires formed by juxtaposition of cells ◦ if leftmost is controlled

QCA: wires � Wires formed by juxtaposition of cells ◦ if leftmost is controlled externally, all others align same direction ◦ like “dominoes” falling

QCA: inverter � Key idea is to place cells at 45 degrees w. r.

QCA: inverter � Key idea is to place cells at 45 degrees w. r. t. each other � Two branches used here, one can work too

QCA: basic gate � Majority gate ◦ 2 out of 3 inputs determine output

QCA: basic gate � Majority gate ◦ 2 out of 3 inputs determine output � Can you make? ◦ AND gate ◦ OR gate

Magnetic QCA

Magnetic QCA

Basics of magnetism � Magnetic domains �regions within magnetic material with uniform magnetization… �…

Basics of magnetism � Magnetic domains �regions within magnetic material with uniform magnetization… �… separated by “domain walls” �magnetic moments all exactly aligned �responsible for magnetic behavior of “ferromagnetic” materials: iron, nickel, etc. � What causes them? �magneto-static energy is minimized � Other energy terms: �magnetoelastic anisotropy �magnetocrystalline anisotropy �Zeeman energy Magnetic domains

Basics of magnetism � Magnetic domains ◦ more domains reduces magnetostatic energy ◦ but

Basics of magnetism � Magnetic domains ◦ more domains reduces magnetostatic energy ◦ but increases wall energy � Single Domain (SD) ◦ 10 to 100 nm is a good size

Basics of magnetism � Magnetization ◦ … under externally applied magnetic field (H) ◦

Basics of magnetism � Magnetization ◦ … under externally applied magnetic field (H) ◦ domains change shape and magnetic moments re-orient �walls shift or disappear ◦ even physical shape of material can change somewhat! �called magnetostriction �useful in actuators and sensors ◦ in strong enough field, all domains aligned �minimizes Zeeman energy

MQCA: majority gate

MQCA: majority gate

MQCA: majority gate

MQCA: majority gate

Probabilistic Computing

Probabilistic Computing

Basics of probabilistic design � Operate at reduced voltage ◦ more noise but lesser

Basics of probabilistic design � Operate at reduced voltage ◦ more noise but lesser energy consumption � Where is this acceptable? � Where could this be even desirable?

Probabilistic CMOS switch � Thermal noise makes any switch noisy ◦ probability of error

Probabilistic CMOS switch � Thermal noise makes any switch noisy ◦ probability of error depends on thermal noise vs. operating voltage

Energy-Correctness Tradeoffs � energy required goes up exponentially with prob. of correctness

Energy-Correctness Tradeoffs � energy required goes up exponentially with prob. of correctness

Probabilistic arithmetic � Supply reduced voltage to adder gates ◦ fine-grain: each stage receives

Probabilistic arithmetic � Supply reduced voltage to adder gates ◦ fine-grain: each stage receives own voltage ◦ coarse-grain: use binning

Probabilistic arithmetic � Energy-correctness tradeoff example

Probabilistic arithmetic � Energy-correctness tradeoff example

Multicore and Many-core Systems

Multicore and Many-core Systems

What is Multicore Design? � Two or more CPU cores on a single die

What is Multicore Design? � Two or more CPU cores on a single die ◦ typically share L 2 cache ◦ typically separate L 1 caches ◦ share main memory

Why Multicore? � What was happening before c. 2010? � What started happening c.

Why Multicore? � What was happening before c. 2010? � What started happening c. 2010? � Why?

Why Multicore? � Three main technological reasons ◦ Memory Wall �increasing gap between CPU

Why Multicore? � Three main technological reasons ◦ Memory Wall �increasing gap between CPU and memory speeds �no longer makes sense to simply make CPU faster ◦ ILP Wall �increasing difficulty in finding enough parallelism in single stream of instructions �tried hyper-threading already ◦ Power Wall �increasing frequency was increasing power density without so much increase in performance �poses big manufacturing problems

Why Multicore?

Why Multicore?

Example: Intel i 7

Example: Intel i 7

Example: ARM Cortex-A 9

Example: ARM Cortex-A 9

Example: NVIDIA

Example: NVIDIA

On-Chip Networks (NOC = Network-on-a-chip)

On-Chip Networks (NOC = Network-on-a-chip)

What is an NOC? � Communication fabric between components/cores

What is an NOC? � Communication fabric between components/cores

Communication inside a Systemon-Chip (So. C) � Several topologies

Communication inside a Systemon-Chip (So. C) � Several topologies

Topology Example � Grid-structured No. C

Topology Example � Grid-structured No. C

Layers of abstraction �… in terms of OSI layer model of networking

Layers of abstraction �… in terms of OSI layer model of networking

Topologies: Regular

Topologies: Regular

Topologies: Irregular

Topologies: Irregular

Computing using DNA

Computing using DNA

Computing using DNA � Two different technologies ◦ DNA as biochemical computer �DNA molecules

Computing using DNA � Two different technologies ◦ DNA as biochemical computer �DNA molecules encode data �enzymes, probes etc. manipulate data ◦ DNA used to assemble electronic computer �DNA molecules used as scaffolding �nanoscale electronic components piggyback �DNA assembles the computer

“I was fascinated. With my own hands, I was creating DNA that did not

“I was fascinated. With my own hands, I was creating DNA that did not exist in nature. ” Leonard M. Adleman Scientific American, August 1998

How do we make DNA compute? � To build a computer, only two things

How do we make DNA compute? � To build a computer, only two things are really needed ◦ a method of storing information ◦ a few simple operations for acting on that information Turing machine � Is DNA good enough? ◦ great way to store the “blueprint of life” ◦ enzymes (polymerases and ligases) can operate ◦ Is this enough? YES!

Let’s choose a problem! � Hamiltonian Path Problem ◦ given: a directed graph, G

Let’s choose a problem! � Hamiltonian Path Problem ◦ given: a directed graph, G ◦ given: specified start and end nodes, s and t ◦ definition: Hamiltonian path is one that goes from start node to end node, passing through each remaining node exactly once ◦ decide: whether a Hamiltonian path exists for <G, s, t> � Like all good problems, this one is NP-complete

An algorithm Given graph with n vertices, 1. Generate a set of random paths

An algorithm Given graph with n vertices, 1. Generate a set of random paths through the graph 2. For each path: a. check if path has correct start and end nodes b. check if path passes through exactly n nodes c. check if each vertex is visited Remove path if it fails any of these checks 3. If set is not empty, report that a Hamiltonian path exists.

Adleman’s DNA computer � Hamiltonian Path Problem ◦ 7 cities, 14 nonstop flights ◦

Adleman’s DNA computer � Hamiltonian Path Problem ◦ 7 cities, 14 nonstop flights ◦ takes about a min for most of us � Smaller problem ◦ 4 cities ◦ for illustration

Coding the problem � Use DNA fragments to code cities and flights ◦ each

Coding the problem � Use DNA fragments to code cities and flights ◦ each city X has two parts to its name �(X 1 X 2) �and complement (X’ 1 X’ 2) ◦ a flight also has 2 parts �flight from X 1 X 2 to Y 1 Y 2 has sequence: (X 2 Y 1)

Coding the problem � Synthesize: ◦ complements of city names (X’ 1 X’ 2)

Coding the problem � Synthesize: ◦ complements of city names (X’ 1 X’ 2) ◦ flights (X 2 Y 1) �A pinch of each has 1014 molecules ◦ throw them all into a test tube ◦ add water, ligase, salt ◦ one drop, one second!

What happened? � Each flight bonds only with complements of its start and end

What happened? � Each flight bonds only with complements of its start and end cities: ◦ flights (X 2 Y 1) ◦ bonds with (X’ 1 X’ 2) and (Y’ 1 Y’ 2) ◦ ligase seals fragments � Sequences grow: ◦ Atlanta-Boston-Chicago ◦ …

Enormous parallelism! � 1014 or so parallel computations! � All paths created at once

Enormous parallelism! � 1014 or so parallel computations! � All paths created at once

Basics of DNA Self-Assembly � Pioneering work by Chris Dwyer et al. ◦ Ph.

Basics of DNA Self-Assembly � Pioneering work by Chris Dwyer et al. ◦ Ph. D at UNC; now faculty at Duke � Key Idea: ◦ Exploit constraints on DNA bonding to design DNA sequences that will only come together in predictable ways ◦ Piggy back components of interest on top of DNA: transistors, wires, etc. � Terminology: ◦ functionalization: attaching DNA strand to a component of interest

Forming a triad � 3 distinct DNA-functionalized objects assemble into a triad if sequences

Forming a triad � 3 distinct DNA-functionalized objects assemble into a triad if sequences are carefully chosen

Forming a grid � Extend grid � Protein idea to 2 D attached to

Forming a grid � Extend grid � Protein idea to 2 D attached to form the pattern “CAD”

Basic building block: Triangular structure � Three rods, anchored to a solid ◦ assembly

Basic building block: Triangular structure � Three rods, anchored to a solid ◦ assembly in several steps

Cubic unit cell � Extend the triangle into this structure

Cubic unit cell � Extend the triangle into this structure

Electronic components � Transistors ◦ “ring-gated fieldeffect transistor” ◦ RG-FET

Electronic components � Transistors ◦ “ring-gated fieldeffect transistor” ◦ RG-FET

Electronic components � Nanowires (gold)

Electronic components � Nanowires (gold)

Let’s make a gate! � 2 -input NAND

Let’s make a gate! � 2 -input NAND

Give it some structural support � Embed in a DNA cube of insulating unit

Give it some structural support � Embed in a DNA cube of insulating unit cells ◦ gray-shaded ones are gates/wires

How many distinct DNA strands? � Simple � More method: economical method: ◦ build

How many distinct DNA strands? � Simple � More method: economical method: ◦ build one face at a time: only 15 unique sequences!

What about larger structures? � Use hierarchical assembly

What about larger structures? � Use hierarchical assembly

Neuromorphic Systems Mimicking neurons in computation

Neuromorphic Systems Mimicking neurons in computation

Basic Idea � Departure from von Neumann computing � Distributed, massively parallel � Each

Basic Idea � Departure from von Neumann computing � Distributed, massively parallel � Each compute element is a neuron ◦ basic functions: sum, threshold, emit spike

Retina � Lots of photoreceptors � Feed information to brain via optical nerve

Retina � Lots of photoreceptors � Feed information to brain via optical nerve

END OF SLIDES

END OF SLIDES