CPU / Memory
Для корректного расчета конфигурации нужно понимать тип нагрузки для среды или каждого из независимых кластеров.
CPU bound – среда, ограниченная по производительности процессорной мощностью. Добавление оперативной памяти ничего не изменит с точки зрения производительности (количества ВМ на сервер).
Memory bound – среда, ограниченная оперативной памятью. Большее количество оперативной памяти на сервере позволяет запустить большее количество ВМ на сервер.
GB / MHz (GB / pCPU) – среднее соотношение потребления данной конкретной нагрузкой оперативной памяти и процессорной мощности. Может использоваться для расчетов необходимого объема памяти при заданной производительности и наоборот.
Расчет конфигурации сервера
Для начала необходимо определить все виды нагрузки и принять решение о совмещении или разделении различных вычислительных пулов по различным кластерам.
Далее для каждого из определенных кластеров определяется соотношение GB / MHz при известной заранее нагрузке. Если нагрузка не известна заранее, но есть примерное понимание уровня загрузки процессорной мощности, можно использовать стандартные коэффициенты vCPU:pCPU для перевода требований пулов в физические.
Для каждого кластера сумму требований пулов vCPU делим на коэффициент:
vCPUсумм / vCPU:pCPU = pCPUсумм – требуемое количество физ. ядер
pCPUсумм / 1.25 = pCPUht – количество ядер с поправкой на Hyper-Threading
Предположим, что необходимо произвести расчет кластера на 190 ядер / 3.5ТБ ОЗУ. При этом принимаем целевую 50% загрузку процессорной мощности и 75% по оперативной памяти.
В данном случае всегда используем округление до ближайшего целого вверх (=ROUNDUP(A1;0)).
Из таблицы становится очевидно, что сбалансированными под целевые показатели являются несколько конфигураций серверов:
- 26 серверов 2*6c / 192 GB
- 19 серверов 2*10c / 256 GB
- 10 серверов 2*18c / 512 GB
Выбор из этих конфигураций в дальнейшем необходимо делать исходя из дополнительных факторов, как например тепловой пакет и доступное охлаждение, уже используемые серверы, или стоимость.
Особенности выбора конфигурации сервера
Широкие ВМ. При необходимости размещения широких ВМ (сравнимых с 1 узлом NUMA и более) рекомендуется по возможности выбирать сервер с конфигурацией, позволяющей таким ВМ остаться в пределах NUMA узла. При большом количестве широких ВМ возникает опасность фрагментирования ресурсов кластера, и в этом случае выбираются серверы, позволяющие разместить широкие ВМ максимально плотно.
Размер домена единичного отказа.
Выбор размера сервера также осуществляется из принципа минимизации домена единичного отказа. Например, при выборе между:
- 3 x 4*10c / 512 GB
- 6 x 2*10c / 256 GB
При прочих равных необходимо выбирать второй вариант, поскольку при выходе одного сервера из строя (или обслуживании) теряется не 33% ресурсов кластера, а 17%. Точно так же вдвое снижается количество ВМ и ИС, на которых отразилась авария.
Для корректного расчета конфигурации нужно понимать тип нагрузки для среды или каждого из независимых кластеров.
CPU bound – среда, ограниченная по производительности процессорной мощностью. Добавление оперативной памяти ничего не изменит с точки зрения производительности (количества ВМ на сервер).
Memory bound – среда, ограниченная оперативной памятью. Большее количество оперативной памяти на сервере позволяет запустить большее количество ВМ на сервер.
GB / MHz (GB / pCPU) – среднее соотношение потребления данной конкретной нагрузкой оперативной памяти и процессорной мощности. Может использоваться для расчетов необходимого объема памяти при заданной производительности и наоборот.
Расчет конфигурации сервера
Для начала необходимо определить все виды нагрузки и принять решение о совмещении или разделении различных вычислительных пулов по различным кластерам.
Далее для каждого из определенных кластеров определяется соотношение GB / MHz при известной заранее нагрузке. Если нагрузка не известна заранее, но есть примерное понимание уровня загрузки процессорной мощности, можно использовать стандартные коэффициенты vCPU:pCPU для перевода требований пулов в физические.
Для каждого кластера сумму требований пулов vCPU делим на коэффициент:
vCPUсумм / vCPU:pCPU = pCPUсумм – требуемое количество физ. ядер
pCPUсумм / 1.25 = pCPUht – количество ядер с поправкой на Hyper-Threading
Предположим, что необходимо произвести расчет кластера на 190 ядер / 3.5ТБ ОЗУ. При этом принимаем целевую 50% загрузку процессорной мощности и 75% по оперативной памяти.
pCPU | 190 | CPU util | 50% | |
Mem | 3500 | Mem util | 75% | |
Socket | Core | Srv / CPU | Srv Mem | Srv / Mem |
2 | 6 | 25,3 | 128 | 36,5 |
2 | 8 | 19,0 | 192 | 24,3 |
2 | 10 | 15,2 | 256 | 18,2 |
2 | 14 | 10,9 | 384 | 12,2 |
2 | 18 | 8,4 | 512 | 9,1 |
В данном случае всегда используем округление до ближайшего целого вверх (=ROUNDUP(A1;0)).
Из таблицы становится очевидно, что сбалансированными под целевые показатели являются несколько конфигураций серверов:
- 26 серверов 2*6c / 192 GB
- 19 серверов 2*10c / 256 GB
- 10 серверов 2*18c / 512 GB
Выбор из этих конфигураций в дальнейшем необходимо делать исходя из дополнительных факторов, как например тепловой пакет и доступное охлаждение, уже используемые серверы, или стоимость.
Особенности выбора конфигурации сервера
Широкие ВМ. При необходимости размещения широких ВМ (сравнимых с 1 узлом NUMA и более) рекомендуется по возможности выбирать сервер с конфигурацией, позволяющей таким ВМ остаться в пределах NUMA узла. При большом количестве широких ВМ возникает опасность фрагментирования ресурсов кластера, и в этом случае выбираются серверы, позволяющие разместить широкие ВМ максимально плотно.
Размер домена единичного отказа.
Выбор размера сервера также осуществляется из принципа минимизации домена единичного отказа. Например, при выборе между:
- 3 x 4*10c / 512 GB
- 6 x 2*10c / 256 GB
При прочих равных необходимо выбирать второй вариант, поскольку при выходе одного сервера из строя (или обслуживании) теряется не 33% ресурсов кластера, а 17%. Точно так же вдвое снижается количество ВМ и ИС, на которых отразилась авария.
Комментариев нет:
Отправить комментарий