Jump to content
vectral

Dual Core Più Performante Solo In Rendering?

Recommended Posts

Mi scuso se l'argomento è gia stato trattato, ma mi sto scervellando su un quesito prima di aggiornare il mio pc... :wallbash:

I due core di un processore dualcore sono sfruttati solo nel rendering o anche nelle normali operazioni di modifica delle mesh o applicazione di modificatori?

Io lavoro su un sistema dual processor ed ho visto che in queste operazioni non vengono MAI sfruttati i due processori, avviene la stessa cosa sui dual-core?

In definitiva, considerando soltanto la velocità operativa sulle mesh, è più conveniente un processore single core da 3ghz o un dual-core da 2ghz X 2 ???

Grazie!!

Share this post


Link to post
Share on other sites

tralasciando un attimo il discorso sulle modifiche delle mesh, vorrei ricordare che è sbagliato il confronto tra due processori in base alla frequenza operativa. è un parametro che ormai non ha più significato se non tra i modelli di uno stesso processore. anche se prendi un solo core di una cpu di oggi sarà più performante di un pocessore a 3ghz single core, poicè hanno una diversa architettura, diverso processo produttivo, e soprattutto un rendimento per ogni mhz molto più alto ;)

Share this post


Link to post
Share on other sites

mettendo sulla bilancia tutti i fattori in ballo, un processore dual core risulta praticamente sempre più efficace rispetto ad un qualsiasi single core. anche soltanto nella gestione di windows.

che poi i software sfruttino o meno al 100% le potenzialità di un dual core è un altro discorso, ma a livello operativo il dual core in ambiente multitasking è una scelta più indicata.


"Il vero viaggio di scoperta non consiste nel cercare nuove terre, ma nell'avere nuovi occhi" (Marcel Proust)

"Due sono le cose infinite esistenti: l'universo e la stupidità degli uomini, ma sull'universo ho ancora qualche dubbio" (Albert Einstein)

Share this post


Link to post
Share on other sites

Resta comunque che al di fuori del Rendering, per calcoli di dinamica (Rigid, Soft, Fluidi ecc.), operazioni di qualunque natura su superfici nurbs o mesh complesse, sia in MAX, che Maya, che XSI, che Real Flow che una marea d'altri software, se ci si abitua a lavorare col Task Manager aperto si nota che il carico di lavoro in questi casi non supera mai il 50% - 60% nei sistemi Dual Processor o Dual Core.

Che poi il confronto a GHz non sia da tener conto più di tanto è vero, ma è vero anche ciò che in buona parte del lavoro 3D, tali sistemi pluriprocessore/core non vengono sfruttati a pieno.

Share this post


Link to post
Share on other sites

A prova di questo, tempo fa ho fatto un test:

Ho (o meglio avevo :crying: ) un Dual Athlon MP 2200 ed un semplice, singolo Athlon 2200... stessa ram, stessa configurazione praticamente, solo che uno era con due proci, uno con uno solo.

Ho sottoposto ai due pc la stessa scena di RealFlow (Fluidodinamica quindi) ed i tempi di calcolo sono stati fondamentalmente gli stessi.

Quindi ho lasciato al Singolo i calcoli di fluidodinamica e sfruttato il Dual per renderizzare i frame già pronti ed assemblati in XSI

E' un problema che in effetti non ho mai capito come risolvere, sembra dipendere solo dal software, perchè almeno fin'ora non ho trovato nulla che potesse risolvere questo problema e riuscire a farmi sfruttare i Dual Processor o Dual Core ch possiedo, anche al di fuori del calcolo di Rendering.

Se qualcuno avesse consigli utili, è ovviamente il benvenuto :)

Share this post


Link to post
Share on other sites

Per le dinamiche è ovvio che non possa sfruttare più di un processo, siccome per i calcoli di questo tipo al frame successivo sono necessarie le informazioni di quello precedente.

A meno che non introducano nuovi algoritmi, basati non su questo tipo di dati, difficilmente le cose potrebbero cambiare (per questo settore intendo).


Edited by kage_maru

"la spada è l'estensione dell'anima"

Share this post


