LINUX.ORG.RU

какая выгода от 2-х процессоров (ядер)?


0

0

плиз, подскажите кто знает, какой с них смысл, если при любой отдельно взятой задаче работает лишь одно ядро? сильно разочаровался пробуя переконвертировать фильм mencoder'om, и увидев загрузку только одного ядра на 100%, а второе прохлаждается. понимаю, что не все задачи могут быть распараллелены, но может быть я делаю что-то не так? если я делаю всё не так, то пожалуйста подскажите какие условия(перекомпиляция ядра и/или mencodera, с какими ключами? может быть ещё какие либы системы пересобирать надо для smp) необходимы для полной утилизации ядер процессора одной задачей?

понятное дело использую цпу на 2 ядра, ядро поддерживает smp из стандартной поставки slackware 12.1 Linux noname 2.6.24.5-smp #2 SMP Wed Apr 30 13:41:38 CDT 2008 i686 AMD Athlon(tm) 64 X2 Dual Core Processor 3600+ AuthenticAMD GNU/Linux

anonymous

Ответ на: комментарий от nu11

далеко не все кодеки поддерживают многопоточность.

один из универсальных методов - запускать два mencodera параллельно.

dikiy ★★☆☆☆
()

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

hibou ★★★★★
()

Преимущества от нескольких ядер ощутимы только в следующих ситуациях: 1. Несколько процессов требуют ресурсов ЦПУ - тогда они распределяются на разные ядра и обрабатываются быстрее, чем на одном ядре. 2. Софт написан с использованием потоков. Тогда потоки распределяются по ядрам и получается то же преимущество.

sidor ★★
()

спасибо. про потоки у менкодера с кодеком по-умолчанию, толку всё равно нету, что с -ovc lavc -lavcopts threads=1, что с threads=2(4,8) одинаковое кол-во кадров пережатия. причём загрузка процесса в top не превышает 100-103% и следовательно общая загрузка системы не превышает 60-70%. блин, хочется реально увидеть хоть где-нибудь практическую востребованность 2х ядер у пользователя десктопа, может кто знает реальное приложение, которое сможет утилизовать cpu? сгодятся даже ссылки на скриншоты где будет видно, как один процесс утилизует около 200% в top.

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

в принципе еще есть pbzip2 , bzip2 компрессор, правда оно стандартный вход не сжимает ...

в общем - программа должна поддерживать поточность, если не поддерживает - получите работу на 1 ядре, утилизация 2 и более ядер будет возможна только для других процессов, ну и для компиляции - make -j2 (и более)

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

>>спасибо. про потоки у менкодера с кодеком по-умолчанию, толку всё равно нету, что с -ovc lavc -lavcopts threads=1, что с threads=2(4,8) одинаковое кол-во кадров пережатия.

какой кодек? Я жму с помощью x264, на Athlon 3800+ - все отлично распаралеливается. Да и vcodec=mpeg4 тоже вроде держит распаралеливание. Может просто сам mplayer собран криво, например использует *.so от ffmpeg, которые собраны без pthreads? :)

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

> А игры используют многоядерность?

А это наверное надо у разработчиков игр спрашивать...:) Реальное положение дел в том, что очень немногие разработчики пишут многопоточные приложения. Им так проще и дешевле :)

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

> А игры используют многоядерность?

Млять, ну сколько можно рождать подобные вопросы.

- петька, приборы?
- 20.
- че 20?
- а че приборы?

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

>Вообще программы должны быть написаны так, чтобы их можно было паралелить. А вообща, даже если проги это не поддерживают, то прелесть хотя бы в том, что можно всякие системные процессики фоновые скинуть на другое ядро, а первое будет обсчитывать то, с чем ты работаешь.

легко сказать, да не легко сделать. Так как языки типа C или Паскаля в своей сущности не "ориентированы" на распараллеливание. С помощью них можно его реализовать, теоретически. Но это во многих случаях невероятно трудно.

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

PS

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

>запусти сборку ядра с параметром make -j4

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

xvid держит, но салируемость у него пока еще слабая. x264 хорошо многопоточность держит.

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

>>блин, хочется реально увидеть хоть где-нибудь практическую
>>востребованность 2х ядер у пользователя десктопа

запусти while(1);
это один проц, а второй рисует курсор мышки. удобно

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

спасибо большое, увлекательные скрины!

anonymous
()

проигрывать видео и музыку лучше на 2-х ядерном процесоре. другие процессоры любял иногда отожрать всё что им дадут. только видео будет без рывков и звук без прерываний.

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