[identity profile] shaihkritzer.livejournal.com posting in [community profile] useful_faq
Какая утилита может точно показывать нагрузку многоядерного процессора, для каждого ядра отдельно?
Вот к примеру, в обычном ХРшном диспетчере задач на вкладке “быстродействие” вижу четыре диаграммы (для core2quad), причём независимо от приложения и нагрузки, всё распределяется на 4 ядра. (не нужно орать что мало приложений поддерживают многопоточность, для проверки грузил разными прогами обработки видео, используя кодек DivX 6.8.4 Codec (4 logical CPUs))
Собственно вопрос: если я вижу загрузка 25%, то это значит что первое ядро загружено полностью, а остальные три отдыхают, или что каждое из четырёх загружены по 25%, или же суммарная нагрузка по четырём ядрам равна 25%?
и посоветуйте софт, который мог бы в отдельном окошке показывать такие же диаграммы, но точно для каждого ядра отдельно, и общую загрузку процессора в процентах.

Date: 2008-11-08 10:58 am (UTC)
From: [identity profile] shackled-koenig.livejournal.com
дрова и патчи ставил на XP?

Date: 2008-11-08 11:52 am (UTC)
From: [identity profile] shackled-koenig.livejournal.com
С сайта интел, под проц и с сайта микрософт для многоядерника. Без них венда не видит двух/четыхёр ядерный проц как следует. Точнее видет, но не умеет с ним работать

Date: 2008-11-08 12:01 pm (UTC)
From: [identity profile] shackled-koenig.livejournal.com
именно под икспи и надо.
Виста вроде как по дефолту умеет многоядерность

Date: 2008-11-08 02:01 pm (UTC)
From: [identity profile] f2065.livejournal.com
короче ты чушь написал.
хп по дефолтку точно так же умеет многоядерность.

(он её не умеет если криворукие сборщики развернули на 2ядерную машину образ сделанный на 1ядерной).

Date: 2008-11-08 02:03 pm (UTC)
From: [identity profile] shackled-koenig.livejournal.com
У мя именно нормальная устновка была - и была проблема с многоядерностью.
У коллеги на работе тоже самое было.
Только ручками и заработало всё

Date: 2008-11-08 02:08 pm (UTC)
From: [identity profile] f2065.livejournal.com
Тогда ещё вариант — проблемы с биосом или идентификацией конфига чипсета…
Я ставил WinXP-SP2, -SP3 с нуля — и даже без драйверов загрузка проца нормально балансировалась на все ядра. На чипсетах NF500 правда только пробовал.
Может в других что-то и наглючили, что нужны хотфиксы

Date: 2008-11-08 02:09 pm (UTC)
From: [identity profile] shackled-koenig.livejournal.com
Может быть, ибо что у меня, что у коллеги матеренки древнющие

Date: 2008-11-08 01:50 pm (UTC)
From: [identity profile] f2065.livejournal.com
А можно конкретнее ? Я что-то не заметил такой проблемы.
Более того, пользовательским процессам не нужны никакие дрова на проц!

Надо просто программу писать так чтобы она могла полноценно распараллеливатся: выносить участки вычисления при помощи CreateThread()

Date: 2008-11-08 01:53 pm (UTC)
From: [identity profile] shackled-koenig.livejournal.com
Щас погуглю.
Просто если прога это умеет - то дров не надо, а если не умеет - то очень надо.

Date: 2008-11-08 02:04 pm (UTC)
From: [identity profile] f2065.livejournal.com
Я как программист под WinAPI — понимаю вообще логику работы с многоядерными процами. Если программа не умеет (не выносит вычисления в дополнительные Thread) — то никакие дрова тут не помогут.

Date: 2008-11-08 02:08 pm (UTC)
From: [identity profile] shackled-koenig.livejournal.com
Тут я спорить не буду.
Ибо спорть когда не уверен - глупо.
Но я наступал на грабли, когда не стовил dualcore optimizer от AMD

Date: 2008-11-08 01:55 pm (UTC)
From: [identity profile] shackled-koenig.livejournal.com
http://www.winblog.ru/2007/04/20/20040704.html

