Comments 62
Скорее всего TSC(тот что вы читаете при помощи RDTSC) тикает в разных ядрах по разному. При старте биоса стартует всегда одно ядро(нулевое) и уже потом специальный код стартует остальные ядра, потому на разных ядрах может оказаться разное значение TSC. Винда кидает процессы между ядрами. Когда вы выставляете Affinity. Кстати TSC ещё и переполняться может за долгое время работы, ничего в этом страшного нет. Мы даже писали в него с драйвера, всё прекрасно работает. Вообще от использования TSC надо уходить. На многоядерных машинах с плавающей частотой, да ещё и асинхронно, когда одни ядра разгоняются быстрее чем другие вообще чёрт в этом TSC сломит.
+15
Исправление: Когда вы выставляете Affinity программа привязана к одному ядру, и глюки пропадают.
+4
Винда действительно кидает программу между ядрами, даже если поток всего один. Глюк заключается в Cool'n'Quiet — первое ядро простаивает, второе работает, первое получает инструкцию, которую надо выполнить, второе получает за ним, но второе выполняет инструкцию раньше, чем первое, потому что первое простаивает.
0
Вывод однин. TSC это точно но очень опасно, лучше не использовать.
+1
UFO just landed and posted this here
Я тоже раньше так думал, и сам имею только интел на всех компьютерах, но знакомым иногда рекомендую AMD тупо по соотношению цена/производительность. А всем топовые решения навязывать просто бессмысленно.
-1
Просто фигею от подобных заявлений.
Вы хоть поняли о чем пост?????
Ладно объясню: человек не читает msdn, потом долго ищет баг и в результате делает неправильные выводы.
Вы хоть поняли о чем пост?????
Ладно объясню: человек не читает msdn, потом долго ищет баг и в результате делает неправильные выводы.
+2
UFO just landed and posted this here
Да, а процессоры Интел в проблемах не были замечены…
+1
Проблема в материнской плате!
Не разбираетесь в проблеме, зачем тролить?
Почитайте тихонечко
www.ice-graphics.com/ICEAffinity/IndexR.html
Не разбираетесь в проблеме, зачем тролить?
Почитайте тихонечко
www.ice-graphics.com/ICEAffinity/IndexR.html
+2
К некоторым двухъядерникам от ИНтела это тоже относится.
0
Вывод один. процессоры это очень опасно, лучше не использовать.
+22
У меня смутное ощущение что АМД выпускала дрова для своих процов, которые решали указанные глюки.
Но могу ошибаться.
Просто у меня никогда не было Интел процессоров, и эти глюки видел очень ограниченный промежуток времени
Но могу ошибаться.
Просто у меня никогда не было Интел процессоров, и эти глюки видел очень ограниченный промежуток времени
0
Та же проблема есть и в Linux при использовании clocksource TSC ядром. При смене на hpet проблема решается. :) На Intel ее нет (собственно и tsc там почему-то не выбирается по-дефолту). А диагностика та же — многократный запуск команды date из шелла может показывать разное время, которое отличается на 2-3 секунды. Отрицательные пинги и т.д.
попробовать hpet можно вот так:
echo hpet > /sys/devices/system/clocksource/clocksource0/current_clocksource
попробовать hpet можно вот так:
echo hpet > /sys/devices/system/clocksource/clocksource0/current_clocksource
0
Счетчик тактов уходит из-за технологий энергосбережения с понижением частоты. У Интела одно время были проблемы с TSC на SMP, но потом (начиная с P4 0xF30) они придумали «constant tsc» (гуглите, www.tomshardware.co.uk/forum/128629-10-intel ). Эта фича говорит о том, что rstsc будет выдавать монотонный и синхронный счетчик на любых ядрах вне зависимости от текущих технологий энергосбережения, от текущей частоты.
+3
нашел на их сайте линк — Cool ‘n’ Quiet
а вот как, отключить или проверить правильно ли работает не нашел… обидно
а вот как, отключить или проверить правильно ли работает не нашел… обидно
0
чудеса криогенных технологий. На сайте АМД уже пару лет как фикс лежит
+20
Эээ, ну так просто драйвер поставить и все.
CnQ отключать глупость. Запрет на использования больше одно ядра, тоже.
Ну и да, кстати минусовые пинги тоже свидетельство.
CnQ отключать глупость. Запрет на использования больше одно ядра, тоже.
Ну и да, кстати минусовые пинги тоже свидетельство.
+3
Надо же, я не знал, что в серьёзных программах для измерения времени используется служебный регистр, не предназначенный для измерения времени.
+6
А у меня двухядерник от Интел и в KOTOR 1 тоже были «скачки времени». Может не только у АМД такой глюк?
+5
Вы сломали машину времени. :(
0
в GTA San Andreas при включенных двух ядрах атлона игра значительно ускорена, так что порой невозможно играть
поэтому после включения приходится сворачивать и отключать второй процессор в диспетчере задач
поэтому после включения приходится сворачивать и отключать второй процессор в диспетчере задач
+1
Баг очень старый. Можно поставить оптимайзер от AMD, а еще лучше просто поставить Service Pack 3 на Windows XP
+2
амд как обычно отжог. занимались бы лучше видяхами, хоть что-то получаться стало
-12
Страшнейший баян про отрицательный ping на системах с amd)))
+4
Вот инвалиды, блин, сделали бы общий регистр на все ядра. Это же самый удобный по моему способ мерять время. без оверхедов и системных вызовов, будь они неладны.
-5
Напомнило:
0
Извиняюсь, случайно. Так вот:
SetTime(0,0,0,0); {засекаем время, т.е. устанавливаем системное время равным 0 ч 0 мин 0.00 сек }
For i:=1 to NumDist do
begin
d:=dist[i];
For CurGroup:=1 to d do
InsertSort(d,CurGroup);
end;
GetTime(hour,minute,second,hund); {Получаем время сортировки}
via govnokod.ru/1122
SetTime(0,0,0,0); {засекаем время, т.е. устанавливаем системное время равным 0 ч 0 мин 0.00 сек }
For i:=1 to NumDist do
begin
d:=dist[i];
For CurGroup:=1 to d do
InsertSort(d,CurGroup);
end;
GetTime(hour,minute,second,hund); {Получаем время сортировки}
via govnokod.ru/1122
0
просто у вас компьютер стоит вертикально, ядра находятся на разной высоте от земли, время для верхнего течет медленнее, вот разница накапливается и однажды проявляется ошибка. Положите компьютер горизонтально.
Шутка, если что ;)
Шутка, если что ;)
+21
Забыли сказать, что это все только «In Windows Server 2000, Windows Server 2003, and Windows XP»
+1
Офигеть… Ну стоило бы таки прочитать мануал к процессору, ей богу :) Столько гемора и времени…
Кстати на новые двух-трех-четырехядерные процессоры драйвер уже не нужен.
Кстати на новые двух-трех-четырехядерные процессоры драйвер уже не нужен.
-1
Прочитал статью, автору респект! А вот инженерам AMD низачет, как-то на голову не налазит, что они пропустили такой баг. ИМХО.
-10
слоупок. эту багу лет 200 назад пофиксили и выпустили новый драйвер…
+5
Может не в тему, но на моей тачке со включенным Cool&Quiet USB-audio временами издавал достающие клики, особенно при нагрузне на графику. Подозреваю, что причиной является то же самое.
-1
Развели тут флуду, амд у вас во всём виновата…
Проблеме на самом деле сто лет в обед, и решаетя 1000+ способом.
Но на самом деле процессоры АМД здесь не при чём, проблема в материнской плате.
BiSeTrojanov, какой бы ты себе не вставил многоядерный процессор в свою материнскую плату, она не сможет запустить ядра синхронно, проблема в мамке, решается вполне софтово.
Детальное описание проблемы, и программка которая проверяет систему.
www.ice-graphics.com/ICEAffinity/IndexR.html
Проблеме на самом деле сто лет в обед, и решаетя 1000+ способом.
Но на самом деле процессоры АМД здесь не при чём, проблема в материнской плате.
BiSeTrojanov, какой бы ты себе не вставил многоядерный процессор в свою материнскую плату, она не сможет запустить ядра синхронно, проблема в мамке, решается вполне софтово.
Детальное описание проблемы, и программка которая проверяет систему.
www.ice-graphics.com/ICEAffinity/IndexR.html
+3
Причина — сугубо в криворукости программистов. Им в голову не прийти, что бывают много процессорные системы. Там кроме этого ещё вагон багов есть — например, задача может поочерёдно исполняться на разный ядрах, что при эксклюзивном кэше даёт сильную потерю в производительности.
И нечего тут на AMD валить — криворуким программистам, чего не дай — все затормозят и испоганят.
И нечего тут на AMD валить — криворуким программистам, чего не дай — все затормозят и испоганят.
0
/usepmtimer НЕЛЬЗЯ убирать.
Вы же сами через одно место прочитали KB 895980
«you must force the AMD computer to use the PM timer by using the /usepmtimer switch.»
Вы же сами через одно место прочитали KB 895980
«you must force the AMD computer to use the PM timer by using the /usepmtimer switch.»
0
Sign up to leave a comment.
Временной парадокс в многоядерных процессорах AMD