Open computing networks

Luigi Morelli
L O G I N
Published in
6 min readSep 5, 2016

--

Dal passato al futuro, attraverso il presente

Diversi anni fa, quando i personal computer non lavoravano ancora sotto DOS ed alcuni mainframe venivano programmati tramite schede perforate, gli stabilimenti della Rank Xerox a Palo Alto iniziarono a sfornare una dopo l’altra decine di innovazioni tecnologiche tendenti a rendere “utilizzabile” dalla massa una calcolatrice programmabile troppo cresciuta: stava nascendo la metafora della scrivania. Con una decina di anni di ritardo, ma con una fanfara pubblicitaria degna di nota, la principale casa mondiale di distribuzione di software commerciale per PC propose di portare “un PC su ogni scrivania”, trasformando lo strumento utilizzato da affermati professionisti, ingegneri, matematici e architetti in una sorta di console per videogiochi geneticamente modificata: era il periodo degli OGM-PC.

Da allora molta acqua è passata sotto i ponti, ma come accade nella migliore tradizione, nessuno si curò di installare un depuratore a valle, e l’acqua non riciclata iniziò a maleodorare ed a minare le basi di ogni edificio basato sulla tecnologia informatica. Più o meno.

Open Source

La ventata di aria nuova (tanto per restare nel meteorologico) venne prodotta dall’utilizzo di BBS come magazzino per la distribuzione del software: chiunque avesse sviluppato un programma ritenuto utile dalla comunità poteva metterlo a disposizione gratuitamente o tramite pagamento di un compenso minimo o virtuale (si parlava di beerware, di cardware e di admirationware). Ma l’ambiente informatico, complice la metafora della scrivania, si stava allargando a macchia d’olio (in realtà era macchia di leopardo, ma ancora non si possedevano gli strumenti per definirla tale): programmatori e sistemisti iniziarono un ciclo produttivo senza eguali nella storia (siamo nel decennio 1980–1990), e programmi di utilità sempre più complessi ed effettivamente “utili” produssero nuove esigenze nell’utente quadratico medio, tanto da spingere i colossi del software commerciale a correre ai ripari. Ma oramai i buoi erano scappati, e lo spirito di emulazione, volano trainante di tutte le scoperte tecnologiche, spingeva i programmatori “in erba” a pubblicizzare il proprio lavoro, sovente ricco di originali escamotage, fornendo il codice sorgente assieme all’eseguibile.

Progetti distribuiti

La tecnologia non accetta paletti, a meno che a porli siano multinazionali che difendano i propri interessi economici. Fu così che una crescita particolarmente fruttuosa nel campo della progettazione software non ebbe come controaltare un valido adeguamento dell’hardware: i sistemi operativi dovevano garantire la compatibilità “all’indietro”, e questo significava di fatto bloccare l’introduzione o lo sfruttamento di novità sostanziali nella nuova ferraglia. Vi furono, è vero, tentativi scientifici sperimentali di produrre salti quantici nello sviluppo di nuove idee e progetti di computer: il progetto APE, ad esempio, dono tecnologico dell’Istituto Nazionale di Fisica Nucleare, e le schede Transmeta tentarono timidamente di percorrere strade che si discostavano sostanzialmente dal paradigma EDVAC presentato da Von Neumann, percorrendo la strada dell’elaborazione parallela; purtroppo gli investitori inizialmente molto interessati alla novità si trovarono in un secondo tempo demotivati, e lo sviluppo venne rallentato e sacrificato ad altri progetti.

Ma se i fondi tardano a giungere, le idee volano: l’idea di affrontare in gruppo compiti che necessitassero un parallelismo massiccio affondò profondamente le proprie radici nell’immaginario collettivo, e nacquero i primi progetti distribuiti. Si trattava di creare dal nulla strutture dinamiche in grado di suddividere un compito apparentemente arduo in migliaia di sotto-operazioni semplici, senza tuttavia l’overhead prodotto dalla tecnologia RISC. In pratica migliaia di utenti di computer personali offrirono parte del proprio tempo macchina per risolvere settori di problemi altrimenti non affrontabili globalmente nel campo della fisica[1], della medicina[2], della fisica[3] e della matematica[4].

Middleware

Il presente dei progetti distribuiti si arricchisce continuamente di nuovi adepti; in questi casi fiorisce sempre un sottobosco di tecnici che tentano di aggiornare e migliorare le condizioni di utilizzo dell’utenza. Negli ultimi dieci anni abbiamo assistito alla presentazione di diversi sistemi middleware open source in grado di consentire il passaggio di messaggi di sistema tra sistemi operativi differenti (anche proprietari). Il risultato netto di una simile messe di prodotti ha consentito di estendere il concetto di progetto distribuito: non è più necessario, infatti, fornire un client appositamente progettato ed in grado di comunicare con un server sul quale i risultati dei sottoprogetti completati vengono assunti ed elaborati, in quanto le unità di elaborazione sulla rete riconoscono tramite il middleware il soggetto e l’oggetto della trasmissione e lavorano di conseguenza. In altri termini, la rete stessa non viene più trattata come un vettore, bensì come una sorta di sottosistema esperto in grado di redistribuire “quanti” di informazione alle stazioni di lavoro in grado di offrire tempo-macchina. Attualmente simili sistemi sono estesamente testati all’interno degli ambienti universitari che li producono, ma in un prossimo futuro potrebbero costituire un nuovo salto quantico nel vasto panorama della scienza dell’informazione.