Date: 2008-11-08 02:00 pm (UTC)
From: [identity profile] f2065.livejournal.com
Ну так это совсем другой случай. Там винду не ставили, а тупо развернули образ, который был создан на 1ядерной машине - на 2ядерную. И ни о каких драйверах там и речи нет, там хотфиксы.

Date: 2008-11-08 02:03 pm (UTC)
From: [identity profile] shackled-koenig.livejournal.com
У мя именно нормальная устновка была - и была проблема с многоядерностью.
У коллеги на работе тоже самое было.
Только ручками и заработало всё

Date: 2008-11-08 02:07 pm (UTC)
From: [identity profile] nevedimko.livejournal.com
Может от свежести виндовского дистрибутива зависит?
Никогда проблем с многоядерностью не было - ни на Амд х2 3800+ 2 полтора года назад, ни сейчас на Q6600.

Date: 2008-11-08 02:10 pm (UTC)
From: [identity profile] f2065.livejournal.com
я думаю от отдельных моделей материнок зависить может, в некоторых видимо неправильно определяется многопроцессорная конфигурация ACPI.

многоядерность то ещё в 2000 винде существовала

Date: 2008-11-08 01:56 pm (UTC)
From: [identity profile] f2065.livejournal.com
Архитектура такова, что ядра работают над одним процессом все сразу потихоньку. Если у процесса явным образом не задано AffinityMask, только если задано - до над этим процессом будет работать 1 ядро до 100%.

А использовать 400% на один процесс, если процесс сам этого явным образом не хочет - нельзя. Будут проблемы с просчётом времени и синхронизации, например. Однако, процессу надо всего-навсего создавать дополнительные Thread, и таким образом он может нагрузить любое кол-во ядер на 100%

Я кстати утилиту писал, чтобы изучать выборочную загрузку ядер.
http://2065.nm.ru/ -> soft -> HotCPU.

Date: 2008-11-08 02:03 pm (UTC)
From: [identity profile] shackled-koenig.livejournal.com
Спасибо, затестим ща

Date: 2008-11-08 02:05 pm (UTC)
From: [identity profile] shackled-koenig.livejournal.com
Полезная софтинко, ещё раз спасибо

Date: 2008-11-08 02:20 pm (UTC)
From: [identity profile] nevedimko.livejournal.com
Cпасибо за прогу. Правда в Висте х32 выскакивает вот такое окошко :

Image

Заинтересовала так же HDD_Speed_test_v1.rar
С Sata дисками она корректно работает?( в данный момент проверить сам не могу - комп занят).

Date: 2008-11-08 05:25 pm (UTC)
From: [identity profile] f2065.livejournal.com
Там опечатка в исходниках была, если 4 ядерный проц. Выложил HotCPU v2 — там теперь новые возможности для исследований добавились :)


А про HDD Speed Test — она гоняет данные через стандартное API. Так что работает абсолютно с любыми девайсами, которые в винде имеют букву (флешки, и т.д.). А так-же с сетевыми дисками.

Date: 2008-11-08 05:46 pm (UTC)
From: [identity profile] nevedimko.livejournal.com
Биг сенкс. Проц четырёхядерный.

А HDD Speed Test интересна в свете перехода с Ide на Ahci в уже установленной Висте.

Date: 2008-11-08 02:01 pm (UTC)
From: [identity profile] nevedimko.livejournal.com


Думаю что это означает суммарную нагрузку всего процессора. Встречались ситуации, когда одно ядро работало под 40 - 50 процентов по диаграмме в диспетчере задач - а в окошке Загрузка процессора стояли скромные 11 - 16% ( Q6600).

Date: 2008-11-08 03:42 pm (UTC)

Date: 2008-11-08 02:24 pm (UTC)
From: [identity profile] stylemusic.livejournal.com
Вы лучше скажите зачем вам это надо знать? И какие именно программы многопоточные собираетесь использовать? Я серьезно спрашиваю, так как тоже хотел бы использовать.