Link to post
Share on other sites
Per le dinamiche è ovvio che non possa sfruttare più di un processo, siccome per i calcoli di questo tipo al frame successivo sono necessarie le informazioni di quello precedente.

A meno che non introducano nuovi algoritmi, basati non su questo tipo di dati, difficilmente le cose potrebbero cambiare (per questo settore intendo).

Beh è appunto il problema che non riesce a suddividere il calcolo dello stesso frame su più processori.

Le informazioni sul frame precedente è vero, sono importanti, ma durante il calcolo del frame corrente, con le informazioni di quello precedente già prese, è un peccato (ed è quasi assurdo) che il software non riesca a gestire in pacchetti e parallelizzare il calcolo.

Inoltre quello delle dinamiche è solo un esempio, nel calcolo di mesh complesse ad esempio le informazioni di frame precedenti non esistono, eppure si ha la stessa limitazione.

La soluzione potrebbe essere in un sistema Cluster, dove software dedicato prende le informazioni di calcolo inviate dal programma, le suddivide in pacchetti e le manda in elaborazione ai diversi processori/core che lo compongono, per poi riprendere le singole istruzioni ottenute, reimpacchettarle e reinviarle al software.

Ho approfondito un po la questione Cluster proprio a questo scopo, ma per il momento (anche causa poco tempo) non ho trovato sistemi Free utili a questo scopo.

La realizzazione di un Cluster è possibile, ne ho ottenuto uno tramite Linux con OpenMosix, ma purtroppo Mosix è in grado solo di suddividere code di lavoro (Job) ma non di gestirne i pacchetti di calcolo.

Teoricamente sistemi Beowulf o altri, basati sulle distro RedHat, sono in grado di fare questa cosa, ma per portare avanti questo discorso ho due limitazioni:

1° Sono software e sistemi non Free o OpenSource, dunque costano e nemmeno poco.

2° Le mie conoscenze di Linux sono al momento troppo a livello base per affrontare da solo un simile progetto.

Una soluzione Cluster (mi hanno detto, non ho verificato) è possibile anche con Windows 2003 Server, ma oltre a costare un botto, non sono certo che supporti un sistema Cluster di tipo HPC (appunto suddivisione di un singolo Job su più sistemi liberi)

Mi sembra quindi di capire che un processore dualcore a 2ghz potrebbe essere + lento di un pentium D a 2.8ghz nelle normali operazioni su mesh e nurbs?

Qualcuno ha esperienze in proposito?

Ho esposto poco sopra un esempio

Share this post


Link to post
Share on other sites
Mi sembra quindi di capire che un processore dualcore a 2ghz potrebbe essere + lento di un pentium D a 2.8ghz nelle normali operazioni su mesh e nurbs?

Qualcuno ha esperienze in proposito?

il pentiumD E' dualcore (anche se il peggiore messo in commercio) se prendi un pentiumD a 2ghz (che non esiste a meno che non te "lo fai in casa") è più lento del pentiumD 2.8ghz, altrimenti il paragone non sussiste.

forse intendevi un pentium4 con un solo core. in questo casi il paragone si può fare ma il risultato è l'opposto di quello che pensi. questo perchè i processori dual core con frequenza di 2ghz che trovi in commercio sono:

gli amd athlon x2 (precisamente il modello 3800+)

