Showing posts with label Grid. Show all posts
Showing posts with label Grid. Show all posts

18 May 2007

02 May 2007

Sylvie, l'Internet delle cose e la Grid

L'Oca Sapiens mi chiama direttamente in causa: potevo non risponderle?
Siccome pero' la domanda mi ha spinto a riflessioni sparse, di carattere piu' generale, e la risposta stava diventando troppo lunga, ho pensato di dedicarle un post qui sul mio blog.
   —   ∴   —   
Sylvie mi chiede cosa ne penso dello special report dell'Economist di questa settimana. Io non ho una copia cartacea dell'Economist e l'inchiesta integrale e' disponibile online solo previa registrazione a pagamento. Gratuitamente e' comunque disponibile una specie di sintesi da cui si evince che l'inchiesta discute della progressiva diffusione delle tecnologie informatiche negli oggetti quotidiani e in particolare della "rete delle cose" che dovrebbe nascere quando le attuali tecnologie wireless consentiranno a questi dispositivi di collegarsi e parlare fra di loro.
Piu' che il sottoscritto, una persona giusta a cui chiedere un parere potrebbe essere Stefano Quintarelli, oppure Alfonso Fuggetta (che in effetti ha scritto un articolo precisamente sull'inserto dell'Economist), oppure ancora a Beppe Caravita (anche lui commenta alcuni passaggi dell'inchiesta, vedi anche qui).
Cosa mai potrei aggiungere, io? Forse solo sottolineare che un punto chiave perche' qualcuno degli scenari che si immaginano quando si pensa alla "rete delle cose" possa davvero realizzarsi e' quello dell'esistenza di standard aperti e universali, su cui costruire servizi aggiuntivi e "intelligenti". Questo e' un punto cruciale (come si deduce dalla storia del web) e tuttavia non e' affatto ovvio che sia semplice da realizzare per delle "cose concrete" cosi' come lo e' stato per le "comunicazioni astratte" di Internet.
Questo mi porta naturalmente a fare l'esempio di Grid, perche' sin dalla nascita viene pensato esattamente come una sorta di "evoluzione" di Internet, da rete dalle informazioni a rete di risorse. Il fatto e' che secondo me questo paragone e' fortemente fuorviante.
Sin dalle loro origini, il web e la Grid hanno percorso strade completamente diverse. Il web e' nato crescendo piu' o meno per caso lungo una via che a posteriori forse si puo' giudicare inevitabile, ma che non e' mai stata perseguita esplicitamente. Cos'e' il web oggi (ebay, i web-service ma soprattutto i blog, il nanopublishing, il social web, l'XML...), nessuno avrebbe saputo dirlo quando e' nato 10 anni fa; cosa diventera' domani nessuno lo sa davvero oggi, perche' segue delle strade tutte sue, piene di contingenza e di necessita', anche se la necessita' la si scopre sempre a posteriori. Esattamente come l'idea della vita che dobbiamo a Darwin (e, per quanto mi riguarda, devo a Stephen Jay Gould). La forza del protocollo IP e dell'HTTP, la loro semplicita' e la loro universalita', era una naturale caratteristica della cosa che si voleva mettere in rete: un file di testo, dei caratteri. Da quella semplicita' sono emerse poi, pian piano, tutte le mille sfaccettature che vediamo oggi, ma non si puo' non notare che si tratta ancora essenzialmente di una rete di informazioni.
Con la Grid, invece, e' stato esattamente l'opposto. La sua stessa idea non e' nata per aggregazione come una valanga da una palla di neve che pian piano comincia a rotolare lungo un pendio, ma e' stata studiata a tavolino e sono stati stanziati ingenti finanziamenti per cercare di realizzarla. E cercare di realizzarla e' risultato dannatamente difficile. Il problema e' dovuto al fatto che si sta cercando di mettere in comunicazione degli oggetti estremamente complessi (esattamente l'opposto di un file di testo), per fare cose ancora piu' complesse. La Grid vorrebbe mettere a disposizione risorse di calcolo e storage, ma non basta mettere in rete dei computer per avere a disposizione le loro CPU e i loro spazio disco. Vuoi usare la CPU del mio cluster? Devi dirmi cosa vuoi fare, che programma vuoi far girare e se il programma occupa spazio e costa trasferirlo, vorresti che fosse gia' presente sulle macchine del cluster, ma allora devi dirmi che versione del programma vuoi... e l'input? me lo mandi con la descrizione del programma che vuoi che esegua? e l'output? lo metto in qualche risorsa di storage della Grid? e' piccolo e quindi te lo restituisco direttamente quando ho finito? et cetera. E il problema e' che ogni possibile utilizzo diverso delle risorse puo' pretendere specifiche tutte sue e non appena ti rendi conto di un possibile nuovo utilizzo della risorsa devi riaggiustare i protocolli perche' riescano a gestire anche questa nuova possibilita'.
Si tratta, essenzialmente, delle stesse difficolta' che si incontrano nei tentativi di realizzare il web semantico, anch'esso dipinto come un'evoluzione del web (e sponsorizzato dallo stesso inventore del web, Tim Berners-Lee). E tuttavia le piramidi strutturali di Internet e di Grid (e del web semantico) sono letteralmente invertite: la complessita' si e' sviluppata sopra Internet, mentre con la Grid la si vorrebbe tenere nascosta sotto, lasciando in superficie un utilizzo il piu' semplice possibile per l'utente finale che vuole accedere alle risorse.
Per tornare al futuro delineato dall'inchiesta dell'Economist, la vedo piu' o meno allo stesso modo: e' facile mettere un po' di "cervello" (i cosiddetti sistemi embedded) a un frigorifero e a una lavastoviglie, per non parlare del fatto che i cellulari ormai "sono morti"). E' piu' difficile metterli in comunicazione (e vanno bene queste nuove tecnologie wireless) in maniera abbastanza sofisticata da permetter loro di far qualcosa con quella comunicazione. Con Internet siamo noi che comunichiamo. Far comunicare delle cose, pur sofisticate come possono essere le risorse della Grid, e' tutt'un'altra storia.
 
Prima di smetterla, una precisazione.
Ho soltanto accennato alle molte difficolta' che si devono affrontare per mettere in piedi una infrastruttura di Grid. Se messe accanto alla facilita' con cui si e' sviluppato il web e all'immenso e pressocche' immediato successo di Internet, possono lasciar pensare che la Grid sia un po' un fallimento. In realta' il punto e' prorpio – ed e' questo che volevo sottolineare – che il paragone non ha senso. L'(epi)fenomeno di Internet e l'impresa di allestire un'infrastruttura di Grid sono due cose completamente diverse. E per quanto i progressi fatti e i risultati ottenuti per la Grid siano molto meno appariscenti dell'evoluzione vertiginosa del web [›››], si tratta comunque di una strada obbligata, almeno per quanto riguarda le sfide di un'impresa come quella di LHC. Certo, poi le competenze maturate e la tecnologia sviluppata per il modello di grid compunting potra' e sara' esportata – anzi lo e' gia' – in altri ambiti come quello astro-/geo-fisico, biomedico, bioinformatico, economico-finanziario, fino alla protezione civile e ad ambiti piu' strettamente industriali. Ma per LHC non era molto una questione di scelta. Quando il nuovo acceleratore entrera' in funzione ed andra' a regime, verranno prodotti una quantita' di dati mai vista prima (ad un ritmo di una dozzina di PByte all'anno, P = peta = dieci alla 15). E questi dati dovranno poter essere accessibili e poter essere analizzati in qualsiasi momento da qualsiasi centro di ricerca sparso per il globo. Nessun centro, da solo, poteva fornire tutte le risorse necessarie. E l'integrazione e la coordinazione di tali risorse geograficamente distribuite conduceva naturalmente ad una soluzione di tipo grid computing.