ds2-lab / infinicache

InfiniCache: A cost-effective memory cache that is built atop ephemeral serverless functions (USENIX FAST'20)
https://ds2-lab.github.io/infinicache/
MIT License
252 stars 22 forks source link

can it store video or audio file? #8

Closed kite97 closed 2 years ago

zhangjyr commented 3 years ago

There is no limit on what type of file to store.

kite97 commented 3 years ago

Is it feasible to port it to openfaas platform?

kite97 commented 3 years ago

Thank you for the answer. Can this cache be used to transfer intermediate temporary data between cloud functions? My understanding is that it can only be used for the interaction between the client and the service, but cloud functions cannot be used to call this service. Is that so?

zhangjyr commented 3 years ago

Is it feasible to port it to openfaas platform?

Surely it is. Actually, neboduus tried to port it to KNative: https://github.com/neboduus/infinicache

Thank you for the answer. Can this cache be used to transfer intermediate temporary data between cloud functions? My understanding is that it can only be used for the interaction between the client and the service, but cloud functions cannot be used to call this service. Is that so?

The short answer is yes. So far, the work is for the EC based client.

kite97 commented 3 years ago

Thank you for your reply. Do you plan to store temporary data generated by cloud functions in the future? In other words, it can be called in the cloud function to access temporary data.

wangaoone commented 3 years ago

Thank you for your reply. Do you plan to store temporary data generated by cloud functions in the future? In other words, it can be called in the cloud function to access temporary data.

Yes, I believe InifiniCache could be used to store the data generated by cloud functions. You could import the ecRedis client lib in the cloud function and the functions should be connected to the InfiniCache and transfer the data.

kite97 commented 3 years ago

Thank you for your reply. Since it is a cache, do you need the program to run all the time? otherwise, the program will stop and the saved data will be lost. Is that so?

wangaoone commented 3 years ago

Thank you for your reply. Since it is a cache, do you need the program to run all the time? otherwise, the program will stop and the saved data will be lost. Is that so?

I assume the "program" here is the application that would store the data to the InfiniCache. The proxy is running on the application side. So if you shut down the application, then the state in the proxy would be lost. But if you could run the proxy independently, that will be fine.

kite97 commented 3 years ago

PREFIX="your lambda function prefix",what is the meaning of prefix? Is it the name of lambda function?

zhangjyr commented 3 years ago

The proxy is designed to manage multiple lambda deployments. In our experiment, we managed 400 lambda deployments in total. So all these 400 lambda deployments will have a common prefix, like if these lambda deployments are named from CacheNode0, CacheNode1, ..., CacheNode400, then "CacheNode" is the common prefix, and the configuration should be changed as PREFIX="CacheNode"