В кластерной высокопроизводительной вычислительной среде, такой как Облачный поток данных 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?), работающие на этой виртуальной машине, которые могут попытаться воспользоваться преимуществами топологии, имеют больше шансов для принятия «правильных решений».