-
- Задача или поток? Почти все современные WIN32 программы состоят из нескольких потоков, которые легко распараллелить. Конечно, для конкретного потока очень трудно добиться исполнения одновременно на двух процессорах, а вам оно надо? VVB(303 знак., 26.11.2007 08:01)
- ЫЩЕ раз. Если у нас сервер, запускающий по потоку на каждого пришедшего юзера - ок. Если у нас {word, PCAD, х-ня №1, х-ня №2} - тоже. А если у нас кодер MPEG 4 AVC реального времени для видеоконференции, Evgeny_CD(110 знак., 26.11.2007 10:53)
- "Похмелье будет жёстким" -- не про многоядерность. Там, где она не нужна (в вышеописанном примере) -- она вредна. Но, как Вы правильно заметили, многоядерность улучшает скорость выполнения нескольких одновременно запущенных задач (потоков). VVB(393 знак., 26.11.2007 12:31)
- Ну как сказать... Смотрит какой-нибудь горе системный архитектор (начитавшийся глянца о новом поколении процов) на запросы алгоритма - XXX GFLOPS. Планирует - у нас 4 ядра, суммируем, получаем что все успеет. Делаем приложение - а оно не таво :) Насчет Evgeny_CD(73 знак., 26.11.2007 12:42)
- "Похмелье будет жёстким" -- не про многоядерность. Там, где она не нужна (в вышеописанном примере) -- она вредна. Но, как Вы правильно заметили, многоядерность улучшает скорость выполнения нескольких одновременно запущенных задач (потоков). VVB(393 знак., 26.11.2007 12:31)
- ЫЩЕ раз. Если у нас сервер, запускающий по потоку на каждого пришедшего юзера - ок. Если у нас {word, PCAD, х-ня №1, х-ня №2} - тоже. А если у нас кодер MPEG 4 AVC реального времени для видеоконференции, Evgeny_CD(110 знак., 26.11.2007 10:53)
- Еще проще. На 4-х ядерном проце 4 кодера MPEG сделают свою работу за X часов. Один кодер на пустой машине сделает ее за Y часов, причем гарантированно Y>(X/4). В общем случае, это может быть тоже X. - Evgeny_CD(25.11.2007 20:08)
- Слышь, теоретик - скажу тебе что на двухядернике у меня паралельно пишется видео с кодированием в MPEG-2 & MPEG-4 (второй камень загружен 100%, запись на второй HDD) и в целом без тормозов работается. - De_User(26.11.2007 20:16)
- IMHO рассматривать два и боле ядер без применения к информационным потокам системно не получится. - De_User(26.11.2007 20:18)
- Чет не понял, чего я стал объектом наезда. Я всего лишь аналитически рассмотрел возможности распараллеливания и доказал сам для себя (может, еще кому интересно было), что простой прирост числа ядер не дает столь же простого прироста производительности. Я Evgeny_CD(112 знак., 27.11.2007 10:35)
- Дык эта... "без диет и утомительных упражнений" оно завсегда и без результата либо не с тем результатом, который ожидали. ReAl(551 знак., 28.11.2007 10:48)
- Аналогия с переходом 16->32, x86 -> (x86+(MMX|SSE*)) принимается! Точно, и понты были те же. Ндя, нифига не меняется :) - Evgeny_CD(28.11.2007 10:53)
- Уважаемый Евгений! По своему опыту могу рекомендовать сделать upgrade до двухядерного процессора (можно базовой модели) с двумя HDD SATA-II и 1Gb RAM. Получите много удовольствия на практике и, надеюсь, ещё больше замечательных идей... - AU_(27.11.2007 23:38)
- 2G памяти у меня стоит уже года два. А проц пока не апгрейдил - Atlon64 1.6 одноядерник. RAID 0 или 5 было бы грамотно, но еще не сделал. Пока я не чувствую, чтобы машина тормозила мой процесс творчества :) - Evgeny_CD(28.11.2007 00:21)
- Вот выйдет атлоновский однокристальный 4-х ядерник, его обезглючат | проверят, тогда капитальный upgrade тачки и сделаю. - Evgeny_CD(28.11.2007 11:04)
- И как можно получить удовольствие от двухъядерного процессора и памяти? Поясните, а то тут, чувствую, 2 гига оперативы зря простаивают... - she(28.11.2007 00:11)
- Удовольствие - он должно быть ласковое, с приятным голосом, пышными волосами и прочими необходимыми атрибутами :))))))) - Evgeny_CD(28.11.2007 00:33)
- 2G памяти у меня стоит уже года два. А проц пока не апгрейдил - Atlon64 1.6 одноядерник. RAID 0 или 5 было бы грамотно, но еще не сделал. Пока я не чувствую, чтобы машина тормозила мой процесс творчества :) - Evgeny_CD(28.11.2007 00:21)
- Дык эта... "без диет и утомительных упражнений" оно завсегда и без результата либо не с тем результатом, который ожидали. ReAl(551 знак., 28.11.2007 10:48)
- Чет не понял, чего я стал объектом наезда. Я всего лишь аналитически рассмотрел возможности распараллеливания и доказал сам для себя (может, еще кому интересно было), что простой прирост числа ядер не дает столь же простого прироста производительности. Я Evgeny_CD(112 знак., 27.11.2007 10:35)
- IMHO рассматривать два и боле ядер без применения к информационным потокам системно не получится. - De_User(26.11.2007 20:18)
- Ну не знаю, у меня прямо счас компилится проект на 4-х ядерном Intel Core Duo Quad. Все процы загружены равномерно судя по Windows Task Manager. ;-) Или гонят? - AlexandrY(25.11.2007 20:13)
- Загружены то они загружены. Вопрос в эффективности. Померяйте при возможности при части отклбченных ядер. - Evgeny_CD(25.11.2007 20:21)
- Короче, проверил ту же самую компиляцию на одноядерном с hyper threading. Такое же время показало как на 4-х ядерном с включенной близостью на 1 процессор. AlexandrY(485 знак., 27.11.2007 01:13)
- Еще как объяснить. Evgeny_CD(470 знак., 27.11.2007 02:06)
- Мужики, вы чё 8-| . Нету там никакой распараллельности. Да и вообще, непонятно как что с чем сравнивали - процы с разной архитектурой, да и частота неизвестна. Вывод - "Прирост 25% за счет учетверения количества ядер" - вообще атас. =AlexD=(28 знак., 27.11.2007 08:11)
- В данном случае измерялся прирост скорости одного ядра Коре2 против одного ядра нетбёрст, при соотношении частот
хрен знает, и неизвестном влиянии =AlexD=(88 знак., 27.11.2007 08:21)- Во-во. Я отметил, что 7-zip на кваде при галке "многопоточность" почти гигабайтный каталог пакует быстрее, чем без неё - процентов на 30. Теперь заткну уши, чтобы не слышать, как винт при этом рычит и скажу, что прирост не соответствет числу ядер. ReAl(808 знак., 27.11.2007 09:09)
- Баб оставим в покое. Ответ ищется в "Intel 64 Software Developers Manual" AlexandrY(447 знак., 27.11.2007 12:24)
- Это пример, кстати, на оптимизацию. Если каждому потоку произвольно дать шариться по одному и тому же файлу - будет тоскливо. Если мастер-поток предварительно закачает куски файла в память, и будет натравливать на них потоки-кодеры, то все будет куда Evgeny_CD(103 знак., 27.11.2007 10:38)
- На самом деле, очень похожие задачи оптмизации возникают для современных embedded процов. Есть ядро, кеш, шиный коммутатор, DMA, SRAM на кристалле, SDRAM. Если изголиться, то можно добиться того, что пока проц будет на коде из кеша обрабатывать данные Evgeny_CD(222 знак., 27.11.2007 10:45)
- + и неизвестном влиянии чипсета, винта и таймингов памяти. - =AlexD=(27.11.2007 08:23)
- Во-во. Я отметил, что 7-zip на кваде при галке "многопоточность" почти гигабайтный каталог пакует быстрее, чем без неё - процентов на 30. Теперь заткну уши, чтобы не слышать, как винт при этом рычит и скажу, что прирост не соответствет числу ядер. ReAl(808 знак., 27.11.2007 09:09)
- В данном случае измерялся прирост скорости одного ядра Коре2 против одного ядра нетбёрст, при соотношении частот
- Мужики, вы чё 8-| . Нету там никакой распараллельности. Да и вообще, непонятно как что с чем сравнивали - процы с разной архитектурой, да и частота неизвестна. Вывод - "Прирост 25% за счет учетверения количества ядер" - вообще атас. =AlexD=(28 знак., 27.11.2007 08:11)
- Еще как объяснить. Evgeny_CD(470 знак., 27.11.2007 02:06)
- А как это сделать?В BIOS такой фичи нет.
Control Panel -> Systems нет.
В штатном EasyTune нет.
В Task Manager-е тоже не нашел. - AlexandrY(25.11.2007 21:04)
- А ХЕЗ. У меня одноядерник :) - Evgeny_CD(25.11.2007 21:47)
- Диспетчер задач -> процессы -> задать соответствие. - Т.Достоевский(25.11.2007 23:37)
- Чет не то с этой affinity. Без нее за 3:40 компилируется, а сней на один проц за 3:00 AlexandrY(129 знак., 26.11.2007 00:47)
- Всё правильно :-) =AlexD=(405 знак., 26.11.2007 10:11)
- Кстати, GNU make с ключом -j умеет распараллеливать компиляцию. Таким образом можно чувствительно подсократить время компиляции :-) =AlexD=(3377 знак., 26.11.2007 10:30)
- Он вроде как даже на несколько машин умеет параллелить. :) - Evgeny_CD(26.11.2007 11:04)
- Совершенно верно. Это ведь пакетный обработчик заданий, ему пофиг, лишь бы канал был толстым. - =AlexD=(26.11.2007 11:16)
- Он вроде как даже на несколько машин умеет параллелить. :) - Evgeny_CD(26.11.2007 11:04)
- Кстати, GNU make с ключом -j умеет распараллеливать компиляцию. Таким образом можно чувствительно подсократить время компиляции :-) =AlexD=(3377 знак., 26.11.2007 10:30)
- Надо было на последний или предпоследний цеплять. АВР студио не хочет делать стор из run пока не перецепишь на 2-4ый. Наверное система висит только в 1ом. Хотя если поставить вывод времени ядра, некоторые программы занимают красным тот процессор, на Т.Достоевский(18 знак., 26.11.2007 01:06)
- Всё правильно :-) =AlexD=(405 знак., 26.11.2007 10:11)
- Чет не то с этой affinity. Без нее за 3:40 компилируется, а сней на один проц за 3:00 AlexandrY(129 знак., 26.11.2007 00:47)
- Диспетчер задач -> процессы -> задать соответствие. - Т.Достоевский(25.11.2007 23:37)
- А ХЕЗ. У меня одноядерник :) - Evgeny_CD(25.11.2007 21:47)
- Короче, проверил ту же самую компиляцию на одноядерном с hyper threading. Такое же время показало как на 4-х ядерном с включенной близостью на 1 процессор. AlexandrY(485 знак., 27.11.2007 01:13)
- Загружены то они загружены. Вопрос в эффективности. Померяйте при возможности при части отклбченных ядер. - Evgeny_CD(25.11.2007 20:21)
- Слышь, теоретик - скажу тебе что на двухядернике у меня паралельно пишется видео с кодированием в MPEG-2 & MPEG-4 (второй камень загружен 100%, запись на второй HDD) и в целом без тормозов работается. - De_User(26.11.2007 20:16)
- Задача или поток? Почти все современные WIN32 программы состоят из нескольких потоков, которые легко распараллелить. Конечно, для конкретного потока очень трудно добиться исполнения одновременно на двух процессорах, а вам оно надо? VVB(303 знак., 26.11.2007 08:01)