Производительность AMD Ryzen может страдать из-за ошибки планировщика Windows 10
Недавно обнаруженный ошибка в планировщике Windows 10 отрицательно сказывается на производительности AMD Ryzen процессоров. Подобной ошибки не наблюдается в Windows 7. Пока не ясно, возникает ли такая ошибка в Windows 8.1.
Планировщик Windows 10 правильно идентифицирует гиперпотоки Intel. Но, к сожалению, в данный момент планировщик не способен различать физические ядра Ryzen от виртуальных потоков SMT и фактически видит 16 потоков процессора Ryzen 7 как 16 физических ядер с равными ресурсами на поток.
Также неверно определяет объем кэш-памяти, доступной для каждого потока. Суммируя количество L2 и L3 кэша, планировщик Windows 10 "вычисляет" безумные 136 МБ кэш, тогда как на самом деле Ryzen 7 имеет 20 МБ суммарной кэш-памяти L2 + L3.
Windows 10 Scheduler Single Core Thread Mapping:
*-------------— Data Cache 0, Level 1, 32 KB, Assoc 8, LineSize 64
*-------------— Instruction Cache 0, Level 1, 64 KB, Assoc 4, LineSize 64
*-------------— Unified Cache 0, Level 2, 512 KB, Assoc 8, LineSize 64
*-------------— Unified Cache 1, Level 3, 16 MB, Assoc 16, LineSize 64
-*------------— Data Cache 1, Level 1, 32 KB, Assoc 8, LineSize 64
-*------------— Instruction Cache 1, Level 1, 64 KB, Assoc 4, LineSize 64
-*------------— Unified Cache 2, Level 2, 512 KB, Assoc 8, LineSize 64
-*------------— Unified Cache 3, Level 3, 16 MB, Assoc 16, LineSize 64
Мы уже видели подобные проблемы в прошлом, в первые дни технологии Hyper-Threading от Intel. Спустя некоторое время и несколько патчей всё заработало, как и предполагалось, и мы представляем себе, что также будет и для новой микроархитектуры Ryzen. Хорошие новости в том, что Windows 7 не проявляет ту же проблему, и производители системных плат, к счастью, выпустили драйверы для своих системных плат AM4 и под Windows 7.
Если у вас Windows 10, то есть советы, которые можно предпринять для того, чтобы обойти проблему планировщика и повысить производительность. Для игр, вы можете отключить SMT, что в большинстве случаев принесёт улучшение производительности. Это фактически объясняет различия результатов, которые мы наблюдали в некоторых играх с SMT. Если большая часть вашей работы включает в себя малопоточную или смесь одно- и малопоточной рабочей нагрузки, то мы рекомендуем отключить SMT, пока Microsoft не выпустит обновление для решения этой проблемы. Если вы занимаетесь рендерингом или делайте другую тяжелую многопоточную работу, то вы должны отсавить SMT включенной, в этом случае проблема планировщика не должна влиять на производительность в какой-либо значительной степени.
Мы продолжим экспериментировать с Ryzen в своей лаборатории и информировать вас, если узнаем больше.
Команда Prostotech
Недавно обнаруженный ошибка в планировщике Windows 10 отрицательно сказывается на производительности AMD Ryzen процессоров. Подобной ошибки не наблюдается в Windows 7. Пока не ясно, возникает ли такая ошибка в Windows 8.1.
Планировщик Windows 10 правильно идентифицирует гиперпотоки Intel. Но, к сожалению, в данный момент планировщик не способен различать физические ядра Ryzen от виртуальных потоков SMT и фактически видит 16 потоков процессора Ryzen 7 как 16 физических ядер с равными ресурсами на поток.
Также неверно определяет объем кэш-памяти, доступной для каждого потока. Суммируя количество L2 и L3 кэша, планировщик Windows 10 "вычисляет" безумные 136 МБ кэш, тогда как на самом деле Ryzen 7 имеет 20 МБ суммарной кэш-памяти L2 + L3.
Windows 10 Scheduler Single Core Thread Mapping:
*-------------— Data Cache 0, Level 1, 32 KB, Assoc 8, LineSize 64
*-------------— Instruction Cache 0, Level 1, 64 KB, Assoc 4, LineSize 64
*-------------— Unified Cache 0, Level 2, 512 KB, Assoc 8, LineSize 64
*-------------— Unified Cache 1, Level 3, 16 MB, Assoc 16, LineSize 64
-*------------— Data Cache 1, Level 1, 32 KB, Assoc 8, LineSize 64
-*------------— Instruction Cache 1, Level 1, 64 KB, Assoc 4, LineSize 64
-*------------— Unified Cache 2, Level 2, 512 KB, Assoc 8, LineSize 64
-*------------— Unified Cache 3, Level 3, 16 MB, Assoc 16, LineSize 64
Мы уже видели подобные проблемы в прошлом, в первые дни технологии Hyper-Threading от Intel. Спустя некоторое время и несколько патчей всё заработало, как и предполагалось, и мы представляем себе, что также будет и для новой микроархитектуры Ryzen. Хорошие новости в том, что Windows 7 не проявляет ту же проблему, и производители системных плат, к счастью, выпустили драйверы для своих системных плат AM4 и под Windows 7.
Если у вас Windows 10, то есть советы, которые можно предпринять для того, чтобы обойти проблему планировщика и повысить производительность. Для игр, вы можете отключить SMT, что в большинстве случаев принесёт улучшение производительности. Это фактически объясняет различия результатов, которые мы наблюдали в некоторых играх с SMT. Если большая часть вашей работы включает в себя малопоточную или смесь одно- и малопоточной рабочей нагрузки, то мы рекомендуем отключить SMT, пока Microsoft не выпустит обновление для решения этой проблемы. Если вы занимаетесь рендерингом или делайте другую тяжелую многопоточную работу, то вы должны отсавить SMT включенной, в этом случае проблема планировщика не должна влиять на производительность в какой-либо значительной степени.
Мы продолжим экспериментировать с Ryzen в своей лаборатории и информировать вас, если узнаем больше.
Команда Prostotech