Oops…! Troppe cose da fare, troppe distrazioni (in particolare in questi giorni di tarda, ma ancora infuocata, estate), e così succede di saltare completamente tutta la prima (lunga) parte delle conclusioni dell’articolo precedente. Eccole qui, e già che c’ero le ho riviste (ed estese) un po’.
Le conclusioni mancanti
Nell’articolo precedente, che mette a confronto le prestazioni del Cray-1 con quelle dei computer odierni, si è visto che un qualunque computer odierno è un mostro di velocità rispetto ad un Cray-1 e che persino un umile Raspberry Pi da poche decine di euro lo sopravanza di almeno 5 volte.
Ma se i nostri computer di oggi sono così veloci, perché abbiamo sempre l’impressione contraria e pensiamo sempre che stiano andando pianissimo? E perché dopo pochi anni diventano obsoleti?
Perché non è solo una questione di velocità di calcolo. Come già detto, i MFLOPS misurano la velocità di un computer nell’eseguire calcoli, ma sono assolutamente inadeguati a valutare le prestazioni delle altre componenti di un computer (RAM, scheda grafica, dischi rigidi, etc.)
Con i supercomputer questo parametro funziona benissimo, perché i supercomputer (come il Cray-1) sono fatti solo ed esclusivamente per fare calcoli. Anzi, il Cray-1 era tanto ottimizzato per il calcolo numerico puro da avere un hardware costruito specificatamente per quello e un sistema operativo minimale, fatto solo per gestire le varie componenti dell’hardware e l’esecuzione dei programmi. Tutto il resto, dall’avvio del sistema operativo del Cray all’interazione con l’utente, era gestito da un minicomputer esterno interfacciato alla macchina principale, la cosiddetta Maintenance Control Unit (MCU), lasciando libero il Cray-1 di occuparsi solo di quello che sapeva fare meglio, calcolare.
Ma in un computer c’è tanto altro, c’è la memoria RAM, c’è il sistema grafico (che oggi ha una importanza preponderante), ci sono le memorie di massa (come i dischi rigidi a stato solido o meccanici) e tutti questi componenti contribuiscono in modo profondamente diverso alle prestazioni generali e avvertite di un computer.
Ma tutto sommato l’hardware è il meno. In realtà ciò che ormai influenza di più la nostra valutazione delle prestazioni velocistiche di un computer è il software, il sistema operativo e le applicazioni che ci girano sopra.1
I sistemi operativi moderni sono mostri di complessità inestricabile, devono fare milioni di cose diverse e occupano gigabyte e gigabyte di spazio sui nostri dischi rigidi. Lo stesso, e persino peggio, per le applicazioni, sempre più gigantesche e sempre meno ottimizzate.2
Del resto, a che serve perdere tempo ad ottimizzare il codice? Molto più comodo presupporre che sia l’hardware a fare la sua parte: la nuova release del sistema operativo X o del programma Y è lenta? Colpa del computer, bisognerà prenderne un altro più moderno e veloce.
Ma siamo sicuri che tutto ciò sia necessario?
Ecco perché è utile, utilissimo, tornare alle basi, riscoprire lo spirito degli home computer degli anni ‘80. Lasciar perdere il Mac (o il PC) sulla scrivania e provare ad usare un computer piccolo piccolo come il Raspberry Pi. Imparare a programmarlo e vedere l’effetto che fa, magari realizzando qualche progetto già esistente. E poi provare ad usare l’interfaccia a linea di comando invece di quella grafica, per accorgersi che tutto diventa improvvisamente scattante ed efficiente.
Con il Cray-1 (e non solo) hanno fatto calcoli pazzeschi, sfruttando al massimo l’hardware che avevano a disposizione e inventando trucchi geniali per superarne le limitazioni. Non è il caso di smettere di adagiarci fra i nostri comodi cuscini tecnologici e riscoprire le basi dell’uso del computer?
(continua…)
-
Negli anni ‘80-90 non era così, i dischi rigidi e le schede grafiche in particolare erano così lenti rispetto a processore e RAM da rallentare sensibilmente l’esecuzione dei programmi. ↩
-
Se usate un Mac, lanciate iTunes, andate alla sezione delle app per iPhone/iPad ed elencatele per dimensione. Vi accorgerete che solo una minoranza di quelle che avete occupa meno di 10-20 MB (senza dati) e che parecchie, non solo giochi ma anche cose più serie, superano tranquillamente i 200 MB. Sul mio iPad l’aplicazione più grossa occupa ben 1.5 GB. E stiamo parlando di dispositivi mobili. Figuriamoci quanto sono grandi le applicazioni per il Mac! ↩