Mac Pro 8-core: a che Pro?

È arrivato, è tra noi, il tanto vociferato Mac Pro con otto nuclei di elaborazione (è praticamente un dual-processor, ma ognuno dei processori è uno Xeon Quad-Core da 3 GHz).
Tanta sorpresa, fantasia e curiosità che magari si rincorrono in un emisfero del nostro cervello, mentre nell’altro c’è una pressante richiesta di fatti che confermino le supposizioni. E per giungere rapidamente al dunque… come va questo Mac Pro? Vale la spesa? Come si comporta nell’utilizzo professionale?
Per chi è avido di barre colorate da confrontare, su Bare Feats ce n’è per tutti i gusti, dai test videoludici a quelli nell’ambito di grafica 2D, 3D, audio e video. In sostanza, senza scendere in dettagli tecnici dei quali possiamo comunque discutere, tenendo conto che sono già presenti riflessioni più o meno buone in rete, cerchiamo di capire a chi conviene l’acquisto di questo Mac e se è, o meno, un passo avanti per Apple.
…SegueInnanzitutto, non dobbiamo pensare che l’aumento di core si traduca automaticamente in un aumento di prestazioni. Per capirci meglio, se immaginiamo di essere un datore di lavoro che ha a disposizione quattro uomini per spostare dei mattoni da un magazzino al cantiere, ognuno di essi impiegherà un certo tempo per portare un mattone, che sarà lo stesso perché immaginiamo abbiano tutti la stessa forza. Se ora decidessimo di assumere altri quattro lavoratori, sempre con la stessa forza, accadrebbe che porteremmo otto mattoni per volta. Fin qui tutto bene, perché prima nello stesso tempo ne portavo quattro ed ora ne porto otto… ho dimezzato i tempi di lavoro, sembra un successo.
Bene, questo è vero a patto che l’entrata del cantiere sia sufficientemente larga per otto persone; se non lo è, e immaginiamo sia grande al massimo per due persone, allora il vantaggio è in parte vanificato perché adesso la coda per entrare è più lunga.
L’idea alla base di questo esempio più o meno convincente, è che è estremamente importante che ogni core abbia la possibilità di accedere ad un canale abbastanza largo, un bus, verso la memoria centrale. Nel Mac Pro il canale per accedere in memoria è lo stesso del Mac Pro a 4 core, ma stavolta viene diviso in 8 parti. Significa che ogni core ha a disposizione per sé la metà della banda prima disponibile (tra l’altro si può approfondire la questione per cui diverse disposizioni e quantità di Ram nel Mac Pro producono diverse ampiezze di banda).
Inoltre, le risorse hardware di una macchina hanno senso soltanto quando il software le gestisce in modo intelligente: Tiger questo, purtroppo, non lo fa (nel dettaglio, non riesce a bloccare una determinata elaborazione su un core solo, ma cambia ad intervalli di tempo regolari il core che sta elaborando, forzando un nuovo accesso in memoria e un nuovo caricamento della cache. Pensate che ogni accesso in memoria significa passare per la porta stretta del cantiere).
La colpa non è solo sua: buona parte del software che oggi esiste è sviluppato per architetture dove si immagina una macchina monoprocessore, e l’ottimizzazione per il calcolo in parallelo (cioè la strada che lo sviluppo tecnologico di CPU sta prendendo) non è ovunque presente.
A conclusione di questo discorso, cerchiamo di capire come tutto questo possa tradursi nelle nostre giornate di lavoro e che impatto abbia sulla nostra produttività.
Sintetizziamo perché abbiam parlato già troppo ;-):
punto 1 – L’utilizzo di applicazioni che fanno uso intenso della CPU (ad esempio i rendering e in particolare Cinebench) possono guadagnare anche il 50% di prestazioni rispetto alle macchine quad-core.
punto 2 – Utilizzare una applicazione singola che fa pesante uso di memoria Ram (ad esempio Photoshop, anche CS3) non mostrerà grandi vantaggi: avremo un comportamento analogo alla macchina Quad-Core, che era in parte analogo a quello delle macchine a due processori: questo perché il software non è stato sviluppato con la capacità di distribuire tutte le sue operazioni in parallelo, solo alcune.
punto 3 – Per contro al punto 2, utilizzare più applicazioni contemporaneamente mostrerà un vantaggio anche del 30%, specialmente quelle CPU-intensive. Tenete conto che ogni applicazione a 32-bit può al massimo accedere a 2GB di memoria fisica, quindi il vantaggio per singola applicazione è sempre relativo, per questo nell’insieme poi si nota maggiormente.