gli intel con architettura "Core" (c'è il modello 6400 con 2.13ghz, o per portatile il 7200 con 2.0ghz)

bene, questi processori intel sono superiori agli athlon x2 di pari frequenza e oltre.

a loro volta gli athlonx2 sono ben superiori ai pentiumD.

parlando di un solo core di certo le distanze si accorciano, ma la scaletta, a parità di frequenza rimane la stessa:

Intel Core>athlon64 X2> pentiumD> pentium 4 6xx.

per fare un esempio abbozzato, un pentium 4 3.4ghz ha prestazioni allineate con un athlon 64 a 2.2ghz.

chiudo qui se no inizio a scrivere una caterva di numeri e mi ci perdo pure io :blink:

se ti servono tabelle comparative fai un fischio! :hello:

Share this post


Link to post
Share on other sites
il pentiumD E' dualcore (anche se il peggiore messo in commercio) se prendi un pentiumD a 2ghz (che non esiste a meno che non te "lo fai in casa") è più lento del pentiumD 2.8ghz, altrimenti il paragone non sussiste.

forse intendevi un pentium4 con un solo core. in questo casi il paragone si può fare ma il risultato è l'opposto di quello che pensi. questo perchè i processori dual core con frequenza di 2ghz che trovi in commercio sono:

gli amd athlon x2 (precisamente il modello 3800+)

gli intel con architettura "Core" (c'è il modello 6400 con 2.13ghz, o per portatile il 7200 con 2.0ghz)

bene, questi processori intel sono superiori agli athlon x2 di pari frequenza e oltre.

a loro volta gli athlonx2 sono ben superiori ai pentiumD.

parlando di un solo core di certo le distanze si accorciano, ma la scaletta, a parità di frequenza rimane la stessa:

Intel Core>athlon64 X2> pentiumD> pentium 4 6xx.

per fare un esempio abbozzato, un pentium 4 3.4ghz ha prestazioni allineate con un athlon 64 a 2.2ghz.

chiudo qui se no inizio a scrivere una caterva di numeri e mi ci perdo pure io :blink:

se ti servono tabelle comparative fai un fischio! :hello:

Ok, ma GigaHertz a parte, la questione esposta da vectral è diversa.

Lui non sta chiedendo se va più forte un processore o l'altro... ma si sta domandando se sia "sprecato" un sistema MultiProcessor/Core per operare su processi legati al 3D che non siano Rendering.

Share this post


Link to post
Share on other sites
Ma proprio perchè è un calcolo a cascata che non si può parallelizare...

Quindi anche alla NL e nelle grandi ditte di alta produzione dove fanno enormi calcoli di dinamica si riducono ad aspettare che l'unico processore finisca tutto il calcolo? :huh:

Il calcolo di una dinamica certo, è a cascata, per cui un dato viene calcolato sulla base del dato precedente. Ma il singolo calcolo del singolo dato può tranquillamente essere ripartito in più processi, smontato, suddiviso, rimontato.

Non si tratta di calcolo "over network", come fosse un net-render, si tratta di "clustering" che è ben diverso. Ciò che viene suddiviso non è il Job, che in questo caso ti do ragione, non può essere suddiviso perchè ogni Job dipende dal risultato del Job precedente, ma la singola informazione di 1 e 0. In un sistema Cluster di tipo HPC, il software non "vede" 1.000 processori, ma uno unico. E' il Cluster stesso, che suddivide le informazioni I/O (e non Job o pacchetti).

Il sistema HPC è un sistema che esiste, nulla di inventato ed è in uso in moltissime facoltà (specialmente di fisica e matematica), centri ricerche e pure entertainment.

Quindi la parallelizzazione del calcolo è possibile, sempre che il software lo permetta o che si abbia un sistema software (di gestione del carico lavoro del Cluster in questo caso) che lo faccia al posto del software in uso.

Share this post


Link to post
Share on other sites
Ok, ma GigaHertz a parte, la questione esposta da vectral è diversa.

Lui non sta chiedendo se va più forte un processore o l'altro... ma si sta domandando se sia "sprecato" un sistema MultiProcessor/Core per operare su processi legati al 3D che non siano Rendering.

si certo, l'ho capito...e che mettendo in mezzo i numeri forse sono stato poco chiaro o mi sono allontanato ^_^ . quello che sto dicendo io è che il singolo core di un processore dual core è comunque più performante di un processore dual core al pari della frquenza con questa "relazione":

Intel Core>athlon64 X2> pentiumD> pentium 4 6xx.

il fatto poi che il processore dual core venga sfruttato anche al 51% significa che entrambi i core vengono messi a lavoro. dal task manager è possibile vedere dal grafico che entrambi lavorano in queste operazioni, e non che uno è al 100% e l'altro a 0.

quindi il dual core viene sfruttato, di certo non a pieno perchè ancora nè software nè sistemi operativi sono in grado di sfruttarne le potenzialità al 100%.

sul doppio processore non mi esprimo perchè non ho esperienza a riguardo :P

Share this post


Link to post
Share on other sites

Ah ok, ti avevo frainteso, forse mi sono impacciato un po nei numeri... comunque si, viene utilizzato al 50% un core e 50% l'altro core.

Nel sistema Dual Processor ti posso assicurare che avviene la medesima cosa, 50% un processore, 50% l'altro.

Quello che mi sto chiedendo ora è: E nei sistemi QuadCore che succede? :o

Share this post


Link to post
Share on other sites

(scusa Satan...lo chiedo a te visto che sei un moderatore :D . ma la modifica dei post in questo forum non si può fare sempre??? o almeno mi sembra così...ho un tempo limitato per modificare un messaggio? e come mai?)

i quad core? mah...io li vedo ancora un po' "acerbi". l'unica certezza è che i tempi di rendering sono quasi dimezzati (dipende dai software), ma in operazioni di modellazione non saprei proprio. provo a chiedere sul forum degli smanettoni (HWupgrade :D ) se qualcuno ha fatto qualche test magari. comunque sicuramente per ora da quel punto di vista non offrono più dei dual core, anche perchè se ci pensi non ci sono ancora quad nativi (per quello si attande amd) ma sono due dual core affiancati...boh :blink2:

Share this post


Link to post
Share on other sites

Si il tempo è limitato per la modifica dei messaggi.

Questo perchè in passato sono nati parecchi flame e alcuni utenti avevano il vizio di correggere le loro precedenti parole per avere la ragione.

Da questo si è deciso di metterli limitati ad alcuni minuti, giusto il tempo di accorgersi di qualche errore di scrittura, ma non per la possibilità di ritrattare nel tempo cose già dette.

Per i Quadcore si, aspettiamo, ma ero curioso di vedere comunque come veniva gestito il carico di calcoli di modellazione o dinamiche. Se non su quadcore, anche su sistemi Quadri Processor (temo molto poco diffusi qui :P )

Share this post


Link to post
Share on other sites
Si il tempo è limitato per la modifica dei messaggi.

Questo perchè in passato sono nati parecchi flame e alcuni utenti avevano il vizio di correggere le loro precedenti parole per avere la ragione.

Da questo si è deciso di metterli limitati ad alcuni minuti, giusto il tempo di accorgersi di qualche errore di scrittura, ma non per la possibilità di ritrattare nel tempo cose già dette.

Per i Quadcore si, aspettiamo, ma ero curioso di vedere comunque come veniva gestito il carico di calcoli di modellazione o dinamiche. Se non su quadcore, anche su sistemi Quadri Processor (temo molto poco diffusi qui :P )

flame...sempre colpa dei flame...ma alla fine è un bene che ci siano, vuol dire che c'è volgia di confronto... o di avere ragione?

...

vabè, pensieri alla Marzullo a parte, c'è dreamangel , un utente iscritto anche qui, che è il capoccione :P del thread sui test sulle schede video quadro su hwupgrade (se a qualcuno interessa il link è in firma.in un'altra discussione ho proposto un gemellaggio ma fin'ora nessuno mi ha c@gato :crying:), dato che ha una workstation dell con due xeon quad-core magari saprebbe dare qualche delucidazioni. ora gli do il link alla discussione e vediamo che dice ;). altrimenti il sommo beaztie che dice? :hello:

Share this post


Link to post
Share on other sites
Nel nostro settore, sì.

Quindi alla Weta per tutte le simulazioni di dinamica si sono messi con una sedia davanti ad uno Xeon ad aspettare mesi di calcoli? :lol:

Ma dai! Allora quelli che lavorano nel "nostro settore" sono dei pirla a non conoscere sistemi tipo Deadline?

No perchè guarda caso Deadline è uno dei sistemi di netrender (e non solo render) che appunto suddividono il calcolo su più macchine. E guarda caso pure le dinamiche di RealFlow (LINK)

E questo solo su sistemi di rete non Clusterizzati.

Ah, giusto per informazione: la Dreamworks utilizza per il calcolo sistemi Cluster basati su Linux, sia per il rendering che per la simulazione. ...o Dreamworks non centra niente con il "nostro settore" ? :huh:

Share this post


Link to post
Share on other sites

Lo sfruttamento al 100% dei due Core dipende solamente da chi ha realizzato il software. PEr esempio, Uno stesso sistema con un Pentium 4 a 4Ghz (non esiste, ma tanto per capire) e un Core2Duo a 2 Ghz (quindi i Ghz sono gli stessi, ovvio teoricamente e solo per l'esempio) un gioco, che è stato studiato per un sistema single core girerà peggio su un core2Duo, perchè sfrutta il 50% di ogn CPU. Ora, i pare d'aver letto che stanno realizzando i primi giochi MultiCore, così da sfruttare le potenze dei dual e quadcore.

I programmi di rendering che fin dall'antichità sono, per ovvi motivi, stati studiati per eseguire calcoli su più PC, il problema non sussiste, ma per i giochi e programmi comuni, no. Questo perchè per il 0% dei casi, prima della comparsa dei processori multi-core, non aveva senso far girare, che ne so, photoshop in rete, o AutoCAD. E il problema c'è e si sente, perchè quando renderizzo con After effect sfrutto il 50% del dualcore. Esiste però una plug che ti permette di sfruttare al 100% tutta la potenza.

Come ho già detto, credo che sia una questione di tempo, in fin dei conti è da un annetto che i processori multicore stanno prendendo piede. E le software hose stanno cercando di risolvere questo problema.

Quindi, se c'è un programma che non sfrutta le CPU, bisogna "solo" trovare il plug o scrivere un programma che permetta di renderizzare su multi-cpu.


Edited by cecofuli

Share this post


Link to post
Share on other sites
Quindi alla Weta per tutte le simulazioni di dinamica si sono messi con una sedia davanti ad uno Xeon ad aspettare mesi di calcoli? :lol:

Ma dai! Allora quelli che lavorano nel "nostro settore" sono dei pirla a non conoscere sistemi tipo Deadline?

No perchè guarda caso Deadline è uno dei sistemi di netrender (e non solo render) che appunto suddividono il calcolo su più macchine. E guarda caso pure le dinamiche di RealFlow (LINK)

E questo solo su sistemi di rete non Clusterizzati.

Ah, giusto per informazione: la Dreamworks utilizza per il calcolo sistemi Cluster basati su Linux, sia per il rendering che per la simulazione. ...o Dreamworks non centra niente con il "nostro settore" ? :huh:

Se dico queste cose, è perchè le so, visto che conosco direttamente o indirettamente gente che è in quei posti, e proprio nella citata dreamworks i sistemi di calcolo per dinamiche sono single-cpu.

Deadline lo conosco e l'ho anche usato, ma onestamente più che lanciare i job da linea di comando non fa... indi per cui non l'ho testato con realflow, ma non credo proprio parallelizzi il calcolo, prenderà i dati e li potrà distribuire, ma a cascata uno dietro l'altro, non di più sicuro.


"la spada è l'estensione dell'anima"

Share this post


Link to post
Share on other sites
Ah ok, ti avevo frainteso, forse mi sono impacciato un po nei numeri... comunque si, viene utilizzato al 50% un core e 50% l'altro core.

Nel sistema Dual Processor ti posso assicurare che avviene la medesima cosa, 50% un processore, 50% l'altro.

Quello che mi sto chiedendo ora è: E nei sistemi QuadCore che succede? :o

La sequenza di istruzioni viene divisa per il numero di processori e per ordine di pertinenza. Ad esempio se la stringa (attenzione è sempre e solo linguaggio macchina, ricordiamoci che windows interpreta per l'utente la misteriosa sequela di 0 e 1 presente in una stringa variabile) è composta da istruzioni che hanno come destinazione d'uso il calcolo in virgola mobile (coprocessore matematico, ora integrato in ogni CPU) ebbene il mio DELL XEON quad core porterà a termine il calcolo quando tutte le CPU avranno terminato i loro compiti, ma si tratta di miliardesimi di secondi o forse ancora più piccola come unità di tempo. Attualmente non esiste alcun OS, che sia alla portata commerciale di Windows, con la peculiarità di solvenza dei compiti ad istruzioni separate/parallele, c'è ancora molta strada da percorrere, forse si chiamerà WINDOWS nPRO (dove n sta ad indicare il numero di CPU presenti sulla mobo)...

:rolleyes:

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...