Futurware?

“Chi vuol esser lieto sia, di doman non v’è certezza…” cantava il Magnifico intorno al quindicesimo secolo. Mai alcuna incerta previsione fu più azzeccata! Tanto sintatticamente quanto semanticamente, quantunque per ragioni diametralmente opposte. L’incertezza del futuro, intesa come incapacità nel definire uno stato assolutamente certo, è la chiave dominante dello studio della fisica quantistica, oltre a fornire ampio materiale a sempre nuovi (e quasi sempre fisicamente sbagliati) romanzi di fantascienza. Non parleremo, tuttavia, in questo numero, di computer quantistici (che rappresenteranno probabilmente un titolo per una prossima puntata), bensì di particelle virtuali di elaborazione. Sempre di fisica quantistica si tratta…

Come abbiamo visto, ad una esplosione del fenomeno del software open source ha fatto immediatamente eco la crescita di sistemi distribuiti e di infrastrutture atte a condividere l’informazione a basso livello. Ora, sin quando è il dato a venir condiviso, non ci viene in mente alcun avanzamento della tecnologia: già ora i vari sistemi di file-sharing peer to peer inondano la già ristretta banda disponibile; ma con un agile, abile salto dell’intelletto non risulta troppo difficile rappresentare una rete nella quale non sono tanto i bit d’informazione ad essere condivisi, quanto appunto particelle virtuali di elaborazione. In sostanza, ciascun computer connesso alla rete dispone di una quantità di tempo-CPU inutilizzato (idle) pari a circa il 93%: sarebbe un’abile mossa strategica rendere fruibile a tutti l’accesso di ciascuna CPU che si affacciasse sulla Rete. Ovviamente i “gelosi” delle proprie risorse avrebbero come possibilità di scelta quella di mantenere le proprie risorse scollegate, ma non ne varrebbe la pena: come oramai sappiamo sin troppo bene, la quantità di tempo-CPU disponibile in rete è di gran lunga maggiore del maggiore supercomputer disponibile (o non disponibile perché di uso privato). Se qualcuno storcesse il naso all’idea che il proprio sudato hardware fosse utilizzato da altri, iniziasse a pensare a quanta informazione viene catturata gratuitamente dal Web… magari persino le grandi compagnie da sempre ostiche al file-sharing avrebbero da guadagnarci.

E la privacy? Niente paura, con i sistemi di cifratura a chiave pubblica ciascuno avrebbe il pieno controllo dei propri dati, impedendone l’accesso ai malintenzionati: finirebbero i tentativi di intrusione non autorizzata (da entrambe le parti) in quanto in una simile comunità ogni utente sarebbe sensibilizzato a mantenere protette le informazioni di valore: non succede forse già da ora con denaro e titoli? Piuttosto la sicurezza aumenterebbe in quanto la gestione dei dati sensibili non verrebbe più demandata ad altri. È infatti semplice ipotizzare in questo modo un rivoluzionamento dei concetti di gestione dei dati: ciascuno sarebbe responsabile dell’unicità e della veridicità delle informazioni utilizzate, ed a nessuno sarebbe possibile creare copie false o doppie della propria identità, pena il decadimento del proprio status reale. In più, come valore aggiunto, chiunque fornisse alla Rete un quanto di elaborazione virtuale in più (ovvero chiunque avesse un computer connesso, poco importa quanto potente) avrebbe accesso illimitato o quasi alle risorse di calcolo.

Ma il punto maggiormente interessante di questa rivoluzione planetaria sarebbe quello che tutti noi abbiamo quotidianamente sotto gli occhi a livello di Web: non sarebbero necessari controllori, in quanto un simile sistema sarebbe assolutamente autogestito: come il nostro corpo si libera delle cellule morte, così la Rete Futura sarebbe in grado di autoadattarsi alle caratteristiche fornite dai nuovi elaboratori. Con il valore aggiunto di riconoscere e bloccare sul nascere qualsiasi “tumore” composto da tentativi di accentrare in un’unica sede reale un eccessivo numero di unità di elaborazione virtuale, attraverso un oculato sistema di gestione di tipo divide et impera.

Conclusioni

Il futuro di Internet potrebbe essere proprio questo… a patto che ciascuno accettasse di rispettare i propri doveri ed i diritti altrui. Tra i possibili scenari fantascientifici futuri, questo appare come il più semplice ed immediato da conseguire.

Purtroppo, allo stato attuale della società mondiale, proprio per questa ragione temo che rappresenterà solamente l’ultima conquista del cammino del Genere Umano.

Poscritto

Scrissi questo articolo nel lontano 2004, dodici anni or sono, preconizzando sviluppi del settore IT che vennero puntualmente verificati. L’uso di nanotecnologie in biologia, la IoT, le reti neurali che gestiscono bot di autoapprendimento dimostrano una volta di più quanto l’avanzamento tecnologico sia spesso persino più rapido della fantasia più sfrenata.

Ciò che ancora si ostina a presentarsi nella propria forma più pedissequa e iremovibile non è l’intelligenza artificiale, bensì la stupidità naturale.

Bibliografia

[1] http://www.climateprediction.net/index.php

[2] http://www.find-a-drug.org/

[3] https://https://www.einsteinathome.org/

[4] http://www.gimps.it

--

--

Lavoro per contribuire al mutamento dei settori cardine della computer science e per offrire sintesi ragionate e consulenza ad aziende e pubblicazioni ICT.