250 likes | 363 Views
Flat Arbiters. Andrey Mokhov 1 , Victor Khomenko 2 , Alex Yakovlev 1 1 School of Electrical, Electronic and Computer Engineering 2 School of Computing Science Newcastle University {andrey.mokhov, victor . khomenko, alex.yakovlev} @ ncl.ac.uk. Outline. N-way arbiters Flat arbitration
E N D
Flat Arbiters Andrey Mokhov1, Victor Khomenko2, Alex Yakovlev1 1 Schoolof Electrical, Electronic and Computer Engineering 2 School of Computing Science Newcastle University {andrey.mokhov, victor.khomenko, alex.yakovlev}@ncl.ac.uk ACSD Conference, Augsburg, Summer 2009
Outline • N-way arbiters • Flat arbitration • 3-way flat arbiter • General solution • Conclusions Outline ACSD Conference, Augsburg, Summer 2009
N-way arbiters 0 1 0 1 0 1 0 1 0 1 0 1 N-way arbiters ACSD Conference, Augsburg, Summer 2009
STG specifications: standard vs. early protocols Standard protocol At most one grant can be high at any moment of time Early protocol The next grant can be issued as soon as the previous request is removed N-way arbiters ACSD Conference, Augsburg, Summer 2009
2-way Mutual-Exclusion (ME) element More complex protocol than a 2-way arbiter, permitting trace r1+, r2+, g1+, r2- N-way arbiters ACSD Conference, Augsburg, Summer 2009
Solutions review • Locking arbiters • Concurrent arbitration • Timing assumptions • Limited information (only winner is detected) • Token ring arbiters • Concurrent arbitration, high scalability • Latency • Unordered client service • Balanced tree of 2-way arbiters • Simplicity • Sequential arbitration (but see [Josephs, Yantchev 1996]) • Limited information (only winner is detected) • Flat arbiters • Concurrent arbitration, speed-independent • Complicated, not practical for large values of N • Complete information on the order of requests N-way arbiters ACSD Conference, Augsburg, Summer 2009
Outline • N-way arbiters • Flat arbitration • 3-way flat arbiter • General solution • Conclusions Outline ACSD Conference, Augsburg, Summer 2009
Flat arbitration • The ME elements structure is flat (all pairwise arbitrations are performed concurrently) • The decision logic does not contain ME elements and hence has bounded latency Flat arbitration ACSD Conference, Augsburg, Summer 2009
Flat arbitration • Matrix of ME elements detects complete information on order of the received requests (arbitration matrix). • Decision logic is speed-independent and has bounded latency. It decides which grant to issue according to the arbitration matrix. • Composition of environment STG, ME element STGs, and decision logic STG is a deadlock free, speed-independent STG (formally verified in framework). Flat arbitration ACSD Conference, Augsburg, Summer 2009
Outline • N-way arbiters • Flat arbitration • 3-way flat arbiter • General solution • Conclusions Outline ACSD Conference, Augsburg, Summer 2009
3-way flat arbiter 3-way flat arbiter ACSD Conference, Augsburg, Summer 2009
3-way flat arbiter (implementation with deadlocks) 2 deadlock traces: 1) ra+ , rb+ , rc+ , ab+ , bc+ , ca+ 2) ra+ , rb+ , rc+ , ba+ , ac+ , cb+ 1 1 1 A 1 1 1 B C 1 1 1 3-way flat arbiter ACSD Conference, Augsburg, Summer 2009
STG specification (with deadlocks) 3-way flat arbiter ACSD Conference, Augsburg, Summer 2009
STG specification (deadlocks resolved) ME elements are used in a non-standard way! ra+ rb+ rc+ ab+ bc+ ca+ ga+ ra− 3-way flat arbiter ACSD Conference, Augsburg, Summer 2009
gC implementation 3-way flat arbiter ACSD Conference, Augsburg, Summer 2009
STG-driven approach limitations • STG is large and complicated if N>3 • The number of deadlocks grows extremely fast: • 2 for N=3 • 40 for N=4 • 904 for N=5 • 32048 for N=6 • Logic decomposition is required for N>3 Flat arbitration ACSD Conference, Augsburg, Summer 2009
Outline • General solution • Flat arbitration • 3-way flat arbiter study • General solution • Conclusions Outline ACSD Conference, Augsburg, Summer 2009
Basic notions • Arbitration matrix: Boolean N x N matrix with A[i][j]=1 iff request[i] won arbitration with request[j] • Request[k]is observable in A iff it has at least one win • A is stable w.r.t. request[k] iff all the arbitrations in which it participates have completed • A is stable iff it is stable w.r.t. all the observable requests • A may contain cycles leading to deadlocks General solution ACSD Conference, Augsburg, Summer 2009
Acyclic arbitration matrix B • Request[k] is dominated (denoted dom[k]) iff it has lost an arbitration with some smaller request[j] (j<k) • Request[k] is non-dominated (denoted ndom[k]) iff it has won all the arbitrations with smaller requests • Arbirtration martix B is defined as: • Matrix B properties: • B can obtained from A by reversing some of the arbitration results • B is acyclic; if A is stable then B has a winner • The winner is observable in A, and A is stable w.r.t. it General solution ACSD Conference, Augsburg, Summer 2009
Top-level view of generic N-way flat arbiter A B General solution ACSD Conference, Augsburg, Summer 2009
3-way decomposed solution (general approach) General solution ACSD Conference, Augsburg, Summer 2009
4-way flat arbiter (gC-implementation) • [ga↑] = ab (ac + ca bc) (ad + da (bd + cd)) • [ga↓] = ab’ ac’ ad’ • [gb↑] = ba (bc + cb ac) (bd + db (ad + cd)) • [gb↓] = ba’ bc’ bd’ • [gc↑] = ca cb (cd + dc (ad + bd)) • [gc↓] = ca’ cb’ cd’ • [gd↑] = da db dc • [gd↓] = da’ db’ dc’ • In general, the height of the transistor stack is: • (2N-3) in the set network • (N-1) in the reset network General solution ACSD Conference, Augsburg, Summer 2009
Outline • General solution • Flat arbitration • 3-way flat arbiter study • General solution • Conclusions Outline ACSD Conference, Augsburg, Summer 2009
Conclusions • The work presents a new type of arbiters • Work with global information about pairwise arbitrations • All the ME elements work in parallel • Use ME elements in a non-standard way • Practical circuits for 3-way case, theoretical polynomial-size construction for general case • All the provided solutions are formally proven to be deadlock-free and speed-independent • The developed framework allows for other decision policies (e.g. when up to m < N requests can be granted) • Future work • Further optimisation of N-way flat arbiters • Investigation of opportunities opened by flat arbitration scheme (possibility to generate total order of the received events) ACSD Conference, Augsburg, Summer 2009 Conclusions
Thank you! Questions? ACSD Conference, Augsburg, Summer 2009