Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Dividere carico sulle CPU
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Forum di discussione italiano
View previous topic :: View next topic  
Author Message
kattivo
Guru
Guru


Joined: 28 Jan 2005
Posts: 450
Location: Treviso

PostPosted: Tue Feb 21, 2006 11:35 am    Post subject: Dividere carico sulle CPU Reply with quote

Salve,

Su task manager di windows, si puo' impostare al processo su che cpu farlo girare...
Io vorrei fare la stessa cosa su gentoo! Ho un Bi-proc, e vorrei tipo dirli....questo processo voglio che me lo fai girare cn la cpu0 e quest'altro con la cpu1....esiste un utility che riesce a gestire questo? o c'e gia di base qualche comando?
_________________
Eurostep Consulting S.r.l.
Andrea P. <andrea@eurostep.it>
Back to top
View user's profile Send private message
kueitao
Apprentice
Apprentice


Joined: 22 Jan 2005
Posts: 241

PostPosted: Tue Feb 21, 2006 1:22 pm    Post subject: Reply with quote

Linux fornisce delle API che permettono la realizzazione precisa di quello che ti serve. Si tratta di funzioni C che vanno quindi utilizzate da programmi nello stesso linguaggio o in linguaggi interfacciabili con il C per produrre la utility.

#include <sched.h>

int sched_setaffinity(pid_t pid, unsigned int cpusetsize, cpu_set_t *mask);
int sched_getaffinity(pid_t pid, unsigned int cpusetsize, cpu_set_t *mask);

Robert love, un bravo kernel hacker, ha prodotto un tool (licenziato GPL) che implementa proprio le suddette API. Se non ricordo male si chiama "taskset". Fai una ricerca su Google per trovarlo.

Saluti.

fabio de francesco

PS.: Si tratta di una utility da utilizzarsi a riga di comando. Non so se qualcuno si è mai preoccupato di creare un front-end grafico per la stessa "taskset" o altre similari che usano le stesse API.

Mi informerò meglio sull'argomento appena ho tempo perché conosco bene e talvolta uso le suddette funzioni in miei programmi C/C++ così mi piacerebbe costruire un applicazione con GUI per l'utente finale (magari con le librerie QT).
Back to top
View user's profile Send private message
.:chrome:.
Advocate
Advocate


Joined: 19 Feb 2005
Posts: 4588
Location: Brescia, Italy

PostPosted: Tue Feb 21, 2006 1:43 pm    Post subject: Re: Dividere carico sulle CPU Reply with quote

kattivo wrote:
Su task manager di windows, si puo' impostare al processo su che cpu farlo girare...
Io vorrei fare la stessa cosa su gentoo! Ho un Bi-proc, e vorrei tipo dirli....questo processo voglio che me lo fai girare cn la cpu0 e quest'altro con la cpu1....esiste un utility che riesce a gestire questo? o c'e gia di base qualche comando?

potresti provare con le schedutils.
ma mi sembra una gran vaccata. se fai così le politiche di scheduling se ne vanno a (meretrici)

io credo che tu abbia bisogno di studiare un po' come funzionano i sistemi operativi e gli scheduler
Back to top
View user's profile Send private message
kattivo
Guru
Guru


Joined: 28 Jan 2005
Posts: 450
Location: Treviso

PostPosted: Tue Feb 21, 2006 4:36 pm    Post subject: Reply with quote

Dovrei studiare tante cose...ma non posso fare tutto! e ne risento..! quello che volevo fare è: tipo per decodificare un dvd, farli fare tutto il lavoro a un solo processore...cosi posso utilizzare l'altra cpu per l'uso....
_________________
Eurostep Consulting S.r.l.
Andrea P. <andrea@eurostep.it>
Back to top
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Tue Feb 21, 2006 4:47 pm    Post subject: Reply with quote

non potresti semplicemente cambiare il nice della codifica del dvd in modo da lasciare spazio al tuo uso ...
_________________
Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con
Code:
grep -vE '(^[[:space:]]*($|(#|!|;|//)))'
Back to top
View user's profile Send private message
stefanonafets
l33t
l33t


Joined: 10 Feb 2003
Posts: 644

PostPosted: Tue Feb 21, 2006 4:47 pm    Post subject: Reply with quote

Non credo che cambi qualcosa all'atto pratico, lo scheduler del kernel linux (a mio avviso) funziona egregiamente...
_________________
registered Linux user number #411324
sed 's/ke/che/g'

<The Deployment Slave is initializing>
Back to top
View user's profile Send private message
kueitao
Apprentice
Apprentice


Joined: 22 Jan 2005
Posts: 241

PostPosted: Tue Feb 21, 2006 4:56 pm    Post subject: Re: Dividere carico sulle CPU Reply with quote

