1 / 25

Flat Arbiters

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

ina
Download Presentation

Flat Arbiters

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Outline • N-way arbiters • Flat arbitration • 3-way flat arbiter • General solution • Conclusions Outline ACSD Conference, Augsburg, Summer 2009

  3. N-way arbiters 0 1 0 1 0 1 0 1 0 1 0 1 N-way arbiters ACSD Conference, Augsburg, Summer 2009

  4. 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

  5. 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

  6. 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

  7. Outline • N-way arbiters • Flat arbitration • 3-way flat arbiter • General solution • Conclusions Outline ACSD Conference, Augsburg, Summer 2009

  8. 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

  9. 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

  10. Outline • N-way arbiters • Flat arbitration • 3-way flat arbiter • General solution • Conclusions Outline ACSD Conference, Augsburg, Summer 2009

  11. 3-way flat arbiter 3-way flat arbiter ACSD Conference, Augsburg, Summer 2009

  12. 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

  13. STG specification (with deadlocks) 3-way flat arbiter ACSD Conference, Augsburg, Summer 2009

  14. 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

  15. gC implementation 3-way flat arbiter ACSD Conference, Augsburg, Summer 2009

  16. 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

  17. Outline • General solution • Flat arbitration • 3-way flat arbiter study • General solution • Conclusions Outline ACSD Conference, Augsburg, Summer 2009

  18. 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

  19. 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

  20. Top-level view of generic N-way flat arbiter A B General solution ACSD Conference, Augsburg, Summer 2009

  21. 3-way decomposed solution (general approach) General solution ACSD Conference, Augsburg, Summer 2009

  22. 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

  23. Outline • General solution • Flat arbitration • 3-way flat arbiter study • General solution • Conclusions Outline ACSD Conference, Augsburg, Summer 2009

  24. 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

  25. Thank you! Questions? ACSD Conference, Augsburg, Summer 2009

More Related