LINUX.ORG.RU

Multi-core trouble (U 9.04)


0

0

Проблема: 3 из 4 ядер отдыхают когда 1 работает за всех, если нагрузка идёт долгое время то "работающее" ядро снимает с себя нагрузку и передаёт его на другое и так по очереди. Т.е получаем: при полной нагрузке приложения тормозят т.к 1 ядро всё сразу не тянет.

Hardware: CP: Intel Core 2 Quad Q8200 Moth: GigaByte GA-P35C-DS3R

Сейчас на Ubuntu 9.04 на федоре 10/11 была аналогичная ситуация. Последний раз обновлял сегодня. Подскажите пожалуйста в железе дело или нет.

P.S. на win xp с дровами всё работает как надо.

Если всю нагрузку даёт одна программа, а в ней "работает" только один поток, то её в принципе невозможно раскидать на несколько ядер/процессоров. И это не может исправить ни железо, ни операционная система.

anonymous
()

>P.S. на win xp с дровами всё работает как надо.
А вот эту строчку желательно бы убрать, пока вас не обосрали.

darkshvein ☆☆
()
Ответ на: комментарий от anonymous327

Независимо от количества программ, одновременно загружено только 1 ядро.

Запусти несколько программ, которые потребляют процессорное время (т.е. не просто висят в фоне и ничего не делают), например одновременно перекодируй несколько видео-файлов (по количеству ядер процессора) или, как уже сказали выше, собери что-нибудь большое из исходников (например ядро) с make -jN. Когда эти программы работают, открой терминал, запусти там top и нажми на клавишу «1». Сверху будет индивидуальная статистика по ядрам процессора. Если система действительно видит все ядра, то она их все и будет использовать.

anonymous
()

> P.S. на win xp с дровами всё работает как надо.

В winxp sp3 и выше встроили хомячковый фикс, чтобы при работе однопоточного приложения VM быстро-быстро перекидывала его с корки на корку, чтобы у хомячков сложилось впечатление, что все их корки работают как надо. А что постоянное перекидывание процесса снижает производительность - так это пофиг, хомячки толще процессор купят :)

Deleted
()
Ответ на: комментарий от anonymous

Делал уже так, максимум чего добился это 70% на одном и 50% на другом. Система ядра видит но использует как то совсем не в пользу производительности. Вот откопал видео про компиз, но суть не в этом, у него такой же 4-ядерник на 2.4. Я не знаю чем он записывал видео, но у меня программы даже в раза 2-3 медленней окрываются, а видео с экрана 5-8 fps: http://www.youtube.com/watch?v=h905pHzkXPw (4:40 - все по 25-30% т.е равномерно как и должно быть).

anonymous327
() автор топика

Если приложение однопоточное, то оно и не будет использовать два ядра. Для задействования обоих ядер надо иметь или многопоточное приложение, либо много процессов которые одновременно могут использовать более двух ядер.

Алсо можно собрать bfs-планировщик, там вроде с многопроцессорными системами для десктопов много чего сделали, но оно ОЧЕНЬ сырое.

Dudraug ★★★★★
()
Ответ на: комментарий от anonymous327

Ещё раз: _НЕЛЬЗЯ_ (никак, вообще) распилить один однопоточный процесс на две равные половинки и положить их на разные ядра. Представь, что у тебя три однопоточных процесса:
1 - 25%
2 - 25%
3 - 70%
И задачка: разложи их поровну на два процессора.

И да, увы и ах, но виндоус тоже эту задачку решать не умеет.

anonymous
()
Ответ на: комментарий от anonymous

>И да, увы и ах, но виндоус тоже эту задачку решать не умеет.

Линукс вполне решает. А с bfs даже нагрузка примерно на ядра одинаковая идет, но оно еще очень сыро.

Dudraug ★★★★★
()
Ответ на: комментарий от Dudraug

Линукс вполне решает.

Нет, не решает. Нельзя заставить один поток выполняться на нескольких ядрах одновременно. Для этого нужен неслабый ИИ =).

anonymous
()
Ответ на: комментарий от anonymous

А, ну один да. Про "решает" я имел в виду распределение нескольких процессов по ядрам, винда и с этим не особо справляется.

Dudraug ★★★★★
()
Ответ на: комментарий от Dudraug

Вообщем я понял, что не в железе дело. На данный момент для меня это главное, спасибо что подсказали. Скоро Ubuntu 9.10 должна появиться, надеюсь там будет получше ситуация.

anonymous327
() автор топика
Ответ на: комментарий от anonymous327

У меня и на 9.04 все в порядке. Запусти просмотр двух HD видео, ну или поставь mplayer-mt и смотри видео пожатое x264 (HD) тогда и увидишь как оно.

Dudraug ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.