Почему нужно выбирать много меньших типов машин вместо меньшего количества больших типов машин? - PullRequest
0 голосов
/ 28 ноября 2018

В кластерной высокопроизводительной вычислительной среде, такой как Облачный поток данных Google (или, в этом отношении, даже кластеры Apache Spark или Kubernetes и т. Д.), Я бы подумал, что гораздо эффективнее иметь меньше действительно БОЛЬШИХ типов машин, чем много маленьких машинтипы, верно?Например, более производительно иметь 10 n1-highcpu-96, а не, скажем, 120 n1-highcpu-8 типов машин, потому что

  • процессор может использовать разделяемую память, что намного быстрее, чем сетькоммуникация
  • , если одному потоку необходим доступ к большому количеству памяти для однопоточной операции (например, сортировки), он имеет доступ к большей памяти на БОЛЬШОМ компьютере, а не к меньшей

И поскольку цена такая же (например, стоимость 10 n1-highcpu-96 такая же, как у машин 120 n1-highcpu-8), зачем кому-то выбирать машины меньшего размера?

Также,У меня есть предчувствие, что для типа машины n1-highcpu-96 мы бы заняли весь хост, поэтому нам не нужно беспокоиться о конкурирующих требованиях к хосту со стороны другой виртуальной машины от другого клиента Google (например, разногласия вКэши ЦП или пропускная способность материнской платы и т. Д.), Верно?

Наконец, хотя я не думаю, что виртуальные машины Google Compute правильно сообщают об «истинной» топологии ЦП хост-системы, если мы выполняем команду chЕсли использовать тип машины n1-highcpu-96, то указанная топология ЦП может быть немного ближе к «истине», поскольку предположительно виртуальная машина использует весь хост, поэтому указанная топология ЦП немного ближе к истине, поэтому любойпрограммы (например, опция «NUMA» в Java?), работающие на этой виртуальной машине, которые могут попытаться воспользоваться преимуществами топологии, имеют больше шансов для принятия «правильных решений».

1 Ответ

0 голосов
/ 29 ноября 2018

Это будет зависеть от многих факторов, если вы захотите выбрать много экземпляров с меньшим типом машины или несколько экземпляров с большим типом машины.

Размеры виртуальных машин различаются не только количеством ядер и ОЗУ, но ина производительность сетевого ввода-вывода.Экземпляры с небольшими типами машин имеют ограниченную мощность процессора и ввода-вывода и не подходят для тяжелых рабочих нагрузок.

Кроме того, если вы планируете увеличивать и масштабировать, лучше спроектировать и разработать приложение в нескольких случаях.,Наличие небольших виртуальных машин дает вам больше шансов распределить их по физическим серверам в центре обработки данных, которые имеют наилучшую ситуацию с ресурсами на момент подготовки компьютеров.

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

Это также зависит от приложения, которое вы запускаете в кластере, и от рабочей нагрузки. Я также рекомендовал бы перейти по этой ссылке , чтобы увидетьрекомендация по размеру для экземпляра.

...