|
Packit Service |
724aca |
MEMKIND TESTS
|
|
Packit Service |
724aca |
=============
|
|
Packit Service |
724aca |
|
|
Packit Service |
724aca |
|
|
Packit Service |
724aca |
DISCLAIMER
|
|
Packit Service |
724aca |
==========
|
|
Packit Service |
724aca |
SEE COPYING FILE FOR LICENSE INFORMATION.
|
|
Packit Service |
724aca |
|
|
Packit Service |
724aca |
THIS SOFTWARE IS PROVIDED AS A DEVELOPMENT SNAPSHOT TO AID
|
|
Packit Service |
724aca |
COLLABORATION AND WAS NOT ISSUED AS A RELEASED PRODUCT BY INTEL.
|
|
Packit Service |
724aca |
|
|
Packit Service |
724aca |
LAST UPDATE
|
|
Packit Service |
724aca |
===========
|
|
Packit Service |
724aca |
Agata Wozniak <agata.wozniak@intel.com>
|
|
Packit Service |
724aca |
Wednesday May 11 2016
|
|
Packit Service |
724aca |
|
|
Packit Service |
724aca |
TESTS SCENARIOS
|
|
Packit Service |
724aca |
===============
|
|
Packit Service |
724aca |
|
|
Packit Service |
724aca |
memkind-afts
|
|
Packit Service |
724aca |
------------
|
|
Packit Service |
724aca |
This is scenario for basic functional tests. Maximum number of allocations per numa node:
|
|
Packit Service |
724aca |
- 512 x 4KB pages (summary: 2GB)
|
|
Packit Service |
724aca |
- 16 x 2MB pages
|
|
Packit Service |
724aca |
|
|
Packit Service |
724aca |
memkind-afts-ext
|
|
Packit Service |
724aca |
----------------
|
|
Packit Service |
724aca |
The same tests as in memkind-afts, however this tests are more ravenous and needs more memory
|
|
Packit Service |
724aca |
available. Special test cases prepared only for this scenario are described as ravenous
|
|
Packit Service |
724aca |
and needs at least:
|
|
Packit Service |
724aca |
- 512 x 4KB pages (summary: 2GB)
|
|
Packit Service |
724aca |
- 16 x 2MB pages
|
|
Packit Service |
724aca |
memory available per numa node.
|
|
Packit Service |
724aca |
|
|
Packit Service |
724aca |
memkind-perf
|
|
Packit Service |
724aca |
------------
|
|
Packit Service |
724aca |
This is scenario for performance tests, excluding tests that allocate more than:
|
|
Packit Service |
724aca |
- 512 x 4KB pages (summary: 2GB)
|
|
Packit Service |
724aca |
- 16 x 2MB pages
|
|
Packit Service |
724aca |
|
|
Packit Service |
724aca |
memkind-perf-ext
|
|
Packit Service |
724aca |
----------------
|
|
Packit Service |
724aca |
This test scenario extend memkind-perf for tests that allocate more than:
|
|
Packit Service |
724aca |
- 512 x 4KB pages (summary: 2GB)
|
|
Packit Service |
724aca |
- 16 x 2MB pages
|
|
Packit Service |
724aca |
AllocPerformanceTest is a group of performance tests for *alloc() execution. TC properties:
|
|
Packit Service |
724aca |
- 6 kinds (MEMKIND_DEFAULT, MEMKIND_HBW, MEMKIND_INTERLEAVE, MEMKIND_HBW_INTERLEAVE, MEMKIND_HBW_PREFERRED, PMEM kind)
|
|
Packit Service |
724aca |
- 3 calls (malloc, calloc, realloc)
|
|
Packit Service |
724aca |
- 5 allocation sizes (100bytes, 4096bytes, 1000bytes, 1001bytes, 1.5MB - 1572864bytes)
|
|
Packit Service |
724aca |
- single thread and multithreaded (10threads and 72threads)
|
|
Packit Service |
724aca |
All tests record three values:
|
|
Packit Service |
724aca |
- total_time_spend_on_alloc (total time spend on *alloc() call during the test - less is better)
|
|
Packit Service |
724aca |
- alloc_operations_per_thread (number of done allocations per thread - this value is constant)
|
|
Packit Service |
724aca |
- ref_delta_time_percent (percent delta between standard allocator and current tested kind - less is better)
|
|
Packit Service |
724aca |
|
|
Packit Service |
724aca |
memkind-slts
|
|
Packit Service |
724aca |
------------
|
|
Packit Service |
724aca |
This is scenario for all stress and longevity tests.
|
|
Packit Service |
724aca |
|
|
Packit Service |
724aca |
BENCHMARKS
|
|
Packit Service |
724aca |
===============
|
|
Packit Service |
724aca |
|
|
Packit Service |
724aca |
fragmentation_benchmark_pmem
|
|
Packit Service |
724aca |
------------
|
|
Packit Service |
724aca |
The program logging memory fragmentation of specific workload in file
|
|
Packit Service |
724aca |
with date and timestamps ("bench_single_thread_yyyymmdd-hhmm_mem_<pmem_memory_usage_policy>.log").
|
|
Packit Service |
724aca |
|
|
Packit Service |
724aca |
The program takes, as arguments:
|
|
Packit Service |
724aca |
* pmem_path - path where file-backed memory kind should be created
|
|
Packit Service |
724aca |
* pmem_size - file-backed memory kind size limit, given in megabytes
|
|
Packit Service |
724aca |
* pmem_memory_usage_policy - 0 - MEMKIND_MEM_USAGE_POLICY_DEFAULT, 1 - MEMKIND_MEM_USAGE_POLICY_CONSERVATIVE
|
|
Packit Service |
724aca |
* test_time - time how long program runs, given in seconds
|
|
Packit Service |
724aca |
|
|
Packit Service |
724aca |
For example:
|
|
Packit Service |
724aca |
|
|
Packit Service |
724aca |
./fragmentation_benchmark_pmem /mnt/pmem 17 0 60
|
|
Packit Service |
724aca |
|
|
Packit Service |
724aca |
This will create PMEM kind limited with 17 MB in /mnt/pmem/ with default memory usage policy
|
|
Packit Service |
724aca |
and save results in log file after 60 seconds.
|
|
Packit Service |
724aca |
|
|
Packit Service |
724aca |
MANUAL TESTING
|
|
Packit Service |
724aca |
==============
|
|
Packit Service |
724aca |
In order to run tests on local machine, test.sh should be executed.
|
|
Packit Service |
724aca |
When test.sh is run, all tests are executed as long as -d (skip MCDRAM nodes detection), -m (skip
|
|
Packit Service |
724aca |
tests that require 2MB pages) parameters are not used.
|