This guide explains how to install the ReStore package, which provides a single restore command that can run any policy with any workload using a clean, consistent interface.
# Make installation script executable
chmod +x install.sh
# Install system-wide (requires sudo)
sudo ./install.sh
# Or install to user directory
./install.sh --prefix ~/.local# Create build directory
mkdir build && cd build
# Configure with CMake
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local
# Build
make -j$(nproc)
# Install
sudo make install# Initialize configuration once
restore init -workload MSR_hm_1
# Run different policies with same configuration
restore run -policy RL -workload MSR_hm_1
restore run -policy LFU -workload MSR_hm_1
restore run -policy LRU -workload MSR_hm_1
# Or override specific parameters
restore run -policy RL -workload MSR_hm_1 -max_capacity_tier1 8000/usr/local/
├── bin/
│ ├── restore # Main CLI command
│ ├── Run_RL # Policy executables
│ ├── Run_LFU
│ ├── Run_LRU
│ └── ... (other policies)
├── share/ReStore/
│ ├── workload/ # Workload data
│ └── results/ # Results templates
└── lib/
├── cmake/ReStore/ # CMake configuration
└── pkgconfig/ # pkg-config files
# Test if restore command works
restore list policies# Run the test script
./examples/test_package.sh# Run example experiments
./examples/run_experiments.sh-
Command not found: Add installation directory to PATH
export PATH="/usr/local/bin:$PATH"
-
Permission denied: Check file permissions
chmod +x /usr/local/bin/restore
-
Missing dependencies: Install required libraries
sudo apt-get install libfastforest-dev
-
Build errors: Check compiler version
g++ --version # Should be >= 9.0
- Check the
PACKAGE_README.mdfor detailed usage - Run
restore --helpfor command help - Use
restore list policiesto see available options
For issues or questions:
- Check the troubleshooting section
- Review log files in Results_* directories
- Ensure all dependencies are installed
- Verify workload data is available