91x
005427
2024-03-27

Проблемы с производительностью современных процессоров Интел

Программа RFEM на моём новом компьютере выполняет вычисления медленнее, чем на старом. В чём может быть причина и как её устранить?


Ответ:

Ваш новый компьютер с процессором Intel, вероятно, 12-го поколения или новее.

Начиная с 12-го поколения (Alder Lake) процессоров Core i, компания Intel осуществила фундаментальное изменение в архитектуре процессора.

До этого поколения процессор содержал несколько идентичных ядер CPU. Начиная с 12-го поколения, всё иначе.

Существует два разных типа ядер. Ядра производительности (P-ядра) оптимизированы для обеспечения высокой вычислительной мощности. Для этого они используют много электроэнергии. Высокое потребление энергии означает, что батареи в ноутбуке разряжаются быстрее, а процессор выделяет больше тепла, которое приходится рассеивать с помощью системы охлаждения.

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

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

Задача операционной системы теперь состоит в том, чтобы придать ядрам запущенные процессы. Эту задачу выполняет Планировщик. Определить, должен ли процесс быть придан P-ядрам или достаточно E-ядер - нетривиальная задача. Планировщик делает это, помимо прочего, используя права пользователя и следующее:

Если мы посмотрим на архитектуру RFEM, то станет ясно, что здесь могут быть проблемы.

Архитектура программы RFEM разделена на две части. С одной стороны, есть программа с графическим пользовательским интерфейсом. Она получает исходные данные от пользователя и изображает результаты в графическом виде. С другой стороны, есть решатель. Он считывает входные данные, выполняет расчёт и передаёт результаты обратно в RFEM.

В программе RFEM запускаются один (RFEM 5) или несколько (RFEM 6) процессов решателя, которые затем выполняют расчёт параллельно на нескольких ядрах. Конечно, это трудоёмкие вычислительные задачи.

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

В результате RFEM, работающая на процессоре 12-го поколения и выше внезапно стала считать гораздо медленнее, чем на старом процессоре 11-го поколения.

Простое решение - запустить RFEM с правами администратора. Однако это не всегда возможно из соображений безопасности.

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

  1. Откройте реестр.
  2. Найдите «Действующая гетерогенная политика».
  3. Отредактируйте ключ «Атрибуты» и установите для него значение «0».

Автор

Г-н Фаулстих отвечает за контроль качества программы RFEM и обеспечивает поддержку пользователей.