|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#21 | |
|
Bannato
Iscritto dal: Dec 2000
Messaggi: 2097
|
Quote:
personalmente penso che l'unica pecca che ha l'opteron è che non ci siano delle versioni con una cache l2 più generosa, anche se c'è da dire che con la quantità di banda che si ritrova a disposizione di sicuro è meno determinante che su processori come lo xeon, il quale ha un bus decisamente inadeguato (ed è un motivo per cui è meno scalabile dell'opteron) |
|
|
|
|
|
|
#22 |
|
Senior Member
Iscritto dal: Sep 2004
Città: Monteveglio (BO)
Messaggi: 3127
|
non vedo l'ora che escano anche gli altri
__________________
Mobo:Asrock X670E Steel Legend Cpu:7800X3DRam:2x32 Gb G.Skill 6000 Vga:: MSI RTX4080 Super Audio: Creative G6 |
|
|
|
|
|
#23 | |
|
Senior Member
Iscritto dal: Jun 2003
Città: vivo in Sicilia (tra la prov. di AG e Palermo)
Messaggi: 956
|
Quote:
X BEMPINO: credo che joe4th certi dettagli li conosca bene, da quel che ho capito lui con i server ci lavora (e li compra anche...) Bye |
|
|
|
|
|
|
#24 |
|
Bannato
Iscritto dal: Dec 2000
Messaggi: 2097
|
xeal: sono d'accordo. il punto è che se è vero che l'opteron è estremamente competitivo per il segmento workstation / server x86, lascia campo aperto agli itanium per il segmento superiore. imho, vedendo le performance di cui è capace, una versione con ampia dotazione di cache e arricchita delle feature che servono potrebbe esser capace di andare a infastidire parecchio sia gli itanium 2 che i power5 in quel segmento. in quel segmento i vantaggi di avere tanta cache sono molti e superano di molto gli svantaggi (che hai correttamente sottolineato).
|
|
|
|
|
|
#25 |
|
Senior Member
Iscritto dal: Jun 2003
Città: vivo in Sicilia (tra la prov. di AG e Palermo)
Messaggi: 956
|
x Fx: sul calcolo intero (basialare, ad esempio, per la gestione dei database) Opteron non sfigura in nessun segmento (e in questo campo Itanium non è certo un fulmine di guerra). C'è poca storia sul calcolo in virgola mobile, ma li una cache più grande cambierebbe ben poco: il fatto è che Itanium ha una fpu veramente mostruosa, c'è poco da dire (e da fare); l'unità in virgola mobile dei K8 è molto buona (e mi pare che abbia delle affinità con quelle dei risk), ma putroppo nel mondo degli x86 si è affermato il ricorso a unità supplementari (le unità SIMD: mmx, sse, 3dnow...) e difficilmente si avrà un'inversione di rotta (specialmente in tempi brevi), per cui per l'introduzione (in versioni future) di una fpu estremamente efficiente la vedo dura (a meno di creare una cpu server che non abbia nulla a che spartire con quelle destinate al settore desktop/workstation). Del resto, per come la vedo io, non è che Itanium è avvantaggiato rispetto a Opteron perchè ha una cache più grande, ma sarebbe (in misura variabile a seconda del contesto, ovviamente) svantaggiato se così non fosse (e in qualsiasi segmento), o comunque ha un quantitativo di cache che è il "minimo indispensabile" per avere buone prestazioni (in ogni scenario d'uso), così come l'opteron (non a caso i quantitativi più grandi, fino a 24 MB credo, sono previsti per gli Itanium multicore).
Naturalmente ci saranno degli scenari in cui una cache più grande gioverebbe, ma potrebbero essere pochi nel complesso (come nel caso del PM avvantaggiato dai suoi 2MB di L2 nel superPI con precisione fissata a "1 million" perchè l'applicazione e i suoi dati stanno tutti nella cache per la durata dell'esecuzione del test: si tratta di un caso, in generale la L2 in quel processore sopperisce alla limitata ampiezza di bus, e in ambito server una situazione del genere si verifica raramente): sicuramente i progettisti di AMD avranno fatto "quattro calcoli" per dimensionare la cache, e in ambito desktop, per avere un raffronto, nel passare da 512 KB a 1 MB, come dal single al dual channel, è difficile registrare distacchi abissale (laddove ce ne siano), proprio in virtù dell'ampia banda passante grazie all'integrazione del controller della memoria. Del resto, non sottovaluterei troppo l'aumento della latenza di ricerca con l'aumentare della dimensione della cache (essendo organizzata come un database molto efficiente, i dati vanno in qualche modo ricercati in essa, non vi si può accedere proprio "a colpo sicuro" ): se non ricordo male, Itanium impiega una ventina di cicli di clock per trovare i dati nella cache, mentre presumo che Opteron (non ricordo i valori), avendo una cache più piccola, necessiti di qualche ciclo in meno, e di conseguenza, a fronte di una banda verso la memoria notevole, molto vicina nei valori reali ai limiti teorici (e resa ancor più ampia dal NUMA, ove supportato), un aumento della cache e delle latenze di ricerca dei dati potrebbe non essere particolarmente vantaggioso (lo so, sto un po' cavillando, ma non conoscendo valori certi posso solo fare supposizioni, del resto, i progettisti dei K8 avranno fatto le dovute considerazioni e se pensassero di poter insidiare pesantemente itanium e gli altri risk-like in quel segmento semplicemente sovradimensionando la cache - che comunque ha dei limiti progettuali, non ricordo quali siano - credo che non ci penserebbero due volte Comunque, non conosco con esattezza gli scenari di calcolo di quel particolare settore, quindi mi baso solo su quel che conosco delle architetture di questi processori, fidandomi delle capacità dei progettisti, sia per quanto riguarda gli ingegneri di AMD, sia per quanto riguarda quelli di Intel-HP. Ciao Ultima modifica di xeal : 13-04-2005 alle 01:53. |
|
|
|
|
|
#26 |
|
Bannato
Iscritto dal: Dec 2000
Messaggi: 2097
|
un solo appunto: nei server di quella fascia una grossa quantità di cache ti serve non solo come pezza ai vari colli di bottiglia che comunque i processori intel tradizionalmente hanno ma anche e soprattutto per tenere "a portata di mano" le informazioni più usate, esattamente come per la cache di una cpu desktop; la differenza è che nei server di quella fascia vengono fatti girare numeri enormi di processi, che si "mangiano" ognuno una fettina di cache: una volta che l'hanno finita, per i restanti processi è come (circa
|
|
|
|
|
|
#27 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
In futuro potrebbero anche esserci processori Opteron con 4 o più core: non ci sarebbe alcun problema nell'usarli negli attuali sistemi a 1, 2, 4 o 8 "socket". Fisicamente, quindi, non ci sarebbe alcun problema: al più i processori si contenderebbero maggiormente la banda dell'unico memory controller e dei vari bus hyper transport disponibili.
Quanto al confronto con Itanium, come è stato sottolineato da xeal, gli Opteron sono decisamente meno sensibili al quantitivo di cache integrato rispetto a questi concorrenti: la cache potrebbe essere importante soltanto in particolari ambiti. Infatti altre CPU per server sono dotate di notevoli quantità di cache proprio perché devono condividere il bus, e quindi la banda di memoria, fra di loro, mentre gli Opteron, essendo dotati ognuno di un proprio controller per la memoria, possono accedere in maniera esclusiva alla memoria localmente installata, con i vantaggi che si possono immaginare. Per questo motivo la banda aggregata totale del sistema si ritrova moltiplicata per il numero di Opteron presenti, e infatti mentre le altre CPU incorrono in un degrado prestazionale consistente all'aumentare dei processori, gli Opteron presentano un degrado nettamente inferiore (anzi, le applicazioni SMP che sfruttano il NUMA possono funzionare anche meglio). Quantità di cache maggiori potrebbero aver senso soltanto per sistemi dual o multicore, per gli stessi motivi per cui ne fanno ricorso le altre CPU, ma in generale gli attuali sistemi a n vie basati su Opteron partono col vantaggio di avere, appunto, ognuno n accessi "concorrenti" alla memoria.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#28 |
|
Senior Member
Iscritto dal: Feb 2005
Città: Firenze
Messaggi: 1207
|
Non ho capito una cosa: ogni opteron ha un memory controller integrato nella CPU, quindi ogni processore può fare un accesso alla memoria a sè, indipendentemente dagli altri. Però questo mi sembra strano, perchè a quanto sopevo può essere effettuato un solo accesso per volta alla memoria, non è così?
|
|
|
|
|
|
#29 | |
|
Senior Member
Iscritto dal: Jun 2003
Città: vivo in Sicilia (tra la prov. di AG e Palermo)
Messaggi: 956
|
Quote:
|
|
|
|
|
|
|
#30 | |
|
Senior Member
Iscritto dal: Jun 2003
Città: vivo in Sicilia (tra la prov. di AG e Palermo)
Messaggi: 956
|
Quote:
|
|
|
|
|
|
|
#31 | |
|
Senior Member
Iscritto dal: Jun 2003
Città: vivo in Sicilia (tra la prov. di AG e Palermo)
Messaggi: 956
|
Quote:
|
|
|
|
|
|
|
#32 | |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
|
#33 | |||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
Quote:
- prima o poi un context switch si verificherebbe (e potrebbe anche essere in mezzo al pezzo di codice che ha bloccato quelle linee), e il nuovo processo / thread si troverebbe con parte della cache inutilizzabile, quindi incidendo negativamente sulle prestazioni; - sarebbe necessario scrivere del codice in assembly per gestire le linee di cache; - si legherebbe il codice a una particolare architettura / piattaforma. La cosa migliore da fare è utilizzare delle tecniche di prefetching, rese disponibili ormai da tutte le implementazioni SIMD, per anticipare il caricamento dei dati necessari, in modo da renderli immediatamente disponibili al momento del bisogno, e per marcare alcuni dati in modo che non finiscano ad occupare inutilmente spazio nella cache (es: faccio un'operazione su certi dati, che poi sono sicuro di non usare più, e che quindi dovrebbero andare esclusivamente in memoria).
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||
|
|
|
|
|
#34 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Ultima modifica di cionci : 14-04-2005 alle 10:04. |
|
|
|
|
|
|
#35 | |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Questo perché chi ha scritto l'applicazione è la persona più indicata per stabilire, a seconda del sistema su cui gira (SMP "classico", SMP multi core, SMP multi core con HT, SMP multicore NUMA), in che modo da smistare il lavoro per trarne il maggior beneficio. Invece un s.o. / scheduler ha una visione "statica", prestabilita da chi l'ha scritto, e le scelte che fa non sono valide e "ottimali" per tutti i casi. Tutto questo IMHO, chiaramente...
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
|
#36 | |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
|
#37 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#38 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quindi il dual channel verrebbe utilizzato solo quando si spostano dati a 128 bit (SSE) o nelle letture in burst (solitamente da/verso le periferiche) ?
|
|
|
|
|
|
#39 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Sì, lo si usa per leggere il doppio dei dati, e quindi per riempire più velocemente la cache L2 (e quindi la L1). Non è necessario usare direttamente le SSE.
Purtroppo l'unica implementazione "parallela", che permetteva di avere accesso simultaneo a due diverse locazioni di memoria, mi sembra fosse quella dell'nForce (1 e/o 2?), se non ricordo male. Ed era anche la più costosa, ovviamente (richiedeva lo sdoppiamento di tutte le linee di controllo).
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#40 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Comunque di fatto è come avere due canali separati...perchè supponendo che entrambe le cache vogliano leggere + o - contemporaneamente un blocco la somma dei tempi dei trasferimenti di entrambi i blocchi è pari a quello che si avrebbe supponendo di assegnare un canale ad ogni cache.. Anzi...in questo modo una cache finisce prima... Quindi probabilmente l'implementazione più efficiente è questa... |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:49.



