Tutto è questione di intercettare ciò che è adatto alle proprie esigenze, ed una volta intercettato l’hardware occorre effettuarne una buona taratura, un raffinamento. Mi spiego con un esempio: nel campo del DTP e in generale della grafica, non conviene affatto l’acquisto del Mac Pro 8-core, molto meglio un Mac Pro con quattro core, ma dotato di un ingente quantitativo di memoria Ram e di Storage, e magari un buon Monitor.

Sarà chiaro forse (o forse no), che il progresso tangibile, quello vero, quello che è realmente attestabile, non è tanto nelle “novità” singole (tra l’altro poi nel mercato informatico quello che è nuovo è vecchio dopo un intervallo di tempo brevissimo), ma nelle tecnologie, di cui poi le singole novità sono soltanto implementazioni. Il Mac Pro 8-core quindi trova impiego in determinati campi (pensate anche all’utilizzo nel calcolo scientifico dove magari non si utilizza neanche il Mac OS ma un sistema operativo minimo e ottimizzato, perché no)
ma in altri non si discosta molto dalle prestazioni di macchine analoghe o inferiori.

Non contano solo i muscoli (i core), insomma, ma anche gli arti (pensate alle velocità dei dischi rigidi), la larghezza e la pressione dell’apparato circolatorio (il bus della memoria Ram) e soprattutto il cervello (Sistema Operativo e software ottimizzato), che deve sapientemente fare uso delle proprie risorse. Questa sinergia, se si verifica in modo più o meno coerente (le macchine sono sempre prodotto di uomini) e corretto, dà luogo non a novità, ma tecnologie. E in questo sappiamo che Apple non ci deluderà.

Fonti: Lloyd Chambers
Sul suo blog trovate molte considerazioni interessanti e dettagliate, a cui spesso ho fatto riferimento chiamandole genericamente approfondimenti.
—Valentino
(per gli amici Valetti)

4 commenti a “Mac Pro 8-core: a che Pro?”

  1. Ottima spiegazione del concetto multicore, un esempio, quello del cantiere, di
    grande semplicità ed estremamente efficace. Quindi, se ho capito bene,
    l’impegno per il futuro sarà quello di “allargare le porte” per permettere più
    ingressi (e uscite) simultanei?

    1. A mio avviso sì, nel senso che la pura potenza elaborativa (la CPU a sè stante) ha un passo troppo lungo rispetto al resto (e per resto non dico soltanto l’hardware – in particolare Memoria e Dischi Rigidi – ma soprattutto il software).
      Purtroppo è economicamente oneroso ad esempio per Adobe riprogettare Photoshop perché usufruisca al meglio di macchine multicore. Altre volte è addirittura impossibile ottimizzare un software per architettura multicore perché pensato, nel suo progetto e algoritmo per lavorare soltanto "sequenzialmente"… e andrebbe ripensato da capo!
      E a questo bisogna aggiungere la necessità di bus dati e memorie Ram con velocità adeguate e costi accessibili, altrimenti questa potenza elaborativa a nostra disposizione viene davvero in gran parte dissipata, secondo me.

  2. E’ molto importante considerare l’evoluzione dei compilatori delle applicazioni
    che sull’architettura Intel ha molti margini di miglioramento. L’esempio del
    cantiere e degli operai, infatti, non da tiene conto di quello che avviene
    all’interno del cantiere e di come gli operai vengono organizzati per il
    trasporto dei mattoni (tenendo conto di ciò le variabili aumentano in maniera
    notevole). Attenzione, inoltre, alla valutazione sulla suite Adobe CS3. Io
    posseggo un MacPro 4×2,66 MHz e, dalle mie prove, ancora approssimative,
    devo riscontrare un notevole aumento delle prestazioni del nuovo programma
    rispetto alla CS2, che, nonostante rosetta, eguagliava le prestazioni di un
    quad G5 sempre con la CS2. Ora dovrei controllare le prestazioni della CS3
    sul quad G5 per verificare se i miglioramenti riguardano solo la gestione delle
    4 CPU oppure sfruttano anche la gestione dell’architettura dei processori
    Intel; comunque, credo che l’Adobe abbia messo mano sia al codice che ai
    compilatori.

  3. Euben sicuramente il discorso dei compilatori è importante e rientra in quello
    che genericamente ho definito come ottimizzazione del software, e comunque
    non c’è dubbio: è un elemento di cui tener conto.
    E’ pur vero però che al di là se la “traduzione” del codice che il compilatore
    effettua sia realizzata in modo più o meno efficiente, quello che a mio avviso è
    davvero lo spartiacque è scrivere una applicazione o parti di essa(anche e
    soprattutto a livello di algoritmo) che siano
    realmente capaci di distribuire il calcolo su queste architetture dove il
    parallelismo è oramai la tecnologia dominante, e non lasciare questo compito al
    sistema operativo.

I commenti sono stati chiusi.