Energy-Efficient Algorithms Erik Demaine, Jayson Lynch, Geronimo - - PowerPoint PPT Presentation

energy efficient algorithms
SMART_READER_LITE
LIVE PREVIEW

Energy-Efficient Algorithms Erik Demaine, Jayson Lynch, Geronimo - - PowerPoint PPT Presentation

Energy-Efficient Algorithms Erik Demaine, Jayson Lynch, Geronimo Mirano, Nirvan Tyagi MIT CSAIL Why energy-efficient? Cheaper, Greener, Faster, Longer Cheaper and Greener Longer battery life Faster processors Computation


slide-1
SLIDE 1

Energy-Efficient Algorithms

Erik Demaine, Jayson Lynch, Geronimo Mirano, Nirvan Tyagi MIT CSAIL

slide-2
SLIDE 2

Why energy-efficient? Cheaper, Greener, Faster, Longer

  • Cheaper and Greener
  • Longer battery life
  • Faster processors

Computation represents 5% of worldwide energy use, growing 4-10% annually compared with 3% growth in total energy use [Heddeghem 2014]

slide-3
SLIDE 3

Why energy-efficient? Cheaper, Greener, Faster, Longer

  • Cheaper and Greener
  • Longer battery life
  • Faster processors

Computation represents 5% of worldwide energy use, growing 4-10% annually compared with 3% growth in total energy use [Heddeghem 2014]

slide-4
SLIDE 4

Why energy-efficient? Cheaper, Greener, Faster, Longer

  • Cheaper and Greener
  • Longer battery life
  • Faster processors

AMD FX-8370 clocked at 8.72GHz by The Stilt using liquid nitrogen cooling.

Computation represents 5% of worldwide energy use, growing 4-10% annually compared with 3% growth in total energy use [Heddeghem 2014]

slide-5
SLIDE 5

Koomey’s Law

  • Energy efficiency of computation

increases exponentially

  • Computations per kWh doubles

every 1.57 years.

[Koomey, Berard, Sanchez, Wong ‘09]

slide-6
SLIDE 6

Landauer’s Principle [Landauer ‘61]

  • Erasing bits has a minimum energy cost
  • 1 bit = k T ln 2 Joules

○ k is Boltzman’s constant ○ T is the temperature

  • 1 bit = 7.6*10^-28 kWh at room temperature
  • Experimental support [BAPCDL ‘12]

x x y x y

x = 0 x = y

slide-7
SLIDE 7

Landauer’s Limit

  • Koomey’s Law: energy

efficiency of computation doubles every 1.57 years

  • Landauer’s Principle:

○ 1 bit = 7.6*10^-28 kWh

  • ≈ Five orders of magnitude

away [Center for Energy Efficient Electronic Science]

  • At this rate we will hit a

‘ceiling’ in a few decades.

1.E+17 1.E+18 1.E+19 1.E+20 1.E+21 1.E+22

[Koomey, Berard, Sanchez, Wong ‘09]

Landauer’s Limit

slide-8
SLIDE 8

Reversible Computing

  • Circumvents Landauer’s Limit - no information destroyed
  • Requires that all gates/functions are bijective
  • Reversible computing is still universal (given extra ‘garbage’ space)

[Lecerf ‘63, Bennett ‘73, FT ‘82] ○ Only a constant number of ancilla bits needed for circuits [AGS ‘15]

Fredkin Gate Toffoli Gate

slide-9
SLIDE 9

Building Reversible Computers

  • Split Level Charge Recovery Logic
  • Resonant Circuits
  • Nanomagnetic Circuits
  • Superconducting Circuits

Cyclos Semiconductor ‘12 MIT ‘99

slide-10
SLIDE 10

Reversible Computing

  • Circumvents Landauer’s Limit - no information destroyed
  • Requires that all gates/functions are bijective
  • Reversible computing is still universal [Lecerf ‘63, Bennett ‘73, FT ‘82]

○ Only a constant number of ancilla bits needed for circuits [AGS ‘15]

  • Existing general results for simulating all algorithms reversibly require

