You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
madvise-test suite allows benchmarking of zswap with different compression algorithms. It loads a data corpus (silesia.tar for example), swap-out all the pages, swap-in all the pages in the meanwhile monitoring the swap-in and swap-out latency along with the compressed size using bpftrace.
3
-
4
-
## Prerequisite
5
-
#### Hardware
6
-
* Intel 4th Gen Intel® Xeon® Scalable Processors or later with IAA enebled. Please see [IAA user guide](https://cdrdv2-public.intel.com/780887/354834_IAA_UserGuide_June23.pdf)for more details about IAA configuration.
7
-
#### Software
8
-
This framework has dependencies on IAA RFC kernel patches. Please see [instructions on building the kernel with right patch sets](https://github.com/intel/memory-usage-analyzer/wiki/Integration-of-IAA-RFC-patches-to-6.12-upstream-kernel))
9
-
10
-
## Run in Baremetal
11
-
1. Run
12
-
```
13
-
./make_swap_space.sh
14
-
```
15
-
Additional details of make_swap_space.sh script:
16
-
Command Line Arguments: The script now accepts -l for specifying the swap file location and -s for specifying the swap size in GB.
17
-
Default Values: If no arguments are provided, it defaults to /mnt/nvme1/swapfile for the location and 1GB for the size.
18
-
Dynamic Path Handling: It dynamically checks the available space in the directory derived from the provided or default swap file location.
19
-
Example of creating 4GB swap space at /mnt/nvme1/swapfile
4. Collect data and generate reports for all the compressors.
32
-
```
33
-
./collect_all.sh
34
-
```
35
-
This will generate html files for CDFs of compress, decompress, compression ratio and page fault latencies and a summary.xlsx file. This will also generate (to stdout) P50 & P99 values.
1
+
# Introducution
2
+
zswap performance benchmarking with IAA uses madvise() system call and MADV_PAGEOUT. It loads the entire dataset (silesia.tar for example) to memory, swap-out all the pages and swap-in all the pages, monitoring the time spent in swap-in and swap-out and other key metrics. There are two benchmarking scenarios
3
+
4
+
1. benchmark single page
5
+
2. benchmark with IAA batching to take advantage of parallel processing in IAA.
6
+
7
+
## Prerequisites
8
+
1. Platform with Intel Xeon 4th generation (or higher) processor and IAA.
3. Kernel with IAA RFC patches. Please see instructions on building the kernel [here](https://github.com/intel/memory-usage-analyzer/wiki/Integration-of-IAA-RFC-patches-to-6.12-upstream-kernel).
11
+
12
+
## Run single-page Microbenchmarks
13
+
14
+
Collect data and generate reports for all the compressors for single-page. Depending on the number of IAA devices on the system, the setup scripts needs to be modified. The list of compressors and datasets can be modified as needed.
15
+
```
16
+
# For all 4 devices` per socket
17
+
./collect_single_page.sh | tee single_page.txt
18
+
19
+
# For SKUs with only 1 IAA device per socket
20
+
./collect_single_page.sh -d 1 | tee single_page.txt
21
+
22
+
```
23
+
This will generate a summary of the key metrics for each dataset. In addition to that more detailed data points like CDFs and a summary .xls will be generated under the results_* directory
24
+
25
+
## Run Microbenchmarks with IAA batching
26
+
Collect data and generate reports for all the compressors for batch processing. The list of compressors, datasets and batch sweep can be modifed as needed.
27
+
```
28
+
# For all 4 devices` per socket
29
+
./collect_batch.sh | tee batch.txt
30
+
# For SKUs with only 1 IAA device per socket
31
+
./collect_batch.sh -d 1 | tee batch.txt
32
+
```
33
+
This will generate swap-in and swap-out latency reports for different batches for IAA along with software compressors.
36
34
37
35
## Additional details
38
-
For running individual compressors
36
+
For running individual compressors low-level script can be utilized.
0 commit comments