GithubHelp home page GithubHelp logo

coiee / cacheresearch Goto Github PK

View Code? Open in Web Editor NEW

This project forked from serverlessos/cacheresearch

0.0 0.0 0.0 85.47 MB

License: GNU General Public License v3.0

Shell 1.92% Python 0.48% Java 97.59%

cacheresearch's Introduction

cacheResearch

Installation

Users need to prepare a local testbed with Linux operating system (e.g., Ubuntu 16.04), and download the source code and scripts from Github to the server. The base workspace is named cacheResearch. The following is the directory structure of the source code, scripts, and instructions:

  • README.md: This file has detailed instructions to conduct experiments.
  • sourceCode: The source code of Flame for CacheManager and Cachelet.
  • cacheTrace: The workload trace files in Flame's evaluation.
  • workspace: The workspace of Flame's evaluation, which contains the compiled binary files of Flame's, the scripts to launch Flame's CacheManager and Cachelet, the scripts to start Flame's evaluations, and the scripts to display the comparison results of Flame.
  • coldstartRate: The evaluation results of Flame's competing techniques.

Launching Flame

After downloading the source code and scripts, users can choose to manually compile the source code of Flame's CacheManager and Cachelet. For easy-to-user, we provide the compiled binary files of Flame's core components, these runnable files (.jar) can be listed as following commands:

$ mkdir /home/tank/1_yanan/ && cd /home/tank/1_yanan/
$ git clone http://github.com/Flame/cacheResearch/ 
$ cd cacheResearch/workspace/
$ ls 
... 
cacheLoadGen_linux_flameManual.jar 
cachelet-linux.jar 
cacheManager-linux.jar 
result.jar 
start-flame.sh 
... 

Then, using the following commands to launch Flame system and conduct the evaluations:

$ source /etc/profile
$ sh start-flame.sh 23040 a rehash 300000 0.5f
............... Evaluation start ................
1000 0.1\%
2000 0.2\%
...
3110000 99.9\%
1921s rehash
............... Evaluation stopped ................

The start-flame.sh file is the script to launch an experiment of Flame's cache management. It requires five parameters, including the server memory configuration, the trace type, the load balancing policy, the keep-alive time for non-hotspot functions, and the hotspot region size.

We can change the input parameters to evaluate Flame's effectiveness under different workload traces. For example,

  • sh start-flame.sh 23040 a rehash 300000 0.5
  • sh start-flame.sh 50176 b rehash 300000 0.5
  • sh start-flame.sh 81920 c rehash 300000 0.5

Note that users can arbitrarily change the configuration of server memory and the workload trace to be evaluated, e.g., using sh start-flame.sh 10000 a rehash 300000 0.5 or sh start-flame.sh 25600 a rehash 300000 0.5. However, we only provide the experimental results of the competing systems from a specific server memory configuration for each workload trace, if the user want to compare the cache efficiency of Flame with the other four techniques, please use the following server memory configuration for each workload trace.

Workload Server memory (MB)
a 23040
b 50176
c 81920
d 38912
e 40960
f 262144
g 18432
h 38912

We can also change the load balancing policy from consistent hash to round-robin, for example,

  • sh start-flame.sh 23040 a round 300000 0.5
  • sh start-flame.sh 50176 b round 300000 0.5
  • sh start-flame.sh 81920 c round 300000 0.5

When the experiment finishes, user can use the following commands to get the parse the evaluation results of Flame, and the comparison results will also display from the shell script.

The evaluation result of Flame is recorded in directory 'xxx/cacheResearch/coldstartRate/temp/', user should first collect the results of Flame in specific directory using the following commands:

$ cd ../coldstartRate/temp/ 
$ mv *csv Flame/rehash/

Comparison Result:

We have conducted the evaluation results of four competing techniques in directory 'coldstartRate/temp/', each of them is stored in a separated fold which is named by their system names. User can use the following commands to compare the cache efficiency of the competing systems:

$ java -jar result.jar a 23040  
Workload trace=a, server cache capacity=23040 MB 
Workspace base path=xxx 
Evaluation Output: 
-----------------------             
Keepalive policy: 
# of Requests        CacheUsage (MB)      ColdstartRate 
xxx              xxx        xxx 
FaasCache policy: 
# of Requests       CacheUsage (MB)     ColdstartRate 
xxx              xxx        xxx 
... 
... 
Flame policy: 
# of Requests       CacheUsage (MB)     ColdstartRate 
xxx ;             xxx  ;      xxx 

Due to the storage space limitatiton in GitHub, which does not allow files exceed 100MB be uploaded in the repository. Therefore, we only update the sub-set for each workload trace, and this would lead to an unrepresentative comparison result for Flame.

Any question please contact us from [email protected].

cacheresearch's People

Contributors

ynyang1 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.