Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add pseudo-LRU eviction policy to the Configuration Cache #9

Open
seldridge opened this issue Feb 21, 2016 · 0 comments
Open

Add pseudo-LRU eviction policy to the Configuration Cache #9

seldridge opened this issue Feb 21, 2016 · 0 comments

Comments

@seldridge
Copy link
Collaborator

The original C++ simulator implemented a pseudo-LRU replacement algorithm for replacing unused entries (specifically a clock LRU). Add this back in as the current way that this is working is a "first unused" which will kill the possibility of temporal locality.

seldridge added a commit that referenced this issue May 6, 2016
This corrects two problems that were preventing multi-transaction
workloads from working:
  * The learning variant of DANA's Transaction Table was using the
    `numOutputs` to determine when all data had been written to the
    output queue of the X-FILES Arbiter for feedforward transactions.
    For feedforward transactions `numOutputs` is never set. Feedforward
    transactions now use `nodesInCurrentLayer` to determine when all
    data has been written and that transaction is finished.
  * The ASID--NNID Table Walker was never transitioning back to an idle
    state after servicing a request by the Configuration Cache to load a
    specific neural network configuration.

This enables multiple transactions using different neural network
configurations to be run back to back. This has been tested with serial
transactions that do not require eviction of neural network
configurations from the Configuration Cache.

Multiple transactions that require eviction from the Configuration Cache
will, however, fail (#9).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant