Тайна числа 1,5

«Пятничная угадайка», удивляющая своей иррациональностью и величиной цифр.

Если увеличить число процессорных ядер в 1,5 раза, не трогая ничего остального — как изменится время сборки проекта?
… оно тоже увеличится в 1,5 раза!
Не верите? И я не поверил. Предупреждаю сразу — ответа у меня всё ещё нет…

Дано:

  • Платформа 2011-3, двухсокетная, чипсет C612.
  • Хост ОС Ubuntu 20.04, виртуализация QEMU/KVM. «mitigations=off»
  • Гостевая ОС Ubuntu 18.04 или 20.04. Не имеет значения. «mitigations=off»
  • Памяти 256Gb, виртуальной машине выделено 96Gb.
  • Собираемый проект AOSP.
  • Процессоры (A) Xeon E5-2678v3: 12 ядер, 3300Mhz, 30mb cache, TDP 120w
  • Процессоры (B) Xeon E5-2696v3: 18 ядер, 3600Mhz, 45mb cache, TDP 145w

Процессоры — OEM, их «официальные» аналоги 2680v3 и 2699v3. Единственное отличие — OEM умеют работать с DDR3. В остальном они близнецы-сёстры. Лок турбобуста отключен. Процессоры бустят все ядра, пока не упрутся в TDP (18 ядерник может единственное ядро аж до 3.8 добустить, но сейчас это не важно)

Сборка идёт в виртуалке. При этом не важно, на passthrough SSD SATA диске, или же cow2 образе, лежащем на SSD M2. Разница незаметна.

12 ядерники собирают примерно за час (real 66m, user 2705m, sys 126m)
18 ядерники собирают примерно за 1,5 часа (real 92m, user 5528m, sys 310m)
И это не поддаётся никакому обьяснению, ведь 18 ядерники ничем не хуже!

Может быть билд-система не умеет использовать столько ядер? Но тогда время было бы примерно равно 12 ядерникам, только часть ресурсов бы простаивала. На всякий случай проверим. Будем уменьшать число потоков, доступных билд системе:

  • 72: 92m26s
  • 48: 93m15s
  • 36: 92m46s
  • 18: 112m23s

Может один из 18 ядерных процессоров дефектный? Вынимаем по-очереди один, и второй. Получаем время сборки около 100m. Т.е. процессоры в порядке.

Изначально машина была одна. На которой и столкнулся с ситуацией, заменив только процессоры. Собрал вторую машину, на 18 ядерниках. Ситуация прекрасно воспроизвелась опять. У этой второй машины нет пользователей, и она более-менее свободна для тестов.

NUMA выглядит правдоподобным обьяснением. Но изменение топологии в QEMU/KVM на аналог хостовой не приносит никакого результата.

В сухом остатке:
1) добавление второго 12 ядерника ускоряет сборку почти линейно.
2) добавление второго 18 ядерника ускоряет сборку на ~10%.

Любые идеи и гипотезы приветствуются. Особенно которые легко проверить. Например, я бы с радостью проверил сборку няпрямую, без виртуалок, но свободного SSD хотя бы на 512Gb у меня просто нет. И систему с 2678 желательно не останавливать. (Т.е. вариант перетестировать с прямой загрузкой с HDD не подходит).

UPD: чтобы не вспоминали закон Амдалла приведу ещё такой пример. На 128/256 двухголовом EPYC (64 ядра каждый камень), 1Tb RAM, и NVMe RAID тот же AOSP собирается за 12 минут.

Читайте так же:

  • Дрон DJI переправил наркотики через границу Мексики и СШАДрон DJI переправил наркотики через границу Мексики и США Американский пограничный патруль поймал дрон DJI Mini 2 при попытке перебросить метамфетамины через границу с Мексикой в октябре прошлого года. Вес наркотиков был практически идентичен весу самого дрона.DJI Mini 2Управление по борьбе с наркотиками США (DEA) сообщило, что 7 октября 2021 […]
  • Яндекс.Роверы начали доставлять еду в кампусе американского университетаЯндекс.Роверы начали доставлять еду в кампусе американского университета Яндекс и американский сервис доставки еды Grubhub запустили в главном кампусе Университета штата Огайо в городе Колумбус роботизированную доставку. Роботы Яндекса будут привозить студентам и преподавателям заказы из местных кафе и ресторанов.  Кампус в Колумбусе – один из […]
  • Facebook оштрафовали на 1,5 млн фунтов за несоблюдение норм Великобритании при покупке GiphyFacebook оштрафовали на 1,5 млн фунтов за несоблюдение норм Великобритании при покупке Giphy Управление по защите конкуренции и рынкам Великобритании (СМА) оштрафовало Facebook на 1,5 млн фунтов стерлингов ($2,03 млн) — незначительную по сравнению с доходами компании сумму. Facebook скрыла от регулятора увольнение трех важных сотрудников Giphy, которые покинули компанию после […]
  • Флагман Huawei P50 Pro показали на качественном изображенииФлагман Huawei P50 Pro показали на качественном изображении В Сети появилось новое изображение смартфона Huawei P50 Pro. Презентация которого ожидалась ещё в феврале этого года. Однако с тех пор несколько раз переносилась. Ожидается, что Huawei P50 Pro получит новый дизайн задней панели. А система камер будет размещаться в двух кольцах. […]