Skip to content

WGierke/tuk1_numa_a

Repository files navigation

TuK NUMA Benchmarks

Setup

Requires libnuma, so it will only compile on Linux; for macOS you can use a Docker container (see below).

  1. Requirements: gcc, cmake, libnuma-dev
  2. Clone this repository and cd into it
  3. mkdir build && cd build
  4. cmake -G 'Unix Makefiles' -DCMAKE_BUILD_TYPE=Release .. (or set build type to Debug if needed)
  5. make -j8
  6. Run ./src/tuk_numa_benchmark

Develop with a Docker container (e.g. on macOS)

  1. Assuming docker is installed https://store.docker.com/editions/community/docker-ce-desktop-mac
  2. Build a docker image using the included Dockerfile: cd <repo> && docker build -t tuk-numa ./docker
  3. After creating the build directory, you can run CMake and make inside a container, e.g.:
docker run --rm \
    -v `pwd`:`pwd` \
    -w `pwd`/build \
    tuk-numa /bin/bash -c "cmake -G 'Unix Makefiles' -DCMAKE_BUILD_TYPE=Debug .."
  1. Because all this seems pretty tedious to type, I've set up a task and debug configuration for Visual Studio Code:
    1. Once you've opened the repo folder in VS Code
    2. Press Cmd-Shift-P and select "Tasks: Run Task" to build the docker image and initialize the CMake build directory
    3. Compile the project with Cmd-Shift-B
    4. Set a breakpoint and start debugging in VS Code, or select "Run Test Task" from the Cmd-Shift-P menu to run without a debugger

Results

Based on 7 computations (took 9 hours)

Task 1

columnscan_20m columnscan_100m rowscan_20m rowscan_100m

Task 2

join_20m_2000 join_20m_20000 join_20m_200000 join_20m_2000000 join_100m_2000 join_100m_20000 join_100m_200000 join_100m_2000000 join_local_20m join_local_100m join_local_remote_20m join_local_remote_100m join_same_remote_20m join_same_remote_100m join_different_remote_20m join_different_remote_100m

Task 3

query_plots

About

NUMA Benchmarks for the Lecture "Trends and Concepts in the Software Industry I" at HPI

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5