You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
3.1 KiB
67 lines
3.1 KiB
Introduction:
|
|
|
|
====================================================================================================================
|
|
|
|
NUMA ( Non-Uniform Memory Access ) is topology in which, time taken in accessing a memory dependes upon
|
|
the local node or remote node memory. With the help of numa libraries or numactl command we could able
|
|
to use the numa topology such that we can run an application on a specified node ( node affinity ) and
|
|
also, we can apply memory policies such that an application running on a node can get memory alloctaion
|
|
from any specified nodes memory. So, we can use the policies offered by numa libraries or numactl command
|
|
to either decrease the memory latencies or increase the memory bandwidth by properly applying polcies.
|
|
|
|
Please refer http://lse.sourceforge.net/numa/ to know the basics of numa and refer
|
|
http://www.novell.com/collateral/4621437/4621437.pdf to understand the usage of numactl and numa libraries.
|
|
|
|
We can always get the latest package from http://oss.sgi.com/projects/libnuma/.
|
|
|
|
Testcase Description:
|
|
====================================================================================================================
|
|
numa01.sh shell script holds all the numa testcases and support_numa.c will help numa01.sh as and when needed.
|
|
|
|
Testcase1:
|
|
Verifies the node affinity and memory affinity by running the support_numa process which will allocate 1MB of memory.
|
|
|
|
TestCase2:
|
|
Verifies the preferred node memory policy which will allocate memory from the node we specify. This
|
|
testcase will use the support_numa process for the verfication.
|
|
|
|
TestCase3:
|
|
Verifies the preferred node memory policy which will allocate shared memory from the node we specify. This
|
|
testcase will use the support_numa process for the verfication.
|
|
|
|
TestCase4:
|
|
Verifies the memory interleaving policy which will distribute the memory evenly among all nodes. This
|
|
testcase will use the support_numa process for the verfication.
|
|
|
|
TestCase5:
|
|
Verifies the memory interleaving policy which will distribute the memory evenly among all nodes. This
|
|
testcase will use the support_numa process for the verfication.
|
|
|
|
TestCase6:
|
|
Verifies the physical cpu affinity which runs the process support_numa on the specified physical cpu number.
|
|
|
|
TestCase7:
|
|
Verifies the local allocation policy which always allocates memory from the local node. This testcase
|
|
will use the support_numa process for the verfication.
|
|
|
|
TestCase8:
|
|
Verifies the memory interleaving policy which will distribute the memory evenly among all nodes. This
|
|
testcase will use memhog for the verfication.
|
|
|
|
TestCase9:
|
|
Verifies the numa_node_size api with hardware checking.
|
|
|
|
TestCase10:
|
|
Verifieds the NUMA migratepages policy.
|
|
|
|
TestCase11:
|
|
Verifies the hugepage memory allocated from the node we specify.
|
|
|
|
TestCase12:
|
|
Verifies the preferred node policy with THP memory allocating from the node we specify.
|
|
|
|
Pre-requisites
|
|
====================================================================================================================
|
|
* libnuma should be installed on the NUMA machine before executing theses testcases
|
|
* Testcases will not run by default in LTP-runall, they also skip on non-numa machines
|