Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Linuxtopia - Red Hat Enterprise Introduzione al System Administration - Potenza di processazione

3.2. Potenza di processazione

Spesso conosciuta come potenza della CPU, cicli CPU, e diversi altri nomi, la potenza di processazione rappresenta l'abilit� di un computer di manipolare i dati. Tale potenza varia a seconda dell'architettura (e della velocit� dell'orologio) della CPU — generalmente le CPU con una velocit� di orologio pi� elevata e quelle che supportano un numero di dati pi� elevati, possiedono una potenza di processazione pi� elevata rispetto alle CPU pi� lente che supportano un numero minore di dati.

3.2.1. Dati relativi alla potenza di processazione

Ecco due dei dati principali inerenti la potenza di processazione che dovreste tener presente:

  • La potenza di processazione � fissa

  • La potenza di processazione non pu� essere conservata

La potenza di processazione � fissa, e cio� la CPU non pu� superare un certo limite. Per esempio, se avete bisogno di aggiungere due numeri insieme (una operazione che necessita di una sola istruzione sulla maggior parte delle architetture), una CPU particolare pu� eseguire questa operazione ad una sola velocit�. Con qualche eccezione, non � possibile rallentare la velocit� con la quale una CPU processa le istruzioni, tanto meno aumentarla.

La potenza di processazione � anche limitata. Cio�, ci sono limiti dovuti al tipo di CPU da collegare ad ogni computer. Alcuni sistemi sono capaci di supportare un'ampia gamma di CPU con diverse velocit�, mentre altri potrebbero non essere aggiornabili[1].

La potenza di processazione non pu� essere conservata per un uso futuro. In altre parole, se una CPU � in grado di processare 100 milioni d'istruzioni al secondo, un secondo in posizione idle, risulta essere uguale a 100 milioni d'istruzioni che non sono state processate.

Se teniamo presenti questi fattori e li esaminiamo attraverso una prospettiva diversa , una CPU "produce" una serie di istruzioni eseguite ad una velocit� fissa. E se la CPU "produce" alcune istruzioni precedentemente eseguite, ci� significa che vi � qualcosa che le "consuma". La sezione successiva affronta tale aspetto.

3.2.2. Utenze interessate all'uso della potenza di processazione

Sono presenti due utenze principali per la potenza di processazione:

  • Le applicazioni

  • Lo stesso sistema operativo

3.2.2.1. Le applicazioni

Le normali utenze della potenza di processazione sono le applicazioni ed i programmi che desiderate far eseguire dal computer. Da uno spreadsheet ad un database, le applicazioni sono la ragione per la quale avete un computer.

Un sistema con una sola CPU � in grado di eseguire un compito per volta. Per questo, se la vostra applicazione � in esecuzione, non � possibile eseguire altro. � anche vero che — se state eseguendo qualcosa di diverso da un'applicazione, allora la stessa non pu� essere eseguita.

Come mai � possibile eseguire diverse applicazioni contemporaneamente su sistemi operativi moderni? La risposta � che essi sono sistemi operativi del tipo 'multitasking'. In altre parole, essi sono in grado di creare l'illusione che � possibile eseguire diverse cose contemporaneamente, quando in effetti ci� non pu� essere fatto. Il segreto � quello di conferire ad ogni processo una frazione di secondo dove il processo stesso � in grado di essere eseguito sulla CPU, prima di rendere disponibile quest'ultima ad un altro processo nella frazione di secondo successiva. Se questi cambi di contesto avvengono molto frequentemente, � possibile raggiungere l'illusione di eseguire applicazioni multiple contemporaneamente.

Naturalmente, le applicazioni eseguono diversi altri compiti oltre a quello di manipolare i dati usando la CPU. Esse possono attendere l'input di un utente o eseguire l'I/O per dispositivi come le unit� disco ed i display grafici. Quando si verificano questi eventi, l'applicazione non ha pi� bisogno della CPU. A questo punto la CPU stessa pu� essere utilizzata per altri processi in grado di eseguire altre applicazioni senza rallentare l'applicazione in attesa.

In aggiunta, la CPU pu� essere utilizzata da un'altra utenza della potenza di processazione: il sistema operativo.

3.2.2.2. Il sistema operativo

� difficile determinare il consumo della potenza di processazione da parte del sistema operativo. Il motivo � rappresentato dal fatto che i sistemi operativi utilizzano un mix di codici system-level e process-level, per svolgere il loro lavoro. Mentre per esempio, � pi� semplice utilizzare un monitor per visualizzare l'attivit� del processo che esegue un demone o un servizio, non risulta essere altrettanto semplice determinare la quantit� di potenza di processazione consumata dalla processazione relativa all'I/O del system-level (la quale viene determinata normalmente all'interno del contesto del processo che richiede l'I/O.)

In generale, � possibile dividere questo tipo di overhead del sistema operativo in due tipi:

  • Gestione del sistema operativo

  • Attivit� relative al processo

La gestione del sistema operativo include l'attivit� di programmazione del processo e della gestione della memoria, mentre le attivit� relative al processo includono qualsiasi processo che supporta il sistema operativo, ad esempio un processo che gestisce l'event logging dell'intero sistema oppure il cache flushing I/O.

3.2.3. Migliorare la carenza di CPU

L� dove non � disponibile una potenza di processazione sufficiente per il lavoro da svolgere � possibile:

  • Ridurre il carico

  • Aumentare la capacit�

3.2.3.1. Riduzione del carico

La riduzione del carico della CPU � un approccio che si pu� intraprendere senza alcuna spesa. Il segreto � quello di identificare gli aspetti del carico del sistema sotto il vostro controllo, che possono essere eliminati. A questo scopo vi suggeriamo di fare particolare attenzione a tre aree principali:

  • Riduzione dell'overhead del sistema operativo

  • Riduzione dell'overhead dell'applicazione

  • Eliminazione completa delle applicazioni

3.2.3.1.1. Riduzione dell'overhead del sistema operativo

Per ridurre l'overhead del sistema operativo, � necessario esaminare l'attuale carico del sistema e determinare gli aspetti che danno luogo ad un numero elevato di overhead. Queste aree possono includere:

  • Riduzione della necessit� di una programmazione frequente del processo

  • Riduzione della quantit� I/O eseguita

Non aspettatevi miracoli, in un sistema configurato in modo corretto, � improbabile notare una migliore prestazione riducendo l'overhead del sistema operativo stesso. Questo � divuto dal fatto che il suddetto sistema, per definizione, presenta una minima quantit� di overhaed. Tuttavia, se il vostro sistema � in esecuzione con poca RAM, sareste in grado di ridurre l'overhaed alleviando la carenza della stessa RAM.

3.2.3.1.2. Riduzione dell'overhead dell'applicazione

La riduzione dell'overhead dell'applicazione significa accertarsi che l'applicazione stessa abbia tutto il necessario per essere eseguita in modo corretto. Alcune applicazioni hanno mostrato diversi comportamenti sotto diversi ambienti — un'applicazione pu� richiedere molte risorse quando processa alcuni tipi di dati, ma comportarsi in modo diverso quando ne processa altri.

� quindi necessario comprendere tutte le applicazioni eseguite sul vostro sistema per poterle eseguire pi� efficientemente. Spesso questo procedimento comporta lavorare a stretto contatto con i vostri utenti e/o con gli sviluppatori dell'organizzazione, in modo da scoprire i diversi modi attraverso i quali le applicazioni possono essere meglio eseguite.

3.2.3.1.3. Eliminazione completa delle applicazioni

A seconda dell'organizzazione, questo approccio potrebbe non essere a voi disponibile in quanto spesso non � responsabilit� dell'amministratore del sistema decidere quali applicazioni devono essere eseguite. Tuttavia, se siete in grado d'identificare qualsiasi applicazione conosciuta come "CPU hogs", allora sareste in grado di influenzare il loro ritiro.

Potreste non essere i soli ad essere interessati seguendo questa procedura. Anche gli utenti coinvolti dovrebbero far parte di questo processo; in molti casi essi potrebbero avere la conoscenza ed il potere per eseguire i cambiamenti necessari all'applicazione.

SuggerimentoSuggerimento
 

Ricordatevi che non � necessario eliminare un'applicazione da ogni sistema presente nella vostra organizzazione. Infatti potreste essere in grado di muovere una particolare applicazione perticolarmente 'affamata' di CPU, da un sistema sovraccarico ad un altro sistema che � quasi in una posizione di idle.

3.2.3.2. Aumento della capacit�

Ovviamente, se non risulta essere possibile ridurre la domanda di potenza di processazione, allora dovreste cercare il modo di aumentare la potenza di processazione disponibile. Per fare ci� � necessario l'uso di risorse economiche.

3.2.3.2.1. Migliorare la CPU

L'approccio pi� semplice � quello di determinare se la CPU del vostro sistema pu� essere migliorata. La prima fase � quella di determinare se l'attuale CPU pu� essere rimossa. Alcuni sistemi (in modo particolare i portatili) possiedono CPU in grado di essere integrate, rendendo cos� impossibile l'esecuzione di un miglioramento. Il resto dei sistemi possiedono delle CPU 'socketed' che rendono possibili, almeno in teoria, l'esecuzione di tale miglioramento.

Successivamente, dovete eseguire alcune ricerche per determinare se esiste una CPU pi� veloce per la configurazione del vostro sistema. Per esempio, se avete una CPU di 1GHz, ed esiste una unit� di 2GHz dello stesso tipo, allora � possibile eseguire un miglioramento.

Per finire, dovete determinare la velocit� massima dell'orologio che pu� essere supportata dal vostro sistema. Per continuare l'esempio sopra indicato, se il vostro sistema supporta solo processori che vengono eseguiti con un valore di 1GHz o inferiore, anche se esiste una tipologia corretta di CPU di 2GHz, non � possibile eseguire una semplice sostituzione della stessa.

Se non riuscite a installare nel vostro sistema una CPU pi� veloce, allora la vostra opzione sar� limitata alla sostituzione della scheda madre oppure all'adozione del 'forklift upgrade', cio� della sostituzione dell'intero computer, ma questa procedura risulta essere molto pi� costosa.

Tuttavia, alcune configurazioni rendono possibile un approccio leggermente diverso. Invece di sostituire la CPU corrente, perch� non aggiungerne un'altra?

3.2.3.2.2. La Multiprocessazione Simmetrica � l'opzione migliore per voi?

La multiprocessazione simmetrica (conosciuta anche come SMP), rende possibile per un sistema computerizzato, avere pi� di una CPU in grado di condividere tutte le risorse del sistema. Ci� significa che, a differenza di un sistema uniprocessor, un sistema SMP potrebbe presentare pi� di un processo in esecuzione contemporaneamente.

Questo potrebbe sembrare come il sogno principale di un amministratore di sistema. Diciamo innanzitutto che SMP rende possibile aumentare la potenza della CPU di un sistema, anche se non sono disponibili CPU con una maggiore velocit� dell'orologio, — aggiungendo soltanto un'altra CPU. Tuttavia questa flessibilit� presenta delle avvertenze.

La prima � che tutti i sistemi sono in grado di supportare operazioni SMP. Il vostro sistema deve presentare una scheda madre creata per supportare processori multipli. Se non li supporta, � necessario (almeno) eseguire un miglioramento della stessa scheda madre.

La seconda � che SMP aumenta l'overhead del sistema. Con pi� lavoro da programmare per le CPU, il sistema operativo richiede un maggior numero di cicli CPU per l'overhead. Un altro aspetto � quello che con CPU multiple, � possibile il verificarsi di maggiori dispute per le risorse del sistema. A causa di questi fattori, il miglioramento di un sistema dual-processor in una unit� quad-processor, non corrisponde ad un aumento del 100% in potenza disponibile della CPU. Infatti, a seconda dell'hardware corrente, del carico di lavoro e dell'architettura del processore, � possibile raggiungere un punto dove l'aggiunta di un altro processore potrebbe ridurre le prestazioni del sistema.

Un altro punto da considerare � che SMP non aiuta i carichi di lavoro che consistono in un'applicazione monolitica con un singolo livello di esecuzione. In altre parole, se un programma di simulazione compute-bound molto grande viene eseguito come un processo senza thread, esso non verr� eseguito pi� velocemente su di un sistema SMP rispetto ad una macchina con un processore singolo. Infatti, potrebbe essere anche pi� lento, a causa di maggiori overhead dovuti all'SMP. Per queste ragioni molti amministratori di sistema convengono nel fatto che quando si tratta di potenza CPU, la potenza di processazione con un singolo livello rappresenta la scelta migliore. Tale scelta fornisce una maggiore poteza CPU con minore restrizione.

Anche se gli argomenti affrontati sembrerebbero portare all'idea che SMP non � mai la scelta giusta, vi sono alcune circostanze nelle quali SMP pu� risultare la scelta pi� idonea. Per esempio, ambienti in grado di eseguire molteplici applicazioni compute-bound rappresentano il caso ideale per SMP. La ragione per questo � data dal fatto che le applicazioni che non fanno altro che eseguire calcoli per lunghi periodi, mantengono le contese presenti tra i processi attivi (e quindi, l'overhead del sistema operativo) ad un livello minimo, mentre gli stessi processi mantengono ogni CPU occupata.

Un'altra cosa da ricordare riguardante l'SMP, � che la prestazione di un sistema SMP tende a 'peggiorare' in modo pi� omogeneo con l'aumentare del carico di lavoro del sistema. Questa caratterisstica rende i sistemi SMP molto pi� diffusi negli ambienti server e multi-utente, in quanto i diversi processi possono avere un minor impatto sul carico generale del sistema su di una macchina a processori multipli.

Note

[1]

Questa situazione porta ad una situazione conosciuta come forklift upgrade, e cio� ad una sostituzione completa del computer.

 
 
  Published under the terms of the GNU General Public License Design by Interspire