Random Arbiter Using Permutation Circuits for Scalable Fairness
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing random arbitration schemes are computationally intensive and lack scalability, often failing to maintain fairness and prevent starvation among clients competing for a limited resource.
Innovation Solution
The implementation of a permutation circuit and arbitration circuit that applies a randomly selected permutation to request vectors, using multiplexers and Benes networks to ensure fairness by identifying the winning client through an inverse permutation, thereby assigning resources efficiently across multiple clients.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If known random arbitration schemes are used, then randomness in arbitration is achieved, but computational complexity increases and scalability is limited
Solution Approach 1:
The arbitration process is segmented into distinct functional blocks: a permutation circuit that applies random permutations to request vectors, an arbitration unit that selects winners from permuted vectors, and an inverse permutation circuit that maps winners back to original client indices. This segmentation allows each block to be optimized independently, reducing overall circuit complexity while maintaining fairness through the random permutation mechanism.
2Reliability
If known random arbitration schemes are used, then randomness is introduced, but the system fails to maintain fairness and prevent starvation
Solution Approach 1:
The system performs preliminary random permutation of the request vector before arbitration. By pre-shuffling the requests through a permutation circuit controlled by random bits, the system ensures that no client consistently receives unfair treatment or experiences starvation. This preliminary randomization maintains fairness while the subsequent arbitration step efficiently selects winners from the permuted vector.
3Loss of energy
If circuit size is reduced for scalability, then power consumption decreases, but arbitration functionality must be maintained
Solution Approach 1:
The permutation circuit uses a compact representation where random bits control the permutation pattern rather than implementing all possible permutations. The inverse permutation circuit uses the same random bits to reconstruct the original ordering. This copying approach with shared random control bits significantly reduces circuit size and power consumption while ensuring arbitration correctness through the mathematical property that applying a permutation and then its inverse returns the original state.
Data Source
AI summary
An electronic apparatus includes a permutation circuit and an arbitration circuit. The permutation circuit is configured to apply to an input vector a permutation selected from a plurality of predefined permutations in response to a control word. The arbitration circuit is configured to receive a vector of requests for a resource, to instruct the permutation circuit to apply a randomly-selected permutation to the vector of requests, by configuring the permutation circuit with a corresponding randomly-selected control word so as to produce a permuted vector, to select an element of the permuted vector, to apply to the permuted vector an inverse of the randomly-selected permutation so as to produce an inversely-permuted vector, to identify an element of the inversely-permuted vector to which the selected element of the permuted vector is mapped, and to assign the resource to a client corresponding to the identified element of the inversely-permuted vector.


