Sistemi multiprocessore

Sistemi multiprocessore

Analisi degli incrementi prestazionali ottenibili con l'impiego di una configurazione a due processori, con software High-End e sistema operativo Windows NT 4.

di pubblicato il nel canale Processori
WindowsMicrosoft
 

sistemi multiprocessore

Esistono differenti tipologie di impiego di un personal computer; numerosi di noi impiegano il PC per applicazioni decisamente poco impegnative, come videoscrittura e navigazione pagine web; altri passano parecchie ore al giorno con giochi 3D sempre più esigenti in termini di risorse hardware di sistema; altri ancora si dilettano con un po' di tutto, non avendo un ambito di impiego preferenziale ma facendo uso di numerose tipologie di applicazioni.

Esiste, infine, una particolare categoria di utilizzatori che si servono del PC quale strumento di lavoro per applicazioni particolarmente esigenti, quali modellazione 3D, programmazione, fotoritocco, CAD (giusto per indicarne alcune); definiamo questa classe di applicazioni con il termine di software High-End. E' abbastanza evidente come le performance del sistema impiegato, nonché la stabilità operativa, siano requisiti indispensabili in questo tipo di applicazioni; se, ad esempio, il rendering di un progetto tridimensionale è il risultato di un lavoro commissionato ad uno studio professionale, il tempo necessario ad eseguire questa operazione è una discriminante di primaria importanza in quanto, al diminuire del tempo necessario, diminuiscono i costi complessivi, quindi aumenta il profitto complessivo. In altri casi, tempistiche definite impongono la consegna di taluni progetti entro una determinata scadenza; la possibilità di far eseguire i calcoli necessari in un arco di tempo più ridotto è, anche in questo caso, un vantaggio non indifferente. In altri casi ancora, il fatto di tenere un operatore per meno ore davanti ad una workstation significa meno ore da corrispondere a quest'ultimo.

Gli utilizzatori di software High-End, pertanto, sono molto esigenti in termini di prestazioni dell'hardware da loro utilizzato; un processore con una frequenza di clock del 15% maggiore rispetto al modello precedente può rappresentare un risparmio di tempo per costoro, pertanto un guadagno complessivo (anche a dispetto del costo incrementale dell'acquisto del processore più recente), mentre per l'utilizzatore "ordinario" il passaggio ad un processore dalla frequenza di clock superiore ha, il più delle volte, una importanza decisamente più limitata. Dato che il più delle volte è l'accoppiata processore + memoria di sistema a ricoprire il ruolo principale nell'ottenere le più elevate prestazioni con software High-End (unitamente all'acceleratore video che, in alcune categorie di applicazioni, ha un ruolo indispensabile), si nota come i sistemi High-End utilizzino quantitativi di memoria decisamente superiori a quelli che si è soliti trovare nei PC domestici, e che in genere vengano impiegate le cpu più performanti disponibili sul mercato. Se risulta essere abbastanza semplice aumentare la dotazione di memoria di sistema nel caso in cui quella installata risulti essere insufficiente, l'aggiornamento ad un processore di frequenza di clock superiore porta ad un guadagno in termini di prestazioni evidente ma non sempre proporzionale al costo d'acquisto; quello di passare ad una configurazione biprocessore può allora essere una soluzione con la quale aumentare considerevolmente la potenza di calcolo a disposizione dell'utilizzatore.

Cosa si intende per sistema biprocessore? Non è niente altro che un PC dotato di due microprocessori, montati sulla stessa motherboard e operanti contemporaneamente. Detto in questo modo il gioco sembra abbastanza semplice: due procesori, quindi potenza di calcolo raddoppiata. In realtà è tutto tranne questo. Innanzitutto, per poter sfruttare dell'hardware è necessario servirsi di un sistema operativo. Solo alcuni sistemi operativi permettono di utilizzare sistemi biprocessor, nel senso che sfruttano il secondo processore nell'esecuzione di calcoli: tra essi Windows NT, Linux, Unix, Solaris e BeOS, mentre Windows 95 e 98 non permettono di sfruttare la presenza della seconda cpu. In secondo luogo, è necessario impiegare applicazioni che utilizzino il secondo processore; ad esempio, Adobe Photoshop si avantaggia della presenza della seconda cpu ma soltanto nell'applicazione di alcuni specifici filtri, non nel complesso delle operazioni che con questo software è possibile eseguire. In terzo luogo, non si ottiene un raddoppio delle prestazioni con quelle applicazioni che sfruttano i due processori, ma un guadagno variabile che mediamente può essere indicato con il 50% ma che è molto dipendente dal tipo di applicazione utilizzata.

Oltre ai vincolo di natura software (sistema operativo appropriato e applicazioni che sfruttino le due cpu), è necessario che i due processori impiegati siano identici e operanti alla stessa frequenza di clock; da ultimo, solo i processori Intel Pentium II, Pentium, Pentium MMX, Pentium PRO e Xeon (nonché il prossimo Pentium III, meglio noto con il nome in codice di Katmai) sono dotati di supporto per configurazioni multiprocessore, mentre tutte le cpu non Intel (fatta ecccezione per l'AMD K7, di cui è previsto il debutto a metà 1999) e quelle della classe Celeron non permettono di essere sfruttate in configurazione multiprocessore (è possibile attuare una particolare modifica alle cpu Celeron, sia con che senza cache L2 integrata, che ne permette l'impiego in un sistema biprocessore; per maggiori dettagli si veda questa pagina).

Oltre ai sistemi biprocessori, è possibile costruire piattaforme hardware basate su 4 o più processori; tali tipi di sistemi vengono in genere impiegati in contesti molto particolari, quali ad esempio web server di notevole capacità, e in genere non vengono impiegati in workstation se non di elevatissima potenza. Il ragionamento che governa questi tipi di sistemi è lo stesso applicato ai sistemi biprocessore; naturalmente l'adozione di un numero sempre maggiore di processori porta ad un aumento complessivo delle prestazioni, sempre però meno che proporzionale (cioè se la configurazione a 2 processori porta ad un aumento, ad esempio, medio del 50%, quella a 4 processori può portare ad un aumento complessivo nell'ordine dell'80% rispetto alla configurazione single processor; si tratta naturalmente di incrementi medi, il guadagno effettivo dipende sempre dal tipo di applicazione impiegata).

 
^