Вопрос в том виде, в котором он опубликован, сильно недоопределен. Во-первых, он путает производительность с частотой процессора. Даже с идентичными микроархитектурами ядра задержки памяти не фиксируются в количестве циклов. Обход связанного списка из миллиарда элементов — это (надуманная) рабочая нагрузка, которая зависит от задержки памяти, где два параллельных потока «половинной скорости» будут быстрее, чем разделение времени.
Если более низкие частоты не являются результатом бинирования продукта, конфигурации энергосбережения или чего-то подобного, а являются результатом более мелкого конвейера (при той же ширине), то «более медленный» процессор будет иметь меньший штраф за неправильное предсказание переходов и меньшую задержку в циклов к той же емкости кэша, что приводит к увеличению количества инструкций за цикл для большинства рабочих нагрузок.
Даже с идентичными микроархитектурами два ядра также избегают накладных расходов на переключение контекста при прогреве кэша. Стоимость переключения контекста — это не только время, затрачиваемое на вызов ОС, запуск планировщика ОС (только с двумя активными потоками на двух ядрах накладные расходы планировщика ОС будут немного ниже, поскольку нет других готовых потоков, но будут в два раза больше прерываний от таймера) и содержимое регистра подкачки. (При запуске в пакетном режиме таких накладных расходов на переключение контекста можно избежать.)
Еще один фактор, который следует учитывать, заключается в том, встречаются ли две задачи с независимыми узкими местами. Например, если одна задача чрезвычайно требовательна к вычислительным ресурсам, а другая ограничена пропускной способностью основной памяти, то их параллельное выполнение может обеспечить более высокую производительность, чем разделение по времени; с разделением по времени потенциал пропускной способности памяти не используется во время интенсивных вычислений.
Еще одним фактором является вмешательство в ограниченные ресурсы. Например, DRAM может страдать от конфликтов банков, которые могут существенно снизить эффективную пропускную способность. Если адресация памяти и синхронизация вызовут максимальные конфликты во время параллельной работы, то эффективная пропускная способность будет уменьшена. Аналогичный эффект может быть получен из-за ограниченной ассоциативности в общем кэше последнего уровня.
Более поздние процессоры также, как правило, имеют термические ограничения, поэтому двухчастотный процессор может быть не в состоянии поддерживать эту частоту при максимальном использовании, если эта частота не гарантируется в условиях вируса питания, тогда как альтернативная двухъядерная система, скорее всего, не сможет поддерживать эту частоту при максимальном использовании. сталкиваются с этим ограничением плотности мощности.
person
Paul A. Clayton
schedule
07.03.2016