63

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

С

  • старый настольный компьютер с процессором Intel® Xeon® E3110 с тактовой частотой 3,0 ГГц
  • и новый сервер с процессором AMD Opteron ™ 6272 с тактовой частотой 2,1 ГГц

когда выполняется простое сравнение с использованием шифрования (однопоточный)

 openssl aes256c

рабочий стол работал намного лучше, чем сервер.

Так что даже с последней оптимизацией, почему процессор с лучшей тактовой частотой работает лучше?

9 ответов9

72

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

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

37

Скорость обработки данных намного выше тактовой частоты.

  • Разные процессоры могут делать разное количество за одно и то же количество тактов из-за разных вариантов компоновки конвейера и наличия нескольких компонентов (сумматоров и т.д.) В каждом ядре. Хотя в вашем тесте это не так, вы часто обнаруживаете, что "более медленный" чип может делать больше, чем быстрый (измеряемый только тактовой частотой) из-за возможности делать больше за такт.

  • Тест, который вы провели, может быть очень чувствительным к различиям в архитектуре ЦП: он может быть оптимизирован для конкретной архитектуры, может оказаться, что он работает по-разному не только между чипами Intel и AMD, но и между чипами Intel (или AMD) разных семейств. Вероятно, он также использует один поток, поэтому не использует преимущества нескольких ядер ЦП.

  • Существует движение к снижению тактовых частот по причинам, связанным с управлением питанием и теплом: увеличение тактовой частоты не оказывает линейного влияния на энергопотребление и тепловую мощность.

  • Из-за вышеописанных нелинейных отношений для современных требований гораздо эффективнее иметь несколько процессорных блоков, чем повышать скорость на один блок еще выше. Это также позволяет использовать хитрые приемы для экономии энергии, такие как отключение отдельных ядер, когда они не используются, и восстановление их резервных копий по мере увеличения спроса. Конечно, одноядерные алгоритмы, конечно, не помогают однопоточному алгоритму, хотя это было бы так, если бы вы запускали два или более экземпляров одновременно.

19

Как вы думаете, почему производители фактически снижают тактовую частоту, сравнивая только два процессора?

  1. У 6272 есть турбо скорость 3Ghz. Более низкая базовая скорость предназначена только для снижения средней мощности и поддержания приемлемого TDP для рабочей станции, когда все ядра нагружены.
  2. Следующий высокопроизводительный чип AMD для настольных ПК FX-9590 будет работать с частотой 5 ГГц.

Кроме того, тактовая частота отличается от производительности за такт. У вас может быть 3,8 ГГц P4 против одного 3,2 ГГц ядра от i7-3930K, но это не значит, что ядро P4 работает быстрее.

Все сказанное здесь об энергопотреблении также совершенно справедливо и верно для 16-ядерного дизайна, где вы, естественно, больше озабочены проблемами TDP.

Кроме того, ваш метод тестирования, просто тестирующий openssl, немного прост, чтобы дать реальные цифры. Может быть, вам стоит попробовать какой-нибудь криптографический пакет.

13

Ваш тестовый пример (шифрование aes-256) очень чувствителен к оптимизации для конкретного процессора.

Существуют различные процессоры, которые имеют специальные инструкции, предназначенные для ускорения операций шифрования / дешифрования. Эти специальные инструкции могут не только присутствовать только на вашем рабочем столе - возможно, процессор AMD имеет другие специальные инструкции. Кроме того, openssl может поддерживать эти специальные инструкции только для процессора Intel. Вы проверили, так ли это?

Чтобы выяснить, какая система быстрее, попробуйте использовать "правильный" набор тестов - или, что лучше, просто используйте свою обычную рабочую нагрузку.

10

Как уже говорили другие, мы больше не сможем эффективно охлаждать процессоры, если будем подталкивать напряжение, требуемое для того же относительного увеличения тактовой частоты в прошлом. Было время (эпоха P4 и ранее), когда вы могли купить новый процессор и увидеть "немедленный" выигрыш в скорости, потому что тактовая частота была значительно увеличена по сравнению с предыдущим поколением. Теперь мы попали в тепловую стену, что-то вроде.

