AMD EPYC и vSphere vNUMA

Grigory Pryalukhin
Sep 26 · 12 min read

EPYC архитектура

AMD EPYC — image courtesy of

Compute Complex

Zeppelin CCX Layout of 32 Core EPYC

Количество ядер Zeppelin

Zeppelin design of 24 Core EPYC
│ Cores │ Cores per CCX │ Cores per Zeppelin │ Zeppelin Count │
│ 32 │ 4 │ 8 │ 4 │
│ 24 │ 3 │ 6 │ 4 │
│ 16 │ 2 │ 4 │ 4 │

Infinity Fabric

Zeppelin CCX and SDF Architecture

Объем оперативной памяти и NUMA

1 EPYC CPU Package = 4 NUMA Nodes

Доступ к локальной памяти

Local Memory Access

Удаленный доступ к памяти внутри одного процессора

Remote Memory Access within EPYC CPU

Межпроцессорный удаленный доступ

Remote Access Inter-package, die-to-die communication

Сайзинг ВМ

Virtual NUMA

Screenshot by @AartKenens

Action Affinity

Что если настроенный объем памяти ВМ превышает объем памяти физического узла NUMA?

vmdumper -l | cut -d \/ -f 2-5 | while read path; do egrep -oi “DICT.(displayname.|numa.|cores.|vcpu.|memsize.|affinity.)= .|numa:.|numaHost:.” “/$path/vmware.log”; echo -e; done

Увеличение NUMA Node Compute Sizing

Channel-Pair Interleaving (1 NUMA узел на сокет)

Исследуйте ваши требования к рабочим нагрузкам

    Grigory Pryalukhin

    Written by

    Все, что здесь публикуется является моим персональным мнением. Не является мнением или позицией моих прошлых, текущих или будущих работодателей.

    Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
    Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
    Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade