sylab / cacheus Goto Github PK
View Code? Open in Web Editor NEWThe design and algorithms used in Cacheus are described in this USENIX FAST'21 paper and talk video: https://www.usenix.org/conference/fast21/presentation/rodriguez
The design and algorithms used in Cacheus are described in this USENIX FAST'21 paper and talk video: https://www.usenix.org/conference/fast21/presentation/rodriguez
Hello, I want to know what ikki.all.blkparse is?
Hello, I'm looking it up visual.py file, the configuration file is found in example.config the "config ['graphs']" parameter is required. How to specify this parameter? Is there anything else we need to pay attention to in order to run it. in addition pollutionator.py What is the main purpose of the file. Thank!
Hello, I read your FAST21 paper and found this repo. I was trying to reproduce the experiments. May I ask if you can share the download script for the dataset? Actually, I did not find dataset with name "CloudPhysics", "CloudVPS" and "CloudCache". This prevents me from running your codebase. Thanks for your help!
I found the MSR Cambridge Traces in http://iotta.snia.org/historical_section?tracetype=block-io, i am not sure if this is the MSR dataset.
I found this link http://iotta.snia.org/traces/block-io/414 in a closed issue. But still I do not know where to find the "CloudPhysics", "CloudVPS" and "CloudCache" dataset.
I can run the cacheus algorithm on FIU/home1 dataset. I am trying to test it on more FIU sub-datasets. A good paper!
Hi, I have a question related to the LeCaR implementation in this repo.
# Cache Miss
def miss(self, oblock):
evicted = None
freq = 1
if oblock in self.lru_hist:
entry = self.lru_hist[oblock]
freq = entry.freq + 1
del self.lru_hist[oblock]
reward_lru = -(self.discount_rate
**(self.time - entry.evicted_time))
self.adjustWeights(reward_lru, 0)
elif oblock in self.lfu_hist:
entry = self.lfu_hist[oblock]
freq = entry.freq + 1
del self.lfu_hist[oblock]
reward_lfu = -(self.discount_rate
**(self.time - entry.evicted_time))
self.adjustWeights(0, reward_lfu)
# If the cache is full, evict
if len(self.lru) == self.cache_size:
evicted, policy = self.evict()
self.addToCache(oblock, freq)
return evicted
In this case, the frequency of the newly-added object is the old frequency (before eviction) + 1. Why is this the case? The new object should have frequency of 1 considering that it has been evicted already by the cache, is that right?
Hello, I'm a doctor of computer science and technology from Huazhong University of science and technology in China. After reading your team paper learning cache replacement with cacheus, we find the code according to the link, but after analysis, we find that the file seems to be missing. Specifically, there should also be a /lib folder in the /code/algs file directory, which is the basis of various cache replacement algorithms. However, it seems that there is no such file in the file you uploaded. I hope I can get an answer. Thanks
HI
I am an undergraduate from Hust and I am very interested on your paper Cacheus.
However, after I downloaded Fiu trace and your source code, the demo doesn't work. When you run alecar6 experiment, you will find that the request function here is wrong and an TypeError will be raised for
place where the request is called_
for lba, write, _ in self.reader.read():
op, evicted = alg.request(lba, _ )
alecar6 request
def request(self, oblock):
miss = True
evicted = None
The number of the parameter here simply don't match with each other here.
It seems that the parameter ts here is missing.
What is the principle of Min algorithm? Is there any relevant literature? I can't understand the meaning of your code. Thank you very much!!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.