In generale dipende molto dalle applicazioni, da quanto sono parallelizzate e da come (in generale, bisognerebbe vedere se il codice che preso in esame prevede una notevole interazione tra i processori durante le elaborazioni, oppure se ognuno esegue molti calcoli prima di dover sincronizzare il lavoro con gli altri, ma conta anche come sono distribuiti i dati tra i processori, se i vari thread elaborano dati "propri" oppure se le elaborazioni riguardano gli stessi dati; però con queste considerazioni forse si va un po' troppo per il sottile).
Per il confronto in base ai core: supponendo che l'applicazione, ed è il tuo caso, sfrutti bene molti core/processori, si può fare una schematizzazione di questo tipo:
- nei sistemi intel, in generale, all'aumentare del numero di processori/core diminuisce la banda disponibile per ciascuno, perchè tutte le comunicazioni tra le cpu e gli accessi alla memoria impegnano il chipset (tant'è che si usano chipset particolari, con delle cache di alcune decine di MB per ovviare), quindi si ha un decadimento prestazionale più o meno marcato rispetto alla potenza di calcolo massima teorica (la somma delle capacitò di calcolo dei singoli processori: l'uso condiviso dello stesso memory controller tende a fare da collo di bottiglia); nei quad core attuali, ottenuti affiancando due dual core in un package, la situazione è equivalente a quella in cui si hanno più dual core, quindi l'unico vantaggio consiste nel poter realizzare sistemi con più core fisici sulla stessa scheda madre; nei futuri quad core nativi la situazione migliorerà un po' (non che ora sia particolarmente tragica, eh, solo c'è un qualche collo di bottiglia di cui è meglio essere a conoscenza per fare delle scelte oculate), grazie alle comunicazioni tra i core di una stessa cpu che diventeranno interne e sgraveranno un po' il chipset; la vera svolta, da questo punto di vista, arriverà con i Nehalem,
- nei sistemi amd, grazie al controller integrato e all'architettura NUMA, all'aumentare delle cpu (= pezzo di silicio infilato nel socket, a prescindere dal numero di core), aumenta anche la banda complessiva del sistema verso la memoria, e in più i processori comunicano attraverso HyperTransport, quindi gli accessi in memoria non ne risentono; poichè però i core di una stessa cpu condividono il memory controller, all'aumentare del numero dei core si ha un leggero decadimento prestazionale (tendenzialmente inferiore, comunque, a quello che si ha con gli intel), compensato anche in questo caso dai vantaggi dell'avere un singolo sistema con tante cpu (il problema, comunque, è relativo, perchè i quad core opteron k10 devono ancora arrivare e saranno sicuramente più veloci di due dual core k8, mentre i dual core k10 - se previsti, questo non lo ricordo - arriveranno ancora dopo; a meno che tu non stia valutando anche l'opzione di un sistema multivia basato su singlecore);
- i vantaggi di un sistema unico con molti processori, rispetto a un cluster di più sistemi, a parità di numero complessivo di core fisici, consiste nella maggiore velocità nelle comunicazioni tra i processori e nell'accesso ai dati in memoria (che sarebbero inevitabilmente distribuiti tra i sistemi del cluster), poichè nel cluster avvengono in maniera esterna al singolo sistema, quindi attraverso la connessione realizzata (tipicamente di tipo ethernet, quindi al più delle gigabit, a meno di realizzare un supercomputer e optare per connessioni studiate ad hoc e in fibra). Ancora, l'incidenza della velocità nelle connessioni dipende molto dal tipo di algoritmo e dall'implementazione specifica, ma nel caso del rendering in generale si ha a che fare con algoritmi ricorsivi e influenza reciproca dei risultati parziali (ad esempio, nella radiosity ogni superficie diffonde la luce verso le altre, che a loro volta ne rispediranno una parte verso quella/e da cui l'hanno ricevuta, influenzando e variando ad ogni passo l'illuminazione della scena, nel complesso e nelle singole parti). Piccola nota: è possibile, in via teorica (non so se qualcuno lo faccia - a parte alcune schede per 8 opteron, che usano una scheda base e delle schede figlie che comunicano appunto via htt, per non realizzare un pcb enorme), realizzare comunicazioni esterne basate sul bus hypertransport, però diventano soluzioni custom, quindi complicate e costose.
Per quanto riguarda i costi, anche qui tutto è relativo: il singolo processore della serie 2 costa meno rispetto a uno della serie 8, però non sono sicuro che due workstation con due dual core posssano costare meno di un singolo sistema con quattro dual core. A mio modestissimo avviso, facendo un'analisi esclusivamente qualitativa (non ho listini sotto mano

), a seconda delle esigenze specifiche, è meglio, per quanto possibile, rimanere nell'ambito di un singolo sistema con più processori e core per processore, quindi, se non si hanno esigenze particolari, mi sembrano equilibrati o un sistema dual dualcore, oppure uno con 4 dualcore (ma anche quad core; passare poi a sistemi a otto vie diventa più complicato). A meno che non si abbiano a disposizione dei "vecchi sistemi" da riciclare, o delle workstation equivalenti a quella che si vuole sostituire (se è una sola) reperibili a basso costo (ad esempio usate, dismesse da grosse ditte) e allora si può fare un serio pensierino a un cluster, software permettendo (però bisognerebbe anche valutare la questione dei consumi di un sistema più complesso e basato su tecnologie meno recenti). Gli fx a due vie sono pressoché identici agli opteron, ma sono di nicchia e costicchiano, non so quanto si possa risparmiare rispetto agli opteron, considerando che da un lato la memoria che usano è unbuffered e quindi costa meno, ma dall'altro la maggiore sicurezza data dalla ecc può avere un suo peso nella decisione finale. Alla fine, credo che convenga sempre valutare soluzioni alternative più o meno equivalenti e fissare un tetto di spesa con un minimo di flessibilità.
Spero di esserti stato di aiuto