k.gothmog wrote:
potresti provare con le schedutils

Ecco come si chiama il pacchetto che appunto comprende "taskset"...
Back to top
View user's profile Send private message
kueitao
Apprentice
Apprentice


Joined: 22 Jan 2005
Posts: 241

PostPosted: Tue Feb 21, 2006 5:03 pm    Post subject: Reply with quote

Ah... In ogni caso sono daccordo con chi preferisce lasciare fare allo scheduler del kernel, almeno in generale. Prima di usare le APi di cui parlavo o la loro implementazione in un qualsiasi tool per l'utente si dovrebbe conoscere molto bene quello che si sta per fare perchè quasi sempre si rischia di peggiorare la situazione che si vorrebbe risolvere.

Rimane il fatto che le suddette API sono di estrema utilità per chi sa il fatto suo.

Saluti.

fabio de francesco
Back to top
View user's profile Send private message
CarloJekko
Veteran
Veteran


Joined: 31 Mar 2005
Posts: 1315
Location: Baia Domizia :-)

PostPosted: Tue Feb 21, 2006 5:12 pm    Post subject: Reply with quote

stefanonafets wrote:
Non credo che cambi qualcosa all'atto pratico, lo scheduler del kernel linux (a mio avviso) funziona egregiamente...

O(1)
_________________
C.
Back to top
View user's profile Send private message
.:chrome:.
Advocate
Advocate


Joined: 19 Feb 2005
Posts: 4588
Location: Brescia, Italy

PostPosted: Tue Feb 21, 2006 7:22 pm    Post subject: Reply with quote

kattivo wrote:
Dovrei studiare tante cose...ma non posso fare tutto! e ne risento..! quello che volevo fare è: tipo per decodificare un dvd, farli fare tutto il lavoro a un solo processore...cosi posso utilizzare l'altra cpu per l'uso....

ma scusa... tu uno scheduler non sai proprio cosa è, vero?

secondo me quello che chiedi è semplicemente assurdo. io cercherei di impiegare meglio il mio tempo, magari leggendo qualche buon libro, che eviterebbe di fare certe figure
Back to top
View user's profile Send private message
xdarma
l33t
l33t


Joined: 08 Dec 2003
Posts: 719
Location: tra veneto e friuli (italy)

PostPosted: Tue Feb 21, 2006 8:16 pm    Post subject: Reply with quote

kattivo wrote:
quello che volevo fare è: tipo per decodificare un dvd, farli fare tutto il lavoro a un solo processore...cosi posso utilizzare l'altra cpu per l'uso....

IMHO:
1. mi associo con chi ti ha detto che per quello che ci devi fare tu, associare un processo ad un processore in particolare è una vaccata;
2. quoto chi ti ha detto di utilizzare correttamente nice
3. presumo che utilizzerai mencoder o transcode, in tal caso ti informo che per mencoder esiste l'opzione threads=n (il cui significato dovrebbe essere chiaro ad un utente di quadriprocessore), per transcode devi usare il flag -u 10,n dove 10 è il buffer predefinito, mentre n (sorpresa :-) il numero di threads...
4. mai sentito dire che sui sistemi smp un processo che genera un solo thread girerà su un solo processore alla volta?

kattivo wrote:

Dovrei studiare tante cose...ma non posso fare tutto! e ne risento..!

poverino, pensa quanto tempo ti porta via leggere le pagine man...
fai bene a postare per problemoni del genere

xdarma

p.s.
monoprocessori? pfui ho comprato un quad-cpu solo perchè non riuscivo ad impennare con il motorino...
Back to top
View user's profile Send private message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4514
Location: Somewere around the world

PostPosted: Wed Feb 22, 2006 7:45 pm    Post subject: Reply with quote

La discussione sulla maleducazione di alcune risposte precedenti è stata splittata qua perché troppo lunga
[discussione]E' importante l'educazione nel forum?

Gradirei che qua si tornasse IT grazie :roll: (possibilmente con educazione :wink: grazie )
_________________
Any mans death diminishes me, because I am involved in Mankinde; and therefore never send to know for whom the bell tolls; It tolls for thee.
-John Donne
Back to top
View user's profile Send private message
fbcyborg
Advocate
Advocate


Joined: 16 Oct 2005
Posts: 3056
Location: ROMA

PostPosted: Sat Apr 18, 2009 10:46 am    Post subject: Reply with quote

Ho trovato questo thread per caso, perché sto avendo problemi con mencoder che mi utilizza un solo processore (ho un quad core).
Prima di tutto sono andato a leggere la documentazione di mencoder.
xdarma wrote:
3. presumo che utilizzerai mencoder o transcode, in tal caso ti informo che per mencoder esiste l'opzione threads=n (il cui significato dovrebbe essere chiaro ad un utente di quadriprocessore)

