cs137 things we ve seen electronic design automation
play

CS137: Things weve seen Electronic Design Automation Add two N-bit - PDF document

CS137: Things weve seen Electronic Design Automation 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 Day 13: February 8, 2006 Evaluate an FSM on N inputs in


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

  2. All in NC Open Question • Can do • NC ?= P – Add two N-bit numbers in O(log(N)) time on O(N) • Are all Polynomial Time algorithms processors (gates) computable in parallel – Sort N elements in O(log(N)) time on O(N) processors – Polylog time – Evaluate an FSM on N inputs in O(log(N)) time on – Polynomial processors O(N) processors – Find the I’th element in a collection of N items in O(log 2 (N)) time on O(N) processors • Suspected they are not – Compute issuable instructions in O(log(N)) time – More at end with O(N) hardware 7 8 CALTECH CS137 Winter2006 -- DeHon CALTECH CS137 Winter2006 -- DeHon Transitive Closure Basic Sequential Algorithm • N=|V| • Given a Graph: G=(V,E) • Think of M=N×N connectivity matrix for G • Compute G*=(V,E*) • M 2 =G 2 • E* contains an edge e=(V i ,V j ) • M 2 [i,j]=OR (all k) (M[i,k] & M[k,j]) – Iff there is a path from V i to V j in G • M 2n [i,j]=OR (all k) (M n [i,k] & M n [k,j]) • M N represents G N =G* • Transitive Closure ∈ NC • Compute in log steps – O(N 3 log(N)) 9 10 CALTECH CS137 Winter2006 -- DeHon CALTECH CS137 Winter2006 -- DeHon Parallel Algorithm All Pairs Shortest Paths • Use N 3 processor • Given a Graph: G=(V,E) – Edge weight on each edge e ∈ E • N processors per element M n [i,j] • Compute G’=(V,E’) • N 2 processors to compute all elements of M n • E’ contains an edge e’=(V i ,V j ) • Group of N processors for M n [i,j] perform an – Iff there is a path from V i to V j in G associative reduce � O(log(N)) time – Edge weight is shortest path from V i to V j in G • Still takes log(N) steps to compute M N • O(log 2 (N)) with N 3 processors � in NC • All Pairs Shortest Path ∈ NC – Slight modification on transitive closure – [this construct may be weak?] 11 12 CALTECH CS137 Winter2006 -- DeHon CALTECH CS137 Winter2006 -- DeHon 2

  3. Basic Sequential Algorithm (Same) Parallel Algorithm • As before • Use N 3 processor – N=|V| • N processors per element M n [i,j] – Think of M=N×N connectivity matrix for G • N 2 processors to compute all elements of M n – M 2 =G 2 • Change • Group of N processors for M n [i,j] perform an – OR to MIN associative reduce � O(log(N)) time – & to + • Still takes log(N) steps to compute M N • So • O(log 2 (N)) with N 3 processors � in NC – M 2 [i,j]=OR (all k) (M[i,k] & M[k,j]) – Becomes: M 2 [i,j]=MIN (all k) (M[i,k] + M[k,j]) – [this construct may be weak?] • M N represents G N =G’ 13 14 CALTECH CS137 Winter2006 -- DeHon CALTECH CS137 Winter2006 -- DeHon NL ⊆ NC NL • Complexity class • Theorem from Borodin: – Computations that can be computed using – If A is accepted by a NDTM using space logarithmic space on a Non-Deterministic S(n) ≥ log 2 (n), Turing Machine – then there is a d>0 such that: • Similarly L DEPTH A (n) ≤ d×S(n) 2 . – logspace on Deterministic TM – [Depth here = circuit depth = time] – Addition ∈ L • For NL • Certainly: L ⊆ NL – S(n)=log 2 (n) � Depth(n) ≤ d×log 2 (n) 15 16 CALTECH CS137 Winter2006 -- DeHon CALTECH CS137 Winter2006 -- DeHon Borodin Construction (Idea) Borodin States • State is bounded • What states can the NDTM be in? – At most s S(N) values on tape • Can construct the graph of all states • s=size of symbol set – This will only take polynomial hardware – Head of TM at most S(N) positions • Compute transitive closure on graph – q states for FSM – N locations for input tape head – O(log 2 (N)) • Total: states=N×q×S(N)×s S(N) • Use associative reduce to extract – For S(N)=log(N) solution • N×q×log(N) ×s log(N) =qN (log(s)+1) log(N) – O(log(N)) – Number of states polynomial in N 17 18 CALTECH CS137 Winter2006 -- DeHon CALTECH CS137 Winter2006 -- DeHon 3

  4. Build Graph Transitive Closure • Construct graph |V|=# states • Transitive Closure with O(|V| 3 ) PEs • M[i,j]=1 iff move from configuration i to j – Still polynomial in N • If V i is a state that corresponds to the input – |V|=N×q×log(N) ×s log(N) =qN (log(s)+1) log(N) head being on square k – O(|V| 3 ) ⊆ O(N 3(log(s)+2) ) – M[i,j] “enabled” iff move from i to j only when kth input is 1 and inputs is 1. • In log 2 (N) time – M[i,j] “enabled” iff move from i to j only when kth – O(log 2 (|V|)) ⊆ O( [log(N (log(s)+2) )] 2 ) input is 0 and input is 0. – Can just be a set of AND’s initially setting up the – O([log(s)+2] 2 ×log 2 (N))=O(log 2 (N)) initial connectivity matrix M 19 20 CALTECH CS137 Winter2006 -- DeHon CALTECH CS137 Winter2006 -- DeHon Converse Holds Extract Result • Borodin • OR reduce on Reachable states – If A is in DEPTH((S(n)) for S(n) ≥ log(n) – Can reach an accepting state for TM? – Then A is in DSPACE(S(n)) – Recursive evaluation of gate value • w/ compact stack representation • Therefore: NL ⊆ NC • Specialized for S(n)=log(n) – If A is in NC, then A is in L – NC ⊆ L • Know L ⊆ NL … just showed NL ⊆ NC • NL = NC 21 22 CALTECH CS137 Winter2006 -- DeHon CALTECH CS137 Winter2006 -- DeHon Context Free Languages P-Complete • Can recognize all context free • There are languages that are P-Complete languages in NC – i.e. if could show these were in NC • PDA ⊆ NC – Then would show NC=P • E.g. TM simulation 23 24 CALTECH CS137 Winter2006 -- DeHon CALTECH CS137 Winter2006 -- DeHon 4

  5. Complexity Roundup Physical Realism • In NC • Unknown: • All rely on reductions in log(N) time – FA – P=NC (P=NL) • With 3D space, speed of light – PDA – …there are no log(N) time reductions – L • Maybe notion of 3-space parallelizable? – NL – Run in O(N 1/3 ) time – O(N) processors • Cannot talk to more than O(N) in O(N 1/3 ) time 25 26 CALTECH CS137 Winter2006 -- DeHon CALTECH CS137 Winter2006 -- DeHon Admin • Friday/Monday:?? • Q: requests – what’s missing? • Project: two things due end of next week – Sequential implementation – Proposed plan of attack 27 CALTECH CS137 Winter2006 -- DeHon 5

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend