Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea...

26
Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th , 2014

Transcript of Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea...

Page 1: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

Inexact Computing

Jordi CortadellaUniversitat Politècnica de Catalunya

Barcelona

Academia Europaea Annual ConfereceJuly 18th, 2014

Page 2: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

Inexact Computing Jordi Cortadella 2

Page 3: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

Inexact Computing Jordi Cortadella 3

Page 4: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

Inexact Computing Jordi Cortadella 4

Power consumption: 150W

Energy:

2 weeks desktop 1 year Ethiopian person

Page 5: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

Inexact Computing Jordi Cortadella 5

Tchip = Tambient + Power • Rthermal

Power V2

Speed Power

Transistors

Thermal limit

V

Page 6: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

Technology and voltage scaling

250nm 180nm 130nm 90nm 65nm 32nm 14nm0

0.5

1

1.5

2

2.5

Volts

Inexact Computing Jordi Cortadella 6

Transistor size

Page 7: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

Energy for computing

Inexact Computing Jordi Cortadella 7

0 1

Energy

Page 8: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

Energy for computing

Inexact Computing Jordi Cortadella 8

0 1Voltage

Page 9: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

Energy for computing

Inexact Computing Jordi Cortadella 9

0 1Voltage

Page 10: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

Exa

ctC

om

pu

tin

g

1.0

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0.0

Energy and errors

Inexact Computing Jordi Cortadella 10

Source: Kumar, Rabaey, Ramchandran, Dept. EECS, UC BerkeleySRAM Supply Voltage Scaling: a Reliability Perspective, ISQED 2009.

Energy

InexactComputing

Voltage

Page 11: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

What does error mean?

Inexact Computing Jordi Cortadella 11

1 1 0 0 1 0 0 0 1 0 1 1 0 0 1 0 0 0 1 0

0 0 0 1 1 1 0 1 1 1 1 0 0 1 1 0 1 0 1 1

0 1 1 1 0 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0

1 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 0 0 1 0

0 0 1 1 1 0 0 0 0 1 0 0 0 0 1 0 1 1 0 1

1 1 1 0 0 1 0 0 0 1 1 1 0 1 1 1 0 0 1 0

0 0 1 1 1 0 0 1 0 0 1 1 0 0 0 0 1 0 0 0

1 1 0 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1

0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 0

1 1 0 0 0 1 1 1 0 1 1 1 1 0 0 0 1 1 0 1

0 1 0 0 0 0 1 0 1 1 0 1 0 0 0 0 1 0 1 1

1 0 1 1 1 0 0 0 1 1 1 0 0 0 0 1 0 1 0 0

Page 12: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

What does error mean?

Inexact Computing Jordi Cortadella 12

1 1 0 0 1 0 0 0 1 0 1 1 0 0 1 0 0 0 1 0

0 0 0 1 1 1 0 1 1 1 1 0 0 1 1 0 1 0 1 1

0 1 1 1 0 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0

1 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 0 0 1 0

0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 1

1 1 1 0 0 1 0 0 0 1 1 1 0 1 1 1 0 0 1 0

0 0 1 1 1 0 0 1 0 0 1 1 0 0 0 0 1 0 0 0

1 1 0 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1

0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 0

1 1 0 0 0 1 1 1 0 1 1 1 1 0 0 0 1 1 0 1

0 1 0 0 0 0 1 0 1 1 0 1 0 0 0 0 1 0 1 1

1 0 1 1 1 0 0 0 1 1 1 0 0 0 0 1 0 1 0 0

Page 13: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

What does error mean?

Inexact Computing Jordi Cortadella 13

1 1 0 0 1 0 0 0 1 0 1 1 0 0 1 0 0 0 1 0

0 0 0 1 1 1 0 1 1 1 1 0 0 1 1 0 1 0 1 1

0 1 1 1 0 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0

1 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 0 0 1 0

0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 1

1 1 1 0 0 1 0 0 0 1 1 1 0 1 1 1 0 0 1 0

0 0 1 1 1 0 0 1 0 0 1 1 0 0 0 0 1 0 0 0

1 1 0 0 1 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1

0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 0

1 1 0 0 0 1 1 1 0 1 1 1 1 0 0 0 1 1 0 1

0 1 0 0 0 0 1 0 1 1 0 1 0 0 0 0 1 0 1 1

1 0 1 1 1 0 0 0 1 1 1 0 0 0 0 1 0 1 0 0

Page 14: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

What does error mean?

Inexact Computing Jordi Cortadella 14

1 1 0 0 1 0 0 0 1 0 1 1 0 0 1 0 0 0 1 0

0 0 0 1 1 1 0 1 1 1 1 0 0 1 1 0 1 0 1 1

0 1 1 1 0 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0

1 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 0 0 1 0

0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 1

1 1 1 0 0 1 0 0 0 1 1 1 0 1 1 1 0 0 1 0

0 0 1 1 1 0 0 1 0 0 1 1 0 0 0 0 1 0 0 0

1 1 0 0 1 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1

0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 0

1 1 0 0 0 1 1 1 0 1 1 1 1 0 0 0 1 1 0 1

0 1 0 0 0 0 1 0 1 1 0 1 0 0 0 1 1 0 1 1

1 0 1 1 1 0 0 0 1 1 1 0 0 0 0 1 0 1 0 0

Page 15: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

Inexact computing

Inexact Computing Jordi Cortadella 15

+2

2

4

4.00000013

3.14159265

Page 16: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

Is inexact computing acceptable?

Inexact Computing Jordi Cortadella 16

Page 17: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

What is good enough?

• It depends on– the type of computation– the application domain– subjective perceptions

Inexact Computing Jordi Cortadella 17

Page 18: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

Energy vs. error rate

Inexact Computing Jordi Cortadella 18

time

Computation

Energy (Voltage)

Errors

Page 19: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

Computing with errors

Inexact Computing Jordi Cortadella 19

Comput. 1CP C CP Comput. 2 C R Comput. 2 C

good enough(go ahead)

checkpoint check

wrong(go back)

correct(go ahead)

Checkpoint

Recoverweak memory(low energy)

strong memory(mostly sleeping)

Comput. 3CP

Page 20: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

How to check: Certifying algorithms

Inexact Computing Jordi Cortadella 20

Source: R.M. McConnell, K. Mehlhorn, S. Näher, P. Schweitzer,Certifying Algorithms. Computer Science Review 5(2): 119-161 (2011)

Page 21: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

Example: sorting

Inexact Computing Jordi Cortadella 21

1 3 4 7 8 9 13 14 22 23 29 36 38 43 47 52

43 3 14 36 52 23 13 4 22 9 29 7 38 1 47 8

Sorting: O(n log n)

Check:• V’ is sorted: O(n)• V’ is a permutation of V: O(n),

using hashing

V:

V’:

Page 22: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

Example: SAT

Inexact Computing Jordi Cortadella 22

Is it satisfiable? (NP)Is is unsatisfiable? (co-NP)

Check: O(n)

UNSAT

How to check?

• Run reliable SAT (high energy), or

• Re-run unreliable SAT(increase probability of correct answer)

Page 23: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

Conclusions• Energy should be a first-class citizen in

algorithm design and analysis

• Modern computing should be energy-aware:

Accuracy vs. Sustainability

• New programming paradigms are requiredto live with inexact computations:

<Algorithm, Certificate, Check>Inexact Computing Jordi Cortadella 23

Page 24: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

Some bibliography• Krishna V. Palem, Lingamneni Avinash. Ten Years of Building Broken

Chips: The Physics and Engineering of Inexact Computing. ACM Trans. Embedded Comput. Syst. 12(2s): 87 (2013)

• Gary Anthes. Inexact design: beyond fault-tolerance. Commun. ACM 56, 4 (April 2013), 18-20.

• Jaeyoon Kim and Sandip Tiwari. Inexact computing using probabilistic circuits: Ultra low-power digital processing. J. Emerg. Technol. Comput. Syst. 10, 2, Article 16 (March 2014).

• R.M. McConnell, K. Mehlhorn, S. Näher, P. Schweitzer, Certifying Algorithms. Computer Science Review 5(2): 119-161 (2011).

• Computing device using inexact computing architecture processor,Patent US 20110321067 A1

Inexact Computing Jordi Cortadella 24

Page 25: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

Inexact Computing Jordi Cortadella 25

Page 26: Inexact Computing Jordi Cortadella Universitat Politècnica de Catalunya Barcelona Academia Europaea Annual Conferece July 18 th, 2014.

Inexact Computing Jordi Cortadella 26