Purtroppo l'utilizzo di threads=4 non sortisce alcun effetto, e con htop vedo che solo un core della CPU è al 100%.
Potrebbe dipendere da mplayer che non è compilato correttamente?

Il comando che usavo prima quando avevo un singolo processore, per convertire un file mpeg in avi era il seguente:
Code:
mencoder INPUT -ofps 25 -ovc xvid -oac mp3lame -lameopts abr:br=192 -srate 48000 -vf scale=720:576 -xvidencopts fixed_quant=4 -o OUTPUT.avi

ho aggiunto l'opzione threads=4 ma non cambia niente, per l'appunto.
Questo comando l'ho trovato googlando, non l'ho fatto io.

Come si fa?

Io devo semplicemente convertire un file m2t registrato con Kaffeine dal satellite in xvid, senza ridimensionamenti particolari (anche se poi ho usato scale, lo so!!) e che abbia una buona qualità. Rapporto di compressione in GB approssimativo: 1/8.
_________________
[HOWTO] Come criptare la /home usando cryptsetup e luks
[HOWTO] Abilitare il supporto al dom0 XEN su kernel 3.X
Help answer the unanswered
Back to top
View user's profile Send private message
xdarma
l33t
l33t


Joined: 08 Dec 2003
Posts: 719
Location: tra veneto e friuli (italy)

PostPosted: Sun Apr 19, 2009 7:21 pm    Post subject: Reply with quote

fbcyborg wrote:
Ho trovato questo thread per caso, perché sto avendo problemi con mencoder che mi utilizza un solo processore (ho un quad core).
Prima di tutto sono andato a leggere la documentazione di mencoder.
xdarma wrote:
3. presumo che utilizzerai mencoder o transcode, in tal caso ti informo che per mencoder esiste l'opzione threads=n (il cui significato dovrebbe essere chiaro ad un utente di quadriprocessore)


Alle volte la spocchia torna utile a qualcun'altro :-)

fbcyborg wrote:
Purtroppo l'utilizzo di threads=4 non sortisce alcun effetto, e con htop vedo che solo un core della CPU è al 100%.
Potrebbe dipendere da mplayer che non è compilato correttamente?

Il comando che usavo prima quando avevo un singolo processore, per convertire un file mpeg in avi era il seguente:
Code:
mencoder INPUT -ofps 25 -ovc xvid -oac mp3lame -lameopts abr:br=192 -srate 48000 -vf scale=720:576 -xvidencopts fixed_quant=4 -o OUTPUT.avi

ho aggiunto l'opzione threads=4 ma non cambia niente, per l'appunto.
Questo comando l'ho trovato googlando, non l'ho fatto io.

Come si fa?

Io devo semplicemente convertire un file m2t registrato con Kaffeine dal satellite in xvid, senza ridimensionamenti particolari (anche se poi ho usato scale, lo so!!) e che abbia una buona qualità. Rapporto di compressione in GB approssimativo: 1/8.

Credo che le uniche USE flags che ti servono dovrebbero essere: encode, x264 e xvid. Ma fai attenzione perché x264 è un formato diverso da xvid.
Ma dove hai aggiunto "threads=4" ?
Dovresti modificare così: "-xvidencopts fixed_quant=4:threads=4"
Ma dal man di mplayer ti ricordo che:
Code:
L'opzione che segue è disponibile solo nella versione 1.2.x di Xvid.

threads=<0-n>
 Crea n thread per eseguire la stima del movimento (default: 0). Il numero massimo di thread che possono essere usati è l'altezza dell'immagine diviso per 16.

Se non ti funziona prova a cambiare librerie passando a lavc:
- sostituisci "-ovc xvid" con "-ovc lavc"
- sostituisci "-xvidencopts fixed_quant=4:threads=4" con "-lavcopts vcodec=mpeg4:vqscale=4:threads=4"

Oppure dai un occhio a questo thread: [HOW-TO] Comprimere DVDs usando mencoder/mplayer e prova a usare la codifica in più passaggi.

Ciao.
_________________
proud user of faKeDE-4.7.3 -> back to windowmaker -> moved to LXQt
Back to top
View user's profile Send private message
fbcyborg
Advocate
Advocate


Joined: 16 Oct 2005
Posts: 3056
Location: ROMA

PostPosted: Sun Apr 19, 2009 7:29 pm    Post subject: Reply with quote

Grazie!

Ha funzionato alla grande! Il tempo previsto per il termine della conversione è ora pari ad 1/5 del precedente.

:lol:
_________________
[HOWTO] Come criptare la /home usando cryptsetup e luks
[HOWTO] Abilitare il supporto al dom0 XEN su kernel 3.X
Help answer the unanswered
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Forum di discussione italiano All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum