informatica

You are currently browsing articles tagged informatica.

Viviamo nell’era dell’informazione e questa non è una novità. Da qualche anno siamo abituati a sentire parlare di Gigabyte e da un po’ sono spuntati i Terabyte — e nell’uso domestico, per un po’ di tempo, almeno qualche anno, le unità di riferimento rimarranno queste. Le prospettive cambiano quando ci si addentra nel mondo del calcolo intensivo, non propriamente diffuso in ambito domestico ma piuttosto in quello scientifico o industriale. Si  sale senza inibizioni a ordini di magnitudine ben più accattivanti (Petabyte, un milione di Giga). Qualche esempio concreto:

Trattare Petabyte di dati è una sfida per la ricerca sia a livello tecnico, sia a livello teorico. Da un punto di vista tecnico si è tutti testimoni dell’alta velocità in cui la tecnologia avanza — si pensi alla Legge di Moore. Tuttavia il problema dei dati non è gestibile pensando di aumentare all’infinito la potenza e la capacità dei singoli componenti o dei calcolatori. La tecnologia semplicemente non riesce a far fronte all’esigenza di potenza di calcolo e capacità di memoria (soprattutto volatile, es. banchi di Ram) che l’esplosione dei dati ha prodotto — inoltre, seppure fosse possibile sviluppare determinato Hardware ad alta prestazione, il risultato sarebbe tremendamente costoso e non alla portata di tutti.

È necessaria pertanto affrontare la gestione di grandi moli di dati cercando strategie teoriche che, ad esempio, ammettano l’uso parallelo di più macchine permettendo un certo grado di scalabilità. Da un punto di vista teorico il ricercatore informatico deve affrontare il problema — almeno secondo Jimmy Lin et al. nell’introduzione del suo libro Data-intensive Text Processing with MapReduce – su tre piani:

  1. Dati in sé (come ricavarli, quindi tutta l’area del crawling e della costruzione di corpora…)
  2. Rappresentazione dei dati (dove e come rappresentarli in supporti di memoria centralizzati o distribuiti, volatili o non, quindi: strutture dati,  modelli relazionali, SQL o NoSQL, metadati, semantica…)
  3. Elaborazione dei dati (come trattarli, quindi algoritmi paralleli e distribuiti, data mining, cloud computing ecc.)

Chiaramente le aree non sono compartimentate, ma presentano un’ampia sovrapposizione. Ad esempio, si pensi alle strutture dati utilizzate per una sessione di crawling: il ricercatore dovrà considerare come ricavare i dati grezzi (punto 1) ma anche occuparsi di come rappresentarli (punto 2) in attesa dell’elaborazione. Come al solito nelle scienze è difficile tratteggiare linee di frontiera tra le varie aree di ricerca, soprattutto quando all’interno di una stessa macro-area (in questo caso, l’informatica). Tuttavia, tutto ciò che ruota attorno ai dati per comodità può essere visto come un campo di ricerca a sé stante. Molti la chiamano Information Retrieval (IR) — ma forse un termine più generico è quello di Scienza dei dati (in inglese, Data Science).

Fare ricerca nel campo della Data Science non è più privilegio di grandi aziende con cospicui capitali da investire. Oggigiorno, anche il singolo ricercatore  (o persino uno studente curioso!) può lavorare in ambienti liberamente fruibili (come il framework Hadoop, che, come vedremo, offre strumenti programmativi per l’analisi distribuita di dati), e lanciarli in cluster grandi a piacere grazie ai servizi elastici di cloud computing on demand (ad esempio il servizio Amazon EC2, ove si paga ciò che si consuma).

Nelle prossime puntate vi racconterò del modello MapReduce, proposto da Google Labs nel 2004 — che offre un modello programmativo per l’elaborazione distribuita di dati — e di Hadoop — un framework libero offerto da Apache che lo implementa.


Jacopo O. (twitter)

Tags: , ,

Volenti o nolenti lo vediamo tutti molto spesso: spunta dalle borsette, dalle tasche dei jeans, dalle cartelle per i laptop, troneggia su eleganti scrivanie e in  monolocali per studenti.  Onestamente non mi sono mai chiesta perchè il simbolo della Apple fosse una mela, morsicata per giunta.Questo finchè, nella mia decisione di capire che cosa fosse l’informatica teorica non mi sono imbattuta nell’ingombrante (in senso metaforico) figura di Alan Turing.  Su quanto abbia fatto quest’uomo per la scienza e in senso più ampio per l’umanità intera si trova abbondantemente sul web. La società del suo tempo, bigotta e decisamente ottusa, non gli rese però il favore, non tollerando la sua omosessualità o forse ancora di più la sua difesa di essa (era perfettamente consapevole di non stare facendo nulla di sbagliato) e lo costrinse a una “cura” che di fatto si rivelò essere una sorta di castrazione chimica che devastò il suo organismo. Nel 1954, un anno che non è neanche così lontano,  si suicidò con una mela avvelenata di cianuro: è sorta la leggenda metropolitana, che la Apple non ha mai confermato ma neppure smentito, secondo cui il famoso logo fosse in suo omaggio. Cercando in rete notizie su questo logo si trova ogni sorta di ipotesi, tra cui il riferimento alla mela di Newton e a quella di Adamo ed Eva (con tanto di morso della conoscenza). Pare però che tutti questi riferimenti, almeno stando a un’intervista concessa dal designer Rob Janoff , non siano legato al logo Apple. Nulla ci vieta però di pensare che, in fondo, Alan Turing se lo sarebbe meritato.

Tags: , , , ,

Mi ero promessa di scrivere questo post una volta che avessi letto tutto il blog in questione, ma poco fa mi sono resa conto che allora avreste visto questo articolo in un futuro molto remoto vista la vastità del sito. Sentivo però il dovere di parlarne perchè merita decisamente l’attenzione di chiunque si occupi di scienza.

In particolare è da consigliare a chi si interessa di matematica e di Informatica (con la I maiuscola, in poche parole chi considera l’informatica non come la scienza di photoshop, ma come la teoria che si occupa dell’informazione nel senso più generale del termine, niente contro che usa bene Photoshop, anzi) perchè contiene alcune collezioni notevoli di lezioni, molto interessanti e gradevoli da leggere intitolate ad esempio Quantum Computing since Democritus, oppure Great Ideas in Theoretical  Computer Science.

Credo che possano interessare davvero a tutti invece alcuni post dedicati alla scienza in generale e in particolare modo alla divulgazione scientifica come questo , oppure questo. In particolare vorrei ancora condividere queste parole che credo siano davvero importanti:

“Here’s my advice: write the most informal, sloppy, essayistic, stream-of-consciousness, conversational papers you can possibly get away with. Write as if you were firing off an email to a skeptical but impatient friend. I promise to do my part by reviewing such papers leniently (at least in terms of the presentation), and no longer demanding pointless revisions.”

Su questo (magari leggendo il post in questione potete focalizzare meglio il problema) credo di avere poco da dire, in quanto sono ancora molto lontana da dover scrivere un vero articolo scientifico, però se non altro si tratta di una voce “fuori dal coro” e credo che se davvero le migliori menti del mondo devono dedicare troppo tempo alla burocrazia, forse ne risentiamo tutti… Ma forse sono ancora troppo inesperta per capire!

Tags: , , ,