significantly more computational resources ○ Quadratic space [Bennett ‘79] or ○ Exponential time [Bennett ‘89] or ○ Trade-off between those extremes [Williams ‘00][BTV ‘01]

slide-11
SLIDE 11
  • Establish RAM model of computation
  • Charge one unit of energy whenever a bit is destroyed.

○ Li and Vitany also pose information-energy model [LV ‘92]

  • Some operations are cheap (reversible), others are

expensive

○ Cost of a function is:

  • Examples:

Landauer Energy Cost [this paper]

x, y f(x, y)

f

x += y

Energy Cost: 0

x >> 1

Energy Cost: 1

x = 0

Energy Cost: w

slide-12
SLIDE 12
  • Analyze the energy complexity E(n) of algorithms

○ 0 ≤ E(n) ≤ wT(n)

  • Create new (semi-)reversible algorithms to minimize the

energy cost without large time/space overhead

  • Understand time/space/energy tradeoff

Semi-Reversible Computing [this paper]

slide-13
SLIDE 13

Algorithms [this paper]

slide-14
SLIDE 14

Data Structures [this paper]

slide-15
SLIDE 15

Basic Building Blocks [this paper]

  • Languages and compiler for semi-reversible computing [DLT ‘16]
  • Costs and energy efficient versions for many computer primitives
  • Protected vs. General

General if example: if (a > 2) { a -= 4; }

slide-16
SLIDE 16

Basic Building Blocks [this paper]

  • Languages and compiler for semi-reversible computing [DLT ‘16]
  • Costs and energy efficient versions for many computer primitives
  • Protected vs. General

Protected if: if (condition) { … condition not modified … } else { … condition not modified … }

slide-17
SLIDE 17

Basic Building Blocks [this paper]

  • Languages and compiler for semi-reversible computing [DLT ‘16]
  • Costs and energy efficient versions for many computer primitives
  • Protected vs. General

Protected if example: if (a > 2) { b -= 4; }

slide-18
SLIDE 18

Basic Building Blocks [this paper]

  • Languages and compiler for semi-reversible computing [DLT ‘16]
  • Costs and energy efficient versions for many computer primitives
  • Protected vs. General

Protected for: for (init; cond; reversible update) { … cond not affected … }

slide-19
SLIDE 19

Algorithmic Techniques for Semi-Reversibility

  • Pointer Swapping
  • Logging

○ energy cost → space cost

  • Copy-out trick, unrolling and reverse-

subroutines

Energy Cost w No Energy Cost

Irreversible: p = p.next;

slide-20
SLIDE 20
  • Pointer Swapping
  • Logging

○ energy cost → space cost

  • Copy-out trick, unrolling and reverse-

subroutines

Reversible, Doubly-linked: q += p // q was 0 p -= q p += q.next // p was 0 q -= p.prev

Algorithmic Techniques for Semi-Reversibility

Energy Cost w No Energy Cost

slide-21
SLIDE 21

Algorithmic Techniques for Semi-Reversibility

  • Pointer Swapping
  • Logging

○ energy cost → space cost

  • Copy-out trick, unrolling and reverse-

subroutines

Energy Cost w No Energy Cost

Reversible, Doubly-linked: q += p // q was 0 p -= q p += q.next // p was 0 q -= p.prev

slide-22
SLIDE 22

Algorithmic Techniques for Semi-Reversibility

  • Pointer Swapping
  • Logging

○ energy cost → space cost

  • Copy-out trick, unrolling and reverse-

subroutines

Energy Cost w No Energy Cost

Reversible, Doubly-linked: q += p // q was 0 p -= q p += q.next // p was 0 q -= p.prev

slide-23
SLIDE 23

Sorting Algorithms [this paper]

slide-24
SLIDE 24
  • Preserve a copy of the input; if not preserving input, would necessarily pay Ω

(n lg n) energy.

  • Attains theoretical irreversible lower bound, O(n lg n) time + O(n) space

Reversible Merge Sort [this paper]

SORT(A, B)

MERGE(A1’, A2’)

SORT(A1,B)

= [a1, a2, … , aN] = [0, 0, … , 0] = [a1, a2, … , aN] = [ak1, … , akN] SPLIT SPLIT

SORT(A2,B)