Я проводил эксперименты и ответственно заявляю, что та загрузка что показывает диспетчер задач еще ничего не значит. Есть только один правильный способ оценить эффективность. Тупо сравнить время 1 ядро-2 ядра или 2 ядра-4 ядра и т.п.
Я пока знаю и применяю только 2 программы которые используют многоядерность. Это 3ds max вместе с vray и rar определенной версии. Причем у rar-a прирост слабенький по сравнению с vray.
Но например если в 3dsmax поставить стандартный рендер, то он показывает что загрузка 2 ядер 87-90%, а реально время просчета даже на 2 секунды больше по сравнению с один ядром. Другими словами диспетчер задач показывает не то, что нужно пользователю.
Поэтому понять практическую эффективность можно только замерами времени.

Для XP ничего дополнительно ставить не надо для многоядерности. Это точно.

Date: 2008-11-08 02:42 pm (UTC)
From: [identity profile] nevedimko.livejournal.com
Понимают многоядерность:

xVid ( не все билдилды корректно), x264(хорошо),MainConcept Mgeg 2(отлично)

Date: 2008-11-08 03:01 pm (UTC)
From: [identity profile] stylemusic.livejournal.com
Понятно.
Но повторюсь, что по параметру степени загрузки ядра в диспетчере задач нельзя точно понять насколько стало быстрее. То есть когда я видел на 2 ядерном загрузку 90% при расчетах, я с одной стороны мог бы радоваться, что якобы на 80% процентов быстрее считает, а оказалось что это не так и считает так же (именно та программа).
А в другом случае 100% загрузки (другим рендером) давало реальный прирост 40-50% и это с учетом того, что к винчестеру обращений почти не было и все происходило в памяти.
Кстати тот же core 2 duo считает заметно быстрее pentium 4 не только потому что там 2 ядра, а также ведь потому что архитектура другая и все комплектующие быстрее и современнее.
Насколько я понимаю способ добиться максимальной эффективности это найти прямое указание, что программа использует многоядерность (при рендере это кстати визуально даже видно, там каждый процесс-это один квадрат на картинке), загрузка по диспетчеру должна быть близка к 100% (если нет, то что-то неправильно) и чтобы окончательно не сомневаться это сравнить время просчета.

Date: 2008-11-08 10:29 pm (UTC)
From: [identity profile] ex-nb-t.livejournal.com
----И какие именно программы многопоточные собираетесь использовать?
я давно использую на 16ти ядрах)))) такие как: postfix, postgresql, clamav, oracle,asterisk, pure-ftpd, lighttpd и т.д.
а что вы там про сравнивания времени написали - чушь полная. поизучайте бенчмарки всевозможные.
(deleted comment)

Date: 2008-11-09 11:23 am (UTC)
From: [identity profile] ex-nb-t.livejournal.com
да както вы непонятно про производительность,
может и не чушь, но очень сильно зависит на производительность, "планировщик задач", например c ule, постгресс гораздо шустрее чем с 4bsd планировщиком. ну и т.д.

Date: 2008-11-08 11:26 pm (UTC)
From: [identity profile] stylemusic.livejournal.com
Ну я использую на 12 ядрах, но другие программы про которые писал.
И то что я написал это совершенно не чушь. Все что там написано от начала до конца – правильно. Могу продемонстрировать и доказать каждый пункт там.

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

Date: 2008-11-08 11:48 pm (UTC)
From: [identity profile] stylemusic.livejournal.com
Добавлю. Самое забавное, что вы так пишете, как будто не знаете что такое benchmark.

На всякий случай напомню.
Цитата из wikipedia:
"Бенчмарк, тест производительности (англ. benchmark) — контрольная задача, необходимая для определения сравнительных характеристик производительности компьютерной системы."
Ну то есть какая будет основная сравнительная характеристика для рендеринга? Это будет время. И именно его и сравнивают. И именно оно больше всего интересно пользователю, а не скажем загрузка ядер. Естественно для других задач, сранительная характеристика может быть другой - например, число кадров в секунду и т.д.

Так что вы в общем-то написали тоже самое что и я, только другими словами :)

Date: 2008-11-10 01:49 am (UTC)
From: [identity profile] good-chaotic.livejournal.com
Для просмотра нагрузки попробуйте Process Explorer. Последние версии показывают нагрузку на каждое ядро.