Размах производительности платформы ПК

Определение термина "размах производительности платформы ПК". На этой странице размещено, как само определение термина, так и история его изменений и уточнений.

Отношение максимальной производительности процессора к минимальной для данного процессорного разъема мы будем называть размахом производительности конкретной платформы данного производителя. А усредненный за большой период времени по многим платформам размах производительности мы будем называть средним размахом производительности платформы  Intel или платформы AMD, в зависимости от того, по какой из них мы усредняли. Для долгосрочного использования ПК реальный размах производительности платформы является исключительно важным параметром, поскольку позволяет оценить временной период, в течение которого компьютер вследствие модернизации будет иметь производительность, адекватную современным на тот момент задачам.

Размах производительности R платформы мы будем считать по формуле:

R = ((Pmax - Pmin)/Pmin) * 100% = (Pmax/Pmin - 1) * 100%,

- где Pmax и Pminсоответственно максимальная и минимальная производительность процессоров, которые могут быть установлены в материнскую плату с данным процессорным разъемом. Эта формула оптимистично предполагает, что максимально возможная производительность процессора не будет ограничена, например, пропускной способностью шины памяти, или производительностью видеокарты, но будет полностью реализована.

У этого параметра, однако, есть одно скользкое место, связанное с измерением этой самой производительности. Так, ее можно оценивать частотой процессора (для одного и того же ядра), рейтингом, или результатами в тестах. Усредненная по результатам тестов производительность процессора это определенно самая точная величина, но поскольку мы каждый раз сравниваем между собой процессоры одного и того же производителя, то приемлемо будет использовать как рейтинг, так и частоту. Однако все это справедливо для процессоров с одинаковым количеством ядер, а последние несколько лет производительность процессоров растет не за счет частоты, а за счет совершенствования архитектуры и увеличения числа ядер. Если совершенствование архитектуры процессора однозначно приводит к росту производительности практически во всех задачах, то увеличение числа ядер в разы не приводит к росту производительности в те же разы, а еще и сильно зависит от типа задачи, выполняемой процессором. Что поделаешь, не все задачи одинаково хорошо распараллеливаются, да и оптимизируется ПО под многоядерность медленно. Во многих приложениях и тестах двухядерные процессоры показывают производительность, аналогичную четырехядерным, нередко даже превосходя последние ввиду своей более высокой частоты. В других же приложениях, требовательных к ресурсам и хорошо оптимизированных под многоядерность превосходство четырехядерных процессоров над двуядерными двухкратное и даже больше (3D Mark 2006, например). 

