Newsgroup: it.comp.giochi.action
Titolo: Two Worlds II suppoterà le future cpu a 8 core...

http://multiplayer.it/notizie/73786-two-worlds-ii-two-worlds-ii-supporta-i-processori-a-8-core.html
LOL


Mi riterrei gi� abbondantemente soddisfatto se uscissero giochi che
sfruttino i quad core....

 sfruttino i quad core....
Appunto... altro che cpu "octacore", che tra l'altro quando usciranno 
il motore che muove TWII sarï¿œ giï¿œ obsoleto. :D

Il 18/01/2010, Lorenz ha detto :

tu che segui ste robe, attualmente con lo sviluppo cpu a che punto 
siamo? Si parla gia' di 8 core o e' ancora tutto nebuloso?
(forse non tutti sanno che: 8 core non garantiscono il doppio della 
velocita' di 4 core, ma meno, e piu' i core aumentano e piu' il 
raddoppio diventa meno significativo)

 raddoppio diventa meno significativo)
piï¿œ che altro dipende dalla natura del programma e da come ï¿œ scritto il 
sofware... l'overhead (spreco di potenza elaborativa) puï¿œ anche essere 
minimo, ad esempio nel trattamento dei segnali (ed ï¿œ per questo che le 
schede video sono massivamente parallelizzate).

Stefano Gaburri ha pensato forte :

mah se le esecuzioni sono in parallelo e non vi e' alcun bisogno dei 
core di comunicar tra di loro, ne' di agire su aree di memoria 
condivise allora ok. Ma son casi limite.
Nella norma invece occorre sincronizzazione tra i vari core, 
condivisione di dati, ecc.. e l'aumento di core aumenta si' il numero 
di cpu ma pure la complessita' di comunicazione. Specie perche' non e' 
pensabile, con l'aumento di core, avere una linea dati che collega 
direttamente ciascun core a tutti gli altri. Gia' 8 core 
richiederebbero 28 bus, 16 core 120 bus, 32 core 496 bus and so on.

PdG ha detto questo lunedï¿œ :

Diciamo che con l'uso di link punto-punto tipo l'HT o il QPI ï¿œ 
possibile comunicare tra le varie cpu/core senza penalizzazioni 
rilevanti... la cosa sarebbe stata ben diversa se si utilizzasse ancora 
l'obsoleto FSB presente ancora nelle cpu per Socket775.

 significativo)
Conta molto anche la natura del software... i videogame poi si prestano 
abbastanza poco ad essere "multithread intensive", infatti ï¿œ giï¿œ tanto 
se si riesce a scalare un minimo in prestazioni utilizzando processori 
quadcore.


Sarebbe giï¿œ buono se supportasse bene quelle attuali, altro che octacore.
-- 
ThePeacemaker
========================================
Xbox Live Gamertag: ThePeacemaker X
PSN Tag           : ThePeacemaker82
Wii Codice Amico  : 2936-2606-1303-3621
========================================
"Non ci sono segreti nella vita: solo veritï¿œ
nascoste che si trovano sotto la superficie"
-Dexter Morgan-
========================================

 ancora nelle cpu per Socket775.
Si' ma come detto un punto-punto ha una complessita' che aumenta con il 
quadrato dei nodi. Se io voglio far un collegamento tra ciascun core e 
tutti gli altri core devo tirare n(n-1)/2 linee. E se la linea e' a 64 
bit son 32n(n-1) linee dati. Pertanto per n superiore alla decina 
inizia a sentirsi la necessita' di utilizzare un modello di 
comunicazione diversa dal punto-punto, ma magari piuttosto a rete. Il 
quale riduce di molto il numero di linee di comunicazione ma ovviamente 
aumenta l'overhead, tenendo conto dei problemi di rete, traffico, ecc..
Inoltre diventa anche cruciale l'accesso alla memoria. Solo una cpu 
puo' scrivere in un'area di memoria.. e piu' aumentano i core e piu' 
aumenta la probabilita' che questi possano scrivere o leggere dalla 
medesima area, incrementando cosi' i tempi di attesa, code ecc.
Con cio' non dico che aumentare i core sia inutile. Dico solo che 8 
core non vanno al doppio di 4 core nemmeno nelle situazioni di massimo 
parallelismo, figuriamoci nei casi normali, dove la concorrenza e' 
possibile solo parzialmente.

 incrementando cosi' i tempi di attesa, code ecc.
Certo, ma per quello ho detto pure io che non esiste mai un raddoppio 
delle prestazioni teoriche all'aumentare dei core...mediamente si 
arriva ad un +80% a seconda degli applicativi.

 che le schede video sono massivamente parallelizzate).
Guarda, ho seguito un corso IBM dove spiegavano appunto che uno degli
obbiettivi della virtualizzazione è quello di sfruttare meglio la
potenza dei multicore, visto che gli OS attuali scalano molto male con
tanti processori.

 tanti processori.
Diciamo che la virtualizzazione fa risparmiare soldi e energia 
elettrica, dato che appunto ï¿œ possibile consolidare la funzione di 
diversi server in un unica macchina... e qui la presenza di cpu con 4 o 
6 core risultano in effetti molto utili.

 schede video sono massivamente parallelizzate).
Esistono sostanzialmente 2 modelli di programmazione parallela: trammite 
memoria condivisa (processori indipendenti lavorano su un'area comune, e 
qui l'overhead ï¿œ il controllo della concorrenza sulle risorse) e 
trammite message passing (ognuno localmente svolge una parte di 
comunicazione sulla propria memoria locale e di tanto in tanto i 
processi comunicano). Il secondo tipo ï¿œ quello piï¿œ in voga, l'ostacolo ï¿œ 
il costo delle comunicazioni e la difficoltï¿œ di ingegnerizzare algoritmi 
per adattarli a questo tipo di paradigma.
Quando programmi in MPI (message-passing), se non ï¿œ "parallellismo 
imbarazzante" (che spesso ï¿œ quello che usano ora), non ti devi 
preoccupare di quanti processori hai: tutto ciï¿œ che scrivi in codice ï¿œ 
generalizzato a N processori (magari con qualche assunzione sul fatto 
che N sia pari, o poco altro).
Quando fanno questi annunci sullo sfruttamento di 8 core anzichï¿œ 4 o due 
  fanno ridere i polli

 possibile solo parzialmente.
Sï¿œ, lo speed-up di solito non ï¿œ mai lineare, spesso ï¿œ una curva che si 
arena dopo un pï¿œ. Fermo restando che parallelizzare ï¿œ difficile e spesso 
degrada le prestazioni

 tanti processori.
Beh dipende a che livello vuoi fare parallellismo: puoi semplicemente 
programmare a thread e delegare tutto il lavoro al dispacher CPU, oppure 
puoi reingegnerizzare un processo rendendolo parallelo e sfruttare 
qualche libreria come MPI

 o 6 core risultano in effetti molto utili.
Beh, tra le altre c'è anche che scala meglio con le architetture
multicpu. Va detto per completezza che i sistemi IBM non hanno come
priorità il calcolo puro e brutale.