1
CALTECH CS137 Winter2006 -- DeHon
1
CS137: Electronic Design Automation
Day 13: February 8, 2006 NC
CALTECH CS137 Winter2006 -- DeHon
2
Things we’ve seen
- Add two N-bit numbers in O(log(N)) time on
O(N) processors (gates)
- Sort N elements in O(log(N)) time on O(N)
processors
- Evaluate an FSM on N inputs in O(log(N))
time on O(N) processors
- Find the I’th element in a collection of N items
in O(log2(N)) time on O(N) processors
- Compute issuable instructions in O(log(N))
time with O(N) hardware
CALTECH CS137 Winter2006 -- DeHon
3
Complexity Class
- What are the complexity classes for
parallelism?
- Suggested not all tasks have perfect
area-time tradeoffs
- How well can we parallelize problems?
– Differentiate things which parallelize well – …things that don’t parallelize so well
CALTECH CS137 Winter2006 -- DeHon
4
If we use enough space…
- Exponential space: P=NP
– NTM runs in time f(N) – Use 2f(N) PEs – Each evaluates with a different choice sequence – Prefix on completion – Solve problem in f(N) time
- Of course, ignores 3-space wire delays
CALTECH CS137 Winter2006 -- DeHon
5
- So, we really want to know, how fast
something can be run with a “reasonable” number of processor (amount of hardware)
CALTECH CS137 Winter2006 -- DeHon
6
NC
- Class of problems that can be:
– Computed in polylogarithimic time
- Polynomial in logk(N)
- E.g. 3log2(N)+2log(N)+234
– Using polynomial hardware
- NC for Nick’s Class