Разброс результатов тестов в зависимости от количества ядер настолько велик, что мы объективно не видим возможности считать какой-то один из тестов более приемлемым, чем все остальные. Раньше нужно было сравнивать ядра разных архитектур с разными объемами кэша и на разных частотах и требовалось довольно большое количество тестов, чтобы адекватно сравнивать между собой процессоры. Теперь при появлении 2-х и 4-х ядерных процессоров количество тестов утроиться, но это еще только начало. Если и дальше идти только путем тестирования и сравнивания результатов тестов, то мы получаем ситуацию, когда разброс результатов от теста к тесту одних и тех же процессоров приближается к 100%, а нередко и превосходит эту величину, если считать по отношению не к среднему, а к минимальному значению. Т.е. в одном тесте разница в производительности двух процессоров составит 2%, а в другом – 98%. И, при желании, теперь можно найти целую группу тестов, в которых 2-х ядерные процессоры будут быстрее 4-х ядерных с той же архитектурой ядер и близких по частоте.  Но ведь никто не сомневается, что производительность 4-х ядерного процессора в среднем все-таки больше, нежели 2-х ядерного, даже при неважной масштабируемости архитектуры ядер. Мало того, завтра новые версии тестов покажут разницу 90% там, где сегодня было 2%. Таким образом, сравнение производительности процессоров с разным количеством ядер, основанное исключительно только на результатах работы тестового ПО, доступного на данный момент времени вызывает обоснованное недоверие, особенно если этому ПО больше года. В одноядерную эпоху старое тестовое ПО могло не учитывать новый набор инструкций, реализованный в процессоре, и в связи с этим давать погрешность в несколько процентов в среднем, что не очень-то огорчало, поскольку  все равно новые инструкции еще не скоро будут использованы в реальных программах, да и ориентированы они только на какой-то специальный круг задач. А сейчас тестовое ПО может не учитывать удвоение вычислительной мощности процессора путем добавления ядер. Впрочем, гораздо хуже, когда оно все-таки учитывает количество ядер, но плохо, частично или некорректно, поскольку если тест видит все ядра, но при этом говорит, что удвоение количества ядер приводит к росту только 12-15%, то у пользователя может сложиться ложное представление о реальной производительности многоядерных процессоров. В конце концов, понятно же, что многоядерные процессоры созданы не для ускорения работы текстовых редакторов типа Microsoft Word, а для тяжелых задач, требовательных к вычислительным ресурсам, которые могут быть распараллелены. А если тяжелое приложение не оптимизировано под многоядерность или очень плохо оптимизировано, то разве это вина процессора? И кому тогда нужна будет статья, основанная на тестах в этом приложении, если через месяц выйдет новая версия того же тестового ПО, лучше приспособленная под многоядерники и покажет в разы отличающиеся результаты?

 Мы предлагаем другой подход, несколько менее точный, чем тестирование, зато гораздо более прозрачный, понятный и определенный. Он основывается на оптимистичном предположении, что потенциал вычислительной мощности, заложенный в многоядерные процессоры по большей части эффективно используется приложениями, или же будет эффективно использован в ближайшем будущем. По этому нами будет оцениваться заложенных в процессор потенциал производительности с усредненной поправкой на то, что на данный момент только часть этого потенциала реально используется. Мы будем отдельно оценивать производительность единичного ядра данной архитектуры на определенной частоте, делать поправку на различие частот, а также введем коэффициент, который будет учитывать масштабируемость производительности с ростом  количества ядер. Так, например, при переходе от 1-го ядра к 2-м, производительность в ресурсоемких и ориентированных на многоядерность приложениях как правило увеличивается более, чем в 1,5 раза при той же частоте ядра. В то же время, она почти никогда не доходит до 1,9, а тем более до 2. Мы ориентировочно примем коэффициент увеличения производительности при переходе от 1-го ядра к 2-м равным 1,7 для всех архитектур ядер (K1-2=1,7). При этом если мы немножко и ошибемся, то ошибемся одинаково для обоих производителей процессоров, а потому это несущественно. Коэффициент увеличения производительности процессора при переходе от 2-х ядер к 4-м будет еще меньше, тесты дают увеличение производительности от 1 до 2-х раз. Мы примем  K2-4=1,5 для обоих производителей. При появлении версий ПО,  лучше оптимизированных под многоядерность эти коэффициенты будут синхронно, хотя и нелинейно увеличиваться (опять таки независимо от марки процессора). Мы изначально прекрасно понимаем, что такой синтетический подход к определению роста производительности с ростом числа ядер не может претендовать на точность лучше, чем 5-10%. Но будет ли для нас разница порядка 10% существенной? Другими словами, если после замены процессора мы увеличили быстродействие в 1.7 раза на платформе AMD, а на платформе Intel в 1.5 раза и это в качестве модернизации после 2-х лет эксплуатации ПК, то разница между ними 13% будет ли для нас существенной? Сможет ли она существенно продлить жизнь ПК в категории морально не устаревшего оборудования? Вряд ли… Да и разница в 20% также. Поэтому, если в результате разница средней прибавки производительности (размах производительности) будет в пределах этих самых 20%, то мы будем считать, что обе платформы имеют одинаковый потенциал для модернизации.