numa and scaleup
TRANSCRIPT
![Page 1: NUMA and scaleup](https://reader036.vdocuments.net/reader036/viewer/2022071814/55a5e1431a28aba71d8b45f0/html5/thumbnails/1.jpg)
July 2012
NUMA and Scale Up
Zhongke Chen
![Page 2: NUMA and scaleup](https://reader036.vdocuments.net/reader036/viewer/2022071814/55a5e1431a28aba71d8b45f0/html5/thumbnails/2.jpg)
Confidential and Proprietary
SMP VS NUMA (NON-UNIFORM MEMORY ARCHITECTURE)
2Technology Education
SMPNUMA (!=MPP)
![Page 3: NUMA and scaleup](https://reader036.vdocuments.net/reader036/viewer/2022071814/55a5e1431a28aba71d8b45f0/html5/thumbnails/3.jpg)
Confidential and Proprietary
HOW LINUX HANDLES NUMA
3
Default Policy: One process is fixed to one node.
Linux detects NUMA and deals it differently from SMP
![Page 4: NUMA and scaleup](https://reader036.vdocuments.net/reader036/viewer/2022071814/55a5e1431a28aba71d8b45f0/html5/thumbnails/4.jpg)
Confidential and Proprietary
SCALE UP PROBLEM
What happens if one process uses large memory? (larger than the memory in one node)
4
![Page 5: NUMA and scaleup](https://reader036.vdocuments.net/reader036/viewer/2022071814/55a5e1431a28aba71d8b45f0/html5/thumbnails/5.jpg)
Confidential and Proprietary
WHAT HAPPENS
5
Only memory on one node is used.
The system starts to swap heavily.
![Page 6: NUMA and scaleup](https://reader036.vdocuments.net/reader036/viewer/2022071814/55a5e1431a28aba71d8b45f0/html5/thumbnails/6.jpg)
Confidential and Proprietary
WORKAROUNDS
numactl --interleave=all
(inefficient to access remote memory)
6
![Page 7: NUMA and scaleup](https://reader036.vdocuments.net/reader036/viewer/2022071814/55a5e1431a28aba71d8b45f0/html5/thumbnails/7.jpg)
Confidential and Proprietary
TRUE SOLUTIONS
1.Multiple Smaller Processes
2.Control Policy via libnuma API
3.Another workaround: Virtualization
7
![Page 8: NUMA and scaleup](https://reader036.vdocuments.net/reader036/viewer/2022071814/55a5e1431a28aba71d8b45f0/html5/thumbnails/8.jpg)
Confidential and Proprietary
REFERENCE
• http://en.wikipedia.org/wiki/Non-Uniform_Memory_Access
• http://developer.amd.com/assets/LibNUMA-WP-fv1.pdf
• http://www.kernel.org/doc/Documentation/vm/numa_memory_policy.txt
• http://linux.die.net/man/8/numactl
• http://linux.die.net/man/3/numa
8