Skip to content
This repository has been archived by the owner on Jun 19, 2023. It is now read-only.

cache: switch to 2q #20

Merged
merged 3 commits into from Aug 20, 2019
Merged

cache: switch to 2q #20

merged 3 commits into from Aug 20, 2019

Conversation

Stebalien
Copy link
Member

Due to patent concerns in closed-source downstream products:
ipfs/kubo#6590

Due to patent concerns in closed-source downstream products:
ipfs/kubo#6590
@Stebalien Stebalien merged commit 4733550 into master Aug 20, 2019
@Stebalien Stebalien deleted the fix/use-2q branch August 20, 2019 20:45
@hsanjuan
Copy link
Collaborator

@Stebalien worth renaming arc_cache.go (and _test.go)?

@Stebalien
Copy link
Member Author

Meh. I didn't really want to break a bunch of stuff. I started with that but then realized we'd also have to rename the config options.

ARC isn't trademarked, just patented.

BrandonWeng added a commit to sei-protocol/sei-cosmos that referenced this pull request Feb 3, 2023
## Describe your changes and provide context
IRRC we had discussions around bumping the limit for the inter-block
cache since 1k is pretty little for our volume of TXs per block. Im
setting it to 100k to be the same as the BoundedCacheKv store

While I was investigating the race condition issue in the LRU cache, I
saw that several repos brought up concerns around using ArcCache in
their code as it's been patented by IBM (and later sold to Intel)

hashicorp/golang-lru#31 
hashicorp/golang-lru#73 

ipfs/kubo#6590
ipfs/go-ipfs-blockstore#20

Postgres and IPFS replaced it with 2Q, which based on the whitepaper
should have the same performance as ARC.
## Testing performed to validate your change
Deployed a LT cluster with these changes and saw no impact to consensus
and the performance (with LT clients running) is similar

![image](https://user-images.githubusercontent.com/18161326/216499319-be5ae693-242f-453c-8073-414bf5f810bd.png)
codchen pushed a commit to sei-protocol/sei-cosmos that referenced this pull request Feb 12, 2023
## Describe your changes and provide context
IRRC we had discussions around bumping the limit for the inter-block
cache since 1k is pretty little for our volume of TXs per block. Im
setting it to 100k to be the same as the BoundedCacheKv store

While I was investigating the race condition issue in the LRU cache, I
saw that several repos brought up concerns around using ArcCache in
their code as it's been patented by IBM (and later sold to Intel)

hashicorp/golang-lru#31 
hashicorp/golang-lru#73 

ipfs/kubo#6590
ipfs/go-ipfs-blockstore#20

Postgres and IPFS replaced it with 2Q, which based on the whitepaper
should have the same performance as ARC.
## Testing performed to validate your change
Deployed a LT cluster with these changes and saw no impact to consensus
and the performance (with LT clients running) is similar

![image](https://user-images.githubusercontent.com/18161326/216499319-be5ae693-242f-453c-8073-414bf5f810bd.png)
Jorropo pushed a commit to ipfs/go-libipfs-rapide that referenced this pull request Mar 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants