网站首页 文章专栏 k8s 拓扑管理--GPU优选打分测试及分析
k8s 拓扑管理--GPU优选打分测试及分析
编辑时间:2021-05-18 17:04:20 作者:linxi 浏览量:38

一、k8s 拓扑管理原理、实现及测试方法(参考以下文献)


拓扑管理原理及算法详解

K8S affinity topology feature源码分析

topo管理测试用例


二、英伟达 GPU 插件内置打分规则


image.png

image.png

可以看出,GPU对的打分是基于GPU对之间通信方式(NVLinks、P2PLinks)进行的


三、验证测试(英伟达 V100 8卡 32GB GPU)


3.1 V100 GPU拓扑

NVlink:

image.png

PCI:

image.png

3.2 V100 NVLink 示意图(和3.2中实际拓扑图略有差别)

image.png

与 3.1 NVlink 对比 修正后 GPU 拓扑图

image.png

3.3  构造场景输出打分

根据 GPU 插件内置打分规则,计算 GPU 对之间的分值如下表所示(部分未构造场景输出):


打分GPU0GPU1GPU2GPU3GPU4GPU5GPU6GPU7
GPU0x150220120101010210
GPU1150x120220101021010
GPU2220120x250



GPU3120220250x110101010
GPU41010
110x250220120
GPU51010
10250x120220
GPU610210
10220120x150
GPU721010
10120220150x

3.4 分析验证

Score[0-1] = 1*NVLink + 1*P2PLinkSingleSwitch (1绿线+1紫线)= 100 + 50 = 150

Score[0-2] = 2*NVLink + 1*P2PLinkSameCpu (2绿线 + NUMA组内 CPU 连接)= 2*100 + 20 = 220 分 

Score[0-3] = 1*NVLink + 1*P2PLinkSameCpu (1绿线 + NUMA组内 CPU 连接)= 1*100 + 20 = 120

Score[0-4] = 1*P2PLinkCrossCpu(跨 NUMA 组 CPU 通信)= 10

Score[0-5] = 1*P2PLinkCrossCpu(跨 NUMA 组 CPU 通信)= 10 

Score[0-6] = 1*P2PLinkCrossCpu(跨 NUMA 组 CPU 通信)= 10 

Score[0-7] = 2*NVLink + 1*SYS(跨 NUMA 组 CPU 通信)=  2*100 + 10 = 210 分

Score[6-7] = NV1 + PIX = 100 + 50 = 150

Score[6-5] = NV1 + NODE = 100 + 20 = 120

...........................

以上分值与表中分值相等

所以,根据实际拓扑图,进行分析打分,验证了 GPU 插件内置打分规则的准确性


四、打分关键字含义


GPU 通信方式:

  X    = Self

  SYS  = Connection traversing PCIe as well as the SMP interconnect between NUMA nodes (e.g., QPI/UPI)

  NODE = Connection traversing PCIe as well as the interconnect between PCIe Host Bridges within a NUMA node

  PHB  = Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)

  PXB  = Connection traversing multiple PCIe switches (without traversing the PCIe Host Bridge)

  PIX  = Connection traversing a single PCIe switch

  NV#  = Connection traversing a bonded set of # NVLinks

对应打分关系:

  1. SYS => 10 分

P2PLinkCrossCPU

  2. NODE => 20 分

nvml.P2PLinkSameCPU

  3. PHB => 30 分

P2PLinkHostBridge

  4. PXB => 40分 

P2PLinkMultiSwitch

  5. PIX => 50分

P2PLinkSingleSwitch:

 6.        => 60分

P2PLinkSameBoard

7. NV# => 100*个数

SingleNVLINKLink
TwoNVLINKLinks

......................


  • SYS:跨 NUMA 组 PCIe 通信(GPU0-7);

  • NODE:NUMA 组内 PCIe  跨桥通信(); 

  • PHB:跨单桥PCIes  通信(绿); 

  • PXB:非跨桥 PCIes 通信(多根 PCIe,); 

  • PIX:非跨桥单根 PCIe 通信(单根 PCIe,);

  • NV#:#根 NVLINK(GPU2-3是2根)。


image.png


PCI参考文献:

原来PCIe这么简单,一定要看!

image.png

image.png


来说两句吧
最新评论