JOIN A B A A’

slide-25
SLIDE 25
  • Preserve a copy of the input; if not preserving input, would necessarily pay Ω

(n lg n) energy.

  • Attains theoretical irreversible lower bound, O(n lg n) time + O(n) space

Reversible Merge Sort [this paper]

MERGE(A1’, A2’)

SORT(A1,B)

= [(a1,1), (a2,2), … (aN,N)] = [(0,0), … (0,0)] = [(ak1,k1), (ak2,k2), … (akN,kN)] SPLIT SPLIT

SORT(A2,B)

JOIN = [(a1,1), (a2,2), … (aN,N)] A B A A’

SORT(A, B)

slide-26
SLIDE 26

Data Structure Techniques for Semi-Reversibility

  • In general, data structures will accumulate logging space

with every operation

  • Partially solved by periodic rebuilding

+

  • 1. Rots: 010
  • 2. Rots: 001
  • 3. Rots: 0101
  • 4. Rots: 1001
  • 5. Rots: 1100

Log:

slide-27
SLIDE 27

Data Structures! [this paper]

slide-28
SLIDE 28

Graph Algorithms

slide-29
SLIDE 29

All Pairs Shortest Path

  • Floyd-Warshall Algorithm

○ Potentially deletes path lengths in adjacency matrix many times

FloydWarshall(): for k = 1 to n: for i = 1 to n: for j = 1 to n : path[i][j] = ... min(path[i][j]; path[i][k] + path[k][j])

slide-30
SLIDE 30

All Pairs Shortest Path

  • Reversible Floyd-Warshall

[Frank ‘99]

○ Must recover the state of all the erased distances. ○ Can be seen immediately from full logging technique.

FloydWarshall(): for k = 1 to n: for i = 1 to n: for j = 1 to n : path[i][j] = ... min(path[i][j]; path[i][k] + path[k][j])

slide-31
SLIDE 31

All Pairs Shortest Path

  • (min, +) Matrix Multiplication

○ Still deleting many entries in the adjacency matrix ○ Algorithm runs O(lg V) matrix multiplications

APSPMM(W): //Given adjacency matrix W W(1) = W while m < n-1: W(2m) = W(m) ⊕ W(m) m = 2m return W(m)c

slide-32
SLIDE 32

All Pairs Shortest Path

  • Reversible (min, +) Matrix

Multiplication [Leighton]

○ Save space by only storing each intermediate matrix. ○ Each new matrix can be recomputed from the prior two.

APSPMM(W): //Given adjacency matrix W W(1) = W while m < n-1: W(2m) = W(m) ⊕ W(m) m = 2m return W(m)c

slide-33
SLIDE 33

All Pairs Shortest Path [this paper]

  • Reduced Energy (min, +)

Matrix Multiplication

○ Each matrix element can be calculated reversibly. We now only erase O(V 2) bits per matrix multiplication.

APSPMM(W): //Given adjacency matrix W W(1) = W while m < n-1: W(2m) = W(m) ⊕ W(m) m = 2m return W(m)c

slide-34
SLIDE 34

All Pairs Shortest Path

  • Non-trivial tradeoff between time, space, and energy in

the APSP algorithms.

slide-35
SLIDE 35

Open Problems - New Way of Analyzing Algorithms

Any algorithms you want!

  • Shortest Path and APSP
  • Machine Learning Algorithms
  • Dynamic Programming
  • Linear Programming
  • vEB Trees
  • Fibonacci Heaps
  • FFT
  • String Search
  • Geometric Algorithms
  • Cryptography
slide-36
SLIDE 36

Open Problems - Model Extensions

  • Streaming and Sub-Linear Algorithms

○ typically, space-heavy algorithms are easiest to make reversible; thus, these present a challenge.

  • Succinct Data Structures
  • Randomized algorithms

○ Motivation for minimizing randomness needed.

  • Modeling memory and cache
  • New hardware
  • Lower bounds on time/space/energy complexity
slide-37
SLIDE 37

Acknowledgments Erik Demaine Jayson Lynch Geronimo Mirano Nirvan Tyagi Martin Demaine Kevin Kelly Maria L. Messick Licheng Rao