Abbiamo già parlato estesamente di cloud computing su queste pagine e negli ultimi tre articoli che ho scritto (li trovate qui, qui e qui) l’attenzione è stata puntata sugli utenti che fruiscono di questa comoda funzionalità, considerando anche eventuali prospettive future modellate sulle nostre esigenze.
Il concetto è quello demandare a una “nuvola” di computer esterni alcune funzionalità (in particolare è stato trattato lo storage) da espletare per conto nostro. Di quest’aggregato ovviamente non sappiamo nulla: di quanti elementi è costituito, quale sistema operativo utilizza, su che hardware gira. L’unica cosa che conta è che si tratta di entità esterne alle quali siamo collegati, e che svolgono certe mansioni per noi.
Personalmente l’approccio mi ricorda molto l’università dei primi anni ’90, quando in laboratorio avevamo dei terminali sui quali lavoravamo. In realtà si trattava di terminali abbastanza stupidi, in quanto tutti i calcoli venivano effettuati da mainframe Siemens (su cui girava Sinix, una variante Unix della casa tedesca), e i primi si limitavano a inviare i nostri input e ricevere l’output dai secondi.
L’idea, comunque, è che il nostro computer si occupa di spedire ai mainframe (cloud?) alcuni dati, per riceverne poi altri. All’epoca in cui quei mainframe furono progettati e commercializzati tutto ciò aveva senso perché disporre di terminali intelligenti e autonomi significa far lievitare di molto i costi.
Ma un approccio del genere è fattibile ancora oggi? Potremmo disporre di terminali realmente “stupidi” perennemente collegati alla rete e a un cloud a cui demandare proprio tutto, dallo storage ai calcoli più semplici?
Google ha deciso di sposare questo modello, sebbene non integralmente. Il suo Chrome OS girerà su macchine economiche, ma certo non prive di hardware, o comunque il cui unico scopo sia quello di prelevare gli input dell’utente, girarlo al cloud, per poi prelevarne l’output e semplicemente presentarlo all’utente.
Chrome OS richiede comunque hardware sul quale far girare una versione personalizzata di Linux (sebbene ridotta all’osso) sulla quale piazzare sopra un’interfaccia utente minimale e ispirata (o basata?) sul suo browser Chrome. Quindi come minimo serve una CPU con chipset, memoria e GPU, e un’unità di storage su cui memorizzare il codice.
Considerati i servizi di Google che l’utenza verosimilmente utilizzerà (GMail, Google Docs, Picasa, ecc.), ma anche la normalissima navigazione su siti web, l’hardware non può certo essere ridotto al lumicino, sebbene ci si possa affidare a soluzioni economiche basate su Atom o ARM, che dovrebbero essere sufficienti allo scopo.
Sì, l’idea del cloud c’è ed è usata pesantemente, perché demandiamo all’esterno lo storage (cosa non indifferente: ci sono i nostri documenti!), e buona parte della computazione di cui si occupano i server a cui abbiamo effettuato le richieste.
Pensare, quindi, a un modello come quello dei terminali Sinix “stupidi” risulta utopistico ai nostri giorni. Avremo sempre bisogno di hardware da utilizzare per i nostri, e dovrà essere più o meno potente a seconda dell’uso che ne faremo.
D’altra parte se perfino negli smartphone ormai si fa uso di CPU multicore (con tanto di GPU multicore anch’essa!), qualcosa dovrà pur significare. Come pure qualcosa ci dirà il progetto Terascale di Intel (che porterà a CPU, x86 ovviamente, dotate di migliaia di core), e in generale la corsa al multicore che ha investito le CPU negli ultimi anni, ma di cui le GPU hanno fatto da apripista da ben prima (con migliaia di unità “shader” già a disposizione oggi).
Nell’ambito storage la situazione non è molto diversa. La corsa al GB ha già lasciato il posto a quella dei TB, con hard disk sempre più capienti e a buon mercato. Si sono affacciati anche gli SSD che offrono prestazioni spettacolari, anche se per adesso a costi elevati e spazio ridotti rispetto ai dischi magnetici. E poi c’è sempre la cara memoria centrale, che si misura già da anni in GB, anche sulle macchine più economiche…
In definitiva, l’hardware c’è: è più o meno potente e più o meno economico, ma nei computer che compreremo anche in futuro certamente non è destinato a sparire. Semmai ad offrirci sempre di più a prezzi inferiori o, al limite, allo stesso prezzo.
Ma di questo hardware cosa ce ne facciamo? Penso che per buona parte del tempo se ne stia lì a girarsi i pollici, aspettando di essere utilizzato. Il task manager (o gestione attività che dir si voglia) lo conferma: la CPU raramente supera la soglia del 10%, e la memoria è utilizzata per il 25% circa. Non c’è un indicatore dell’uso della GPU, ma penso si starà stancata di visualizzare sempre la stessa grafica, con occasionali aggiornamenti. E la rete, beh, quella è sempre connessa a internet.
Non penso che uno scenario del genere sia più unico che raro. Anzi, penso sia ragionevole ipotizzare che sia piuttosto comune.
Questo non significa che il computer verrà usato sempre allo stesso modo: ci saranno i momenti in cui girerà a pieno carico, ma l’uso “regolare”, quotidiano, è piuttosto limitato.
A conti fatti abbiamo una rete enorme di computer collegati, con tantissime risorse a disposizione che, però, vengono sfruttate ben poco. Anzi, mediamente sono di gran lunga non utilizzate, e… aspettano di essere impiegate.
Cosa succederebbe se questa mole di potenza di calcolo e storage venisse, invece, impiegata per altri scopi? Esempi del genere ne esistono già da tempo (Boinc e SETI@home sono i più conosciuti, ma ne esistono diversi altri), e non sarebbe quindi una novità.
Ma immaginiamo un approccio più generale: i nostri computer sono nodi di una grande rete, che utilizzano un protocollo ben definito per permetterne l’utilizzo come storage e/o strumento di calcolo, ovviamente sotto il nostro diretto controllo (siamo noi a decidere quanto spazio, CPU, memoria, e GPU far utilizzare; e quando).
Potremmo decidere di noleggiare il nostro hardware in cambio di servizi aggiuntivi, ad esempio. GMail è comodo, ma ci sono appena (!) 7GB di spazio a disposizione. Google potrebbe mettercene a disposizione di più, in cambio di spazio e/o potenza di calcolo che potrebbe sfruttare per i suoi scopi (anche per lo stesso GMail, volendo).
Activision potrebbe regalarci un DLC di Call of Duty, in cambio della possibilità di sfruttare il nostro PC e lo stesso gioco installato sulla nostra macchina per fargli elaborare i fotogrammi che verranno spediti a un computer sul quale il gioco viene utilizzato magari sul browser (che ne visualizza le immagini in streaming).
O, ancora, potremmo lasciare spazio e/o risorse a disposizione della pubblica amministrazione, in modo da ridurre la spesa pubblica e, di conseguenza, le tasse che ogni anno gravano sulle nostre spalle (o, per meglio dire, solo su quelle di chi le paga).
Le applicazioni possibili sono fra le più disparate. Forse è uno scenario un po’ romantico o troppo visionario, ma mi piace pensare che tutto ciò sarebbe possibile in un futuro di “mutua collaborazione” che aiuti a diminuire gli sprechi e i costi (di tutti; anche delle aziende), dando una mano sia al servizio pubblico che alla nostra Terra, la quale non può metterci a disposizioni risorse illimitate…