Каждое новое современное поколение процессоров очень немного увеличивает тактовую частоту, но это также связано со способностью их охлаждать соответствующим образом. Производители микросхем, такие как Intel, постоянно фокусируются на уменьшении размера кристалла процессора, чтобы сделать их более энергоэффективными и производить меньше тепла при одинаковых тактовых частотах. В качестве дополнительного примечания, этот уменьшающийся размер матрицы делает современные процессоры более склонными к гибели от перенапряжения, а не от перегрева. Это означает, что он также ограничивает максимальную тактовую частоту любого ЦП текущего поколения без других оптимизаций, производимых производителем микросхем.

Еще одной областью, на которой производители микросхем уделяют большое внимание, является увеличение количества ядер на чипе. Это приводит к значительному увеличению вычислительной мощности, но только при использовании программного обеспечения, использующего преимущества нескольких ядер. Обратите внимание на разницу между вычислительной мощностью и скоростью здесь. Проще говоря, скорость означает, насколько быстро компьютер может выполнить одну инструкцию, а вычислительная мощность - сколько вычислений компьютер может выполнить за данный промежуток времени. Современные операционные системы и многие современные программы используют преимущества нескольких ядер. Проблема в том, что параллельное / параллельное программирование сложнее, чем стандартная парадигма линейного программирования. Это увеличило время, которое потребовалось многим программам на рынке, чтобы в полной мере воспользоваться преимуществами этих новых процессоров, поскольку многие разработчики не привыкли писать программы таким образом. Сегодня на рынке все еще есть некоторые программы (современные или устаревшие), которые не используют преимущества нескольких ядер или многопоточности. Программа шифрования, которую вы цитировали, является одним из таких примеров.

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

Причиной такого изменения парадигмы является то, что мы приближаемся к пределам кремния как основного материала для производства чипов. Это то, что Intel и другие работали над решением в течение некоторого времени. Intel заявила, что у нее есть альтернатива кремнию в работе, и мы, вероятно, начнем ее видеть через 2017 год. В дополнение к этому новому материалу Intel также изучает трехмерные транзисторы, которые могут "эффективно утроить вычислительную мощность". Вот статья, в которой упоминаются обе эти идеи: http://apcmag.com/intel-looks-beyond-silicon-for-processors-past-2017.htm

10

Просто: чип AMD намного, намного быстрее, потому что это 16-ядерный чип. При 115 Вт это означает, что каждое ядро производит ~ 7 Вт. Это было бы недостижимо, если бы каждое ядро работало с частотой 3 ГГц. Чтобы достичь этого показателя 7 Вт, AMD снизила тактовую частоту. Снижение тактовой частоты на 10% снижает энергопотребление на 20%, что, в свою очередь, позволяет разместить на чипе 25% дополнительных ядер.

2

Из IEEE:

Так почему бы не нажать на часы быстрее? Потому что это больше не стоит затрат с точки зрения потребляемой мощности и рассеиваемого тепла. Intel называет компромисс между скоростью и мощностью «фундаментальной теоремой о многоядерных процессорах», и именно поэтому имеет смысл использовать две или более областей обработки или ядра на одном кристалле.

http://spectrum.ieee.org/computing/hardware/why-cpu-frequency-stalled

2
  • Тепловые потери H равны 4-й степени частоты f .

    H ~ f ^ 4

    Таким образом, незначительное увеличение частоты приводит к большим потерям тепла.

  • Дальше миниатюризация

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

2

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

Большие кэш-памяти в памяти могут хранить больше данных "близко" к ЦП, которые доступны для обработки с минимальной задержкой, в отличие от основной памяти, которая намного медленнее доставляет данные в ЦП.

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

Наиболее ярким примером этого в эволюции Intel является Pentium 4, который сильно отличался по тактовой частоте, но не работал пропорционально. Команды сдвига битов, которые в предыдущих микросхемах могли сдвигать 32 бита за один цикл, использовали гораздо более простую схему в Pentium 4, для которой требовался один цикл для каждого сдвига битов. Ожидалось, что архитектура Pentium 4 будет масштабируема до гораздо более высоких тактовых частот из-за своей простоты, но это не сработало, и быстрая, сложная схема переключения вернулась в ядре и последующих архитектурах.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .