Montek Singh COMP790-084 Oct 11, 2011. Today’s topics: ◦ more on error metrics ◦ more...

Post on 19-Dec-2015

218 views 2 download

Transcript of Montek Singh COMP790-084 Oct 11, 2011. Today’s topics: ◦ more on error metrics ◦ more...

Emerging Technologies of Computation

Montek Singh

COMP790-084Oct 11, 2011

Today’s topics:◦ more on error metrics◦ more applications◦ architectures and design tools◦ challenges and benefits◦ open questions

Today: Probabilistic Design

For arithmetic units, error metric based upon an error threshold, δ◦ errors < δ are tolerable◦ pδ = prob (err < δ)

Error metrics

Applications which harness probabilistic behavior◦ algorithms with repeated execution with the same inputs

resulting in distinct outcomes (with some prob. distribution)

Separate algorithm into deterministic and probabilistic parts

Applications

Bayesian Inference◦ statistical inference technique mimicking human

decision-making process◦ set of hypotheses and probability weights◦ each observation leads to a revision of prob

weights

◦ Example:

Example: Bayesian Networks

Example◦ Given

prob of rain prob of sprinkler being on given rain

◦ Find: prob of rain given that the grass is wet Implemented using PCMOS

Example: Bayesian Networks

Random Neural Networks◦ Poisson process models the “firing” of a neuron

Probabilistic Cellular Automata◦ Each cell’s next state is a function of its neighbors◦ Next state could be 0 or 1 with certain prob

Hyper Encryption◦ Random seed generated

using PCMOS

More Examples

More Examples

Applications that tolerate probabilistic behavior◦ multimedia mostly◦ signal processing◦ others?

More Examples

Different partitioning of deterministic vs. probabilistic parts of an algorithm

Architectures

Host (deterministic) vs. coprocessor (probabilistic) partitioning

Architectures

Comparison◦ Host = deterministic◦ without coprocessor: software only◦ with coprocessor:

using PCMOS using CMOS

Results

Quality of randomness using PCMOS vs. pseudo RNG

Results

Benefits◦ …?

Challenges◦ …?

Discussion

Architectural questions◦ Which design is better in terms of E-p tradeoff?◦ Example:

Which adder is better: carry-skip or ripple-carry? carry-skip adder has faster propagation time ripple-carry adder consumes less energy But: carry-skip adder may be better when there are

delay-induced errors!

Design tools◦ What type of tool support is needed?◦ Simulation and validation?

Open questions