Sun punta su Grid
Grid is a type of parallel and distributed system that enables the sharing, selection, and aggregation of geographically distributed "autonomous" resources dynamically at runtime depending on their availability, capability, performance, cost, and users' quality-of-service requirements [www.gridcomputing.com]
Sono notevoli gli sforzi e gli investimenti di Sun Microsystem su Grid.
Innanzitutto ha mosso una delle sue pedine più importanti: Jim Waldo (un guru: ha lavorato in HP sulla prima implementazione di un object broker CORBA e in Sun su Jini; consiglio vivamente di leggere il suo famoso articolo "Note on distributed computing", una perla di computazione distribuita, dove viene illustrata la "filosofia" del'"end-to-end argument").
A prova di ciò questo suo intervento su Artima, davvero illuminante, mostra il suo lavoro all'interno del progetto Neuromancer (tra cui l'esempio in cui un sistema software gestisce i sensori medici di 300 milioni di americani). E anche se non viene citata espressamente il termine Grid, siamo molto vicini alla definizione sopra.
Un altro fatto che mi ha sorpreso è stato l'uscita di Sun Grid Compute Utility: una libreria java che punta ad utilizzare la potenza di calcolo di enormi reti di calcolatori in maniera semplice, attraverso un approccio task-based. L'idea di Sun è quella di offrire un enorme rete di 5000 macchine (SunGrid) e poterla affittare su richiesta (i costi sono per processori per ora). Insomma, pensate che la potenza di calcolo diventi qualcosa di fruibile e utilizzabile nelle stesse modalità con cui usiamo energia elettrica.
A completare l'opera, Sun ha anche organizzato un developer contest con ben 50.000 $ di montepremi: Cool Apps Developer Contest.
Non c'è che dire... alla Sun in molti credono a questo progetto, e i soldi investiti lo dimostrano.
A me rimane un po di scetticismo su come convincere i centri di ricerca legati al calcolo parallelo intensivo, che poi dovrebbero essere i grandi utilizzatori di questa tecnologia, ad usare Java. Davvero qualcuno di loro rinuncerebbe all'efficienza di sistemi C-based (ad esempio MPI), per la facilità d'uso di Java?