-
Notifications
You must be signed in to change notification settings - Fork 23
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
7e6e9ce
commit 3760912
Showing
61 changed files
with
3,478 additions
and
1,404 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
[submodule "workloads/memcached-ycsb"] | ||
path = workloads/memcached-ycsb | ||
url = https://github.com/SlugLab/YCSB/ | ||
[submodule "workloads/memcached"] | ||
path = workloads/memcached | ||
url = https://github.com/memcached/memcached | ||
[submodule "workloads/gapbs"] | ||
path = workloads/gapbs | ||
url = https://github.com/victoryang00/gapbs | ||
[submodule "script/perfmon"] | ||
path = script/perfmon | ||
url = https://github.com/intel/perfmon | ||
[submodule "workloads/vectordb"] | ||
path = workloads/vectordb | ||
url = https://github.com/jina-ai/vectordb |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,29 +1,30 @@ | ||
cmake_minimum_required(VERSION 3.11.0) | ||
project(CXL-MEM-Simulator VERSION 0.1.0) | ||
project(CXLMemSim VERSION 0.1.0) | ||
set(CMAKE_CXX_STANDARD 23) | ||
|
||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") | ||
add_compile_options (-fdiagnostics-color=always) | ||
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") | ||
add_compile_options (-fcolor-diagnostics) | ||
endif () | ||
|
||
add_subdirectory(microbench) | ||
add_subdirectory(workloads) | ||
|
||
list(APPEND CMAKE_PREFIX_PATH ${CMAKE_BINARY_DIR}) | ||
|
||
find_package(cxxopts REQUIRED) | ||
find_package(fmt REQUIRED) | ||
find_package(range-v3 REQUIRED) | ||
file(GLOB_RECURSE SOURCE_FILES src/*.cpp) | ||
|
||
execute_process(COMMAND uname -r OUTPUT_VARIABLE arch OUTPUT_STRIP_TRAILING_WHITESPACE) | ||
set(LINUX_SOURCE /lib/modules/${arch}/build/) | ||
set(CMAKE_CXX_FLAGS "-Wall -g -pthread -lrt -rdynamic") | ||
set(CMAKE_CXX_STANDARD 23) | ||
|
||
add_executable(CXL-MEM-Simulator ${SOURCE_FILES}) | ||
|
||
include_directories(CXL-MEM-Simulator include) | ||
target_link_libraries(CXL-MEM-Simulator cxxopts::cxxopts fmt::fmt range-v3::range-v3 elf bpf) | ||
set(CMAKE_CXX_FLAGS "-Wall -fPIC -pthread -ldl -lrt -mavx512f -mpreferred-stack-boundary=4 -g") | ||
|
||
function(bpf prefix) | ||
add_custom_target(${prefix}_bpf ALL | ||
COMMAND clang --target=bpf -nostdinc -S -I/usr/include/linux -I${CMAKE_SOURCE_DIR}/include -I${LINUX_SOURCE}/arch/x86/include -I/usr/include -I${LINUX_SOURCE}/arch/x86/include/uapi -I${LINUX_SOURCE}/arch/x86/include/generated -I${LINUX_SOURCE}/arch/x86/include/generated/uapi -I${LINUX_SOURCE}/include -I${LINUX_SOURCE}/include/uapi -I${LINUX_SOURCE}/include/generated/uapi -I${LINUX_SOURCE}/tools/testing/selftests/bpf -include ${LINUX_SOURCE}/include/linux/kconfig.h -D__KERNEL__ -D__ASM_SYSREG_H -D__BPF_TRACING__ -D__TARGET_ARCH_x86 -Wno-implicit-function-declaration -O3 -emit-llvm -g -c ${CMAKE_SOURCE_DIR}/src/${prefix}.c -o ${CMAKE_BINARY_DIR}/${prefix}.ll | ||
COMMAND llc -march=bpf -filetype=obj -o ${CMAKE_BINARY_DIR}/${prefix}.o ${CMAKE_BINARY_DIR}/${prefix}.ll | ||
) | ||
add_dependencies(CXL-MEM-Simulator ${prefix}_bpf) | ||
endfunction() | ||
add_executable(CXLMemSim ${SOURCE_FILES} src/main.cc) | ||
|
||
bpf(collectmmap) | ||
include_directories(CXLMemSim include ${cxxopts_INCLUDE_DIR} ${fmt_INCLUDE_DIR}) | ||
target_link_libraries(CXLMemSim fmt::fmt cxxopts::cxxopts) | ||
|
||
add_subdirectory(microbench) | ||
add_library(CXLMemSimHook SHARED src/module.cc) | ||
add_executable(CXLMemSimSock ${SOURCE_FILES} src/sock.cc) | ||
target_link_libraries(CXLMemSimSock fmt::fmt cxxopts::cxxopts) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
#!/bin/bash | ||
# anns | ||
# monetdb | ||
# pointer_chasing lmbench3 | ||
# wrf stream | ||
# mlc | ||
# gromacs | ||
# smdk's | ||
|
||
git clone https://github.com/scott-beamer/gapbs.git | ||
cd gapbs | ||
make benchmark | ||
|
||
wget https://files.rcsb.org/download/4i4f.pdb |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
Intel(R) Memory Latency Checker - v3.10 | ||
*** Unable to modify prefetchers (try executing 'modprobe msr') | ||
*** So, enabling random access for latency measurements | ||
Measuring idle latencies for random access (in ns)... | ||
Numa node Numa node | ||
Numa node 0 1 | ||
0 106.3 437.5 | ||
|
||
Measuring Peak Injection Memory Bandwidths for the system | ||
Bandwidths are in MB/sec (1 MB/sec = 1,000,000 Bytes/sec) | ||
Using all the threads from each core if Hyper-threading is enabled | ||
Using traffic with the following read-write ratios | ||
ALL Reads : 28611.9 | ||
3:1 Reads-Writes : 25057.1 | ||
2:1 Reads-Writes : 25078.0 | ||
1:1 Reads-Writes : 23965.9 | ||
Stream-triad like: 24943.3 | ||
|
||
Measuring Memory Bandwidths between nodes within system | ||
Bandwidths are in MB/sec (1 MB/sec = 1,000,000 Bytes/sec) | ||
Using all the threads from each core if Hyper-threading is enabled | ||
Using Read-only traffic type | ||
Numa node Numa node | ||
Numa node 0 1 | ||
0 28612.0 19216.8 | ||
|
||
Measuring Loaded Latencies for the system | ||
Using all the threads from each core if Hyper-threading is enabled | ||
Using Read-only traffic type | ||
Inject Latency Bandwidth | ||
Delay (ns) MB/sec | ||
========================== | ||
00000 370.12 28393.2 | ||
00002 369.29 28435.4 | ||
00008 378.41 28490.5 | ||
00015 354.32 28414.2 | ||
00050 313.07 28323.0 | ||
00100 238.51 28010.5 | ||
00200 125.13 14566.0 | ||
00300 119.69 10232.0 | ||
00400 116.76 7905.3 | ||
00500 115.33 6500.4 | ||
00700 113.89 4858.3 | ||
01000 113.03 3594.6 | ||
01300 112.57 2906.9 | ||
01700 112.09 2363.9 | ||
02500 111.51 1798.9 | ||
03500 111.21 1520.8 | ||
05000 110.77 1193.2 | ||
09000 110.38 922.3 | ||
20000 110.14 735.6 | ||
|
||
Measuring cache-to-cache transfer latency (in ns)... | ||
Local Socket L2->L2 HIT latency 67.3 | ||
Local Socket L2->L2 HITM latency 67.5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
[requires] | ||
cxxopts/3.0.0 | ||
fmt/9.0.0 | ||
nlohmann_json/3.11.2 | ||
[generators] | ||
CMakeDeps | ||
CMakeToolchain | ||
[layout] | ||
cmake_layout |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.