wiki:numa_cores

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
wiki:numa_cores [2016/12/01 08:30] – created walkeradminwiki:numa_cores [2023/03/09 22:35] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== NUMA Cores ====== ====== NUMA Cores ======
 +
 +----
 +
 \\  \\ 
 \\  \\ 
-NUMA (non-uniform memory access) is a method of configuring a cluster of microprocessors in a multiprocessing system so that they can share memory locally, improving performance and the ability of the system to be expanded. NUMA is used in a symmetric multiprocessing ( SMP ) system. An SMP system is a "tightly-coupled," "share everything" system in which multiple processors working under a single operating system access each other's memory over a common bus or "interconnect" path. Ordinarily, a limitation of SMP is that as microprocessors are added, the shared bus or data path get overloaded and becomes a performance bottleneck. NUMA adds an intermediate level of memory shared among a few microprocessors so that all data accesses don't have to travel on the main bus.+NUMA (<color red>non-uniform memory access</color>) is a method of configuring a cluster of microprocessors in a multiprocessing system so that they can share memory locally, improving performance and the ability of the system to be expanded. NUMA is used in a symmetric multiprocessing ( SMP ) system. An SMP system is a "tightly-coupled," "share everything" system in which multiple processors working under a single operating system access each other's memory over a common bus or "interconnect" path. Ordinarily, a limitation of SMP is that as microprocessors are added, the shared bus or data path get overloaded and becomes a performance bottleneck. NUMA adds an intermediate level of memory shared among a few microprocessors so that all data accesses don't have to travel on the main bus.
 \\  \\ 
 \\  \\ 
Line 14: Line 17:
 \\  \\ 
 \\  \\ 
-{{:wiki:numa_cores.png?600|}}+{{ :wiki:numa_cores.png?600 |}} 
 +\\  
 +\\  
 +In normal operation, the MFEL is configured such that NUMA is enabled in the BIOS and in the advanced parameters. This restricts a service to accessing a single NUMA core (so a service will not take cores from both CPUs, only from one). 
 +\\  
 +\\  
 +Because in this configuration, a single service uses a single processor, if you have one service, only one processor is used. The servers always have two processors. So if you can do one service, it follows that you can do two. If you can do three services, then you can do four. 
 +\\  
 +\\  
 +It is important to note, that if you have an ABR or multi-video service, that you can get to the point where a processor is unable to handle that much work, and you will get a Max Performance exceeded error because the CPU has too much load. Because of the NUMA configuration, the second CPU is doing practically no work at all (a few OS tasks maybe).  
 +\\  
 +\\  
 +When you look on the MFEL, the CPU will report only around 50%, this is confusing because people don’t understand why Max Performance has been reached at only 50% CPU. For services that have a lot of video components, like ABR services, we can allow via an Advanced Parameter, the service to share processors, thus resolving this performance issue. 
 +\\  
 +\\  
 +The reason we use the NUMA in this way, is that we want to ensure that a service is using the same CPU and memory resource. As allowing a unit with a lot of single video services access to share CPUs can lead to a loss of efficiency (as we know if a CPU starts accessing the memory of another CPU, this is slower). 
 +\\ 
 \\  \\ 
- 
  
wiki/numa_cores.1480581052.txt.gz · Last modified: 2023/03/09 22:35 (external edit)