Skip to main content
Version: 2.4.0

Getting Started

1.1 Checkout ChronoLog​

To get started with ChronoLog, the first step involves cloning the repository to your system. To do so:

git clone https://github.com/grc-iit/ChronoLog.git

1.2 Prerequisites​

1.2.1 Spack​

ChronoLog requires various packages managed by Spack. To ensure compatibility and stability, we recommend using Spack version v0.21.2 (2024-03-01). Follow the steps below to install and configure Spack:

git clone --branch v0.21.2 https://github.com/spack/spack.git
source /path-to-where-spack-was-cloned/spack/share/spack/setup-env.sh

1.3 Installing Dependencies​

Currently, most of the dependencies are listed in spack.yaml and can be installed via Spack. gcc and g++ will be needed to build ChronoLog.

1.3.1 Setting Up the Spack Environment​

A Spack environment needs to be created and activated using the following commands.

cd ChronoLog
git switch develop
spack env activate -p .

To check if the environment is activated the following can be executed:

spack env status

1.3.2 Dependency Installation Commands​

If the environment is properly activated, it can be installed:

spack install -v
info

Installation can take more than 30 minutes.

1.4 Building ChronoLog​

1.4.1 Preparation​

caution

Ensure (by using spack env status) all building steps are performed within the activated Spack environment to allow CMake to locate necessary dependencies.

1.4.2 Build Commands​

For building ChronoLog the following commands must be executed.

# Build the environment
cd ChronoLog
git switch develop
mkdir build && cd build

# Build the project
cmake ..
make all

1.5 Executable Files Description​

Building ChronoLog generates the following executables:

  • Servers: chronovisor_server for ChronoVisor, chrono_keeper for ChronoKeeper and chrono_grapher for ChronoGrapher
  • Client Test Cases: Located in test/integration/Client/.
  • Admin Tool: client_admin in Client/ChronoAdmin serves as a workload generator.