Archive for the Category » Informatica «

C++ & OpenMP

Monday, May 24th, 2010 | Author:

Molto spesso a causa del mio lavoro mi trovo a dover implementare particolare algoritmi euristici sviluppati dal gruppo di ricerca con cui lavoro. Altrettanto spesso queste euristiche devono essere confrontate con la controparte esaustiva (o a forza bruta) per poter stimare quali sono i reali vantaggi nell’utilizzo dell’euristica rispetto ad un approccio a forza bruta. Fondamentalmente si è interessati a confrontare il rapporto qualità della soluzione rispetto al tempo “risparmiato” al crescere della dimensione del problema. Recentemente mi è capitato di dover lavorare su un problema la cui dimensione cresceva esponenzialmente rispetto ai dati di ingresso: come è facile immaginare la ricerca di una soluzione esaustiva diventava impraticabile (considerando i tempi necessari per poterla ricavare) anche con relativamente pochi dati iniziali. Proprio per questo ho fatto una veloce ricerca per vedere se riuscivo a trovare una libreria che mi permettesse con poco sforzo di parallelizzare l’algoritmo esaustivo in modo da poter sfruttare gli otto thread paralleli (ripartiti su 4 processori) disponibili sul mio Intel core i7 Q720.

Sono stato fortunato due volte:

  • prima fortuna: mi sono imbattuto in questa API: OpenMP (The OpenMP API specification for parallel programming);
  • seconda fortuna: viene supportata sia da MS Visual C++ (dalla versione 2005) che da GCC… anche se sotto Visual C++ non è possibile utilizzare la versione più recente (la 3.0) ma solamente la (2.0).

OpenMP mi è sembrata subito una risposta interessante al mio problema iniziale e quindi ho deciso di provarla sul campo e ne sono rimasto piacevolmente soddisfatto. Non potendo riportare qui quello su cui sto lavorando (l’articolo non è ancora uscito) vi presenterò un esempio ad hoc e vedremo come “modificarlo” (operazione necessaria utilizzando la versione 2.0 di OpenMP) e analizzeremo i miglioramenti di prestazioni ottenuti.

more…

I computer si “impallano”… noi no

Thursday, May 13th, 2010 | Author:
Bacterium vs Linux

Sulla sinistra la rete che rappresenta il E. Coli. Sulla destra la struttura che rappresenta il Sistema Operativo Linux.

Gli studiosi dell’Università di Yale hanno recentemente condotto una interessante ricerca in cui comparano la struttura di un moderni Sistemi Operativi con quella degli organismi viventi, partendo dall’interessante analogia per cui il Genoma può essere considerato il Sistema Operativo per gli esseri viventi. Per l’esattezza hanno comparato un Sistema Operativo basato su Linux con un bacterium Escherichia coli.

I risultati sono interessanti e sono fondamentalmente riassunti dall’immagine presente in questo post.

In questa immagine si può notare sulla sinistra la rete (di controllo) del bacterium Escherichia coli, mentre sulla destra è rappresentata la rete (di chiamate) del sistema operativo Linux. Come si vede entrambe le reti sono organizzate in gerarchie, ma hanno una fondamentale differenza.

La rete del bacterium è organizzata a livello piramidale dove “in cima” sono presenti pochi geni che organizzano il lavoro dei geni che si trovano “alla base” che possono lavorano in modo indipendente e parallelo. La rete del Sistema Operativo, invece, è quasi completamente invertita: le funzionalità di un Sistema Operativo (“in cima”) sono costruite a partire da poche funzionalità comuni (“in basso”).

more…

Evangelion

Tuesday, March 09th, 2010 | Author:
Evangelion

Evangelion

Da qualche settimana mi sto divertendo con Windows 7, ma per ora non mi sbilancio sul nuovo nato di casa Microsoft.

Infatti questo (piccolo) post è solo per rendere disponibile a tutti quello che lo vogliono un tema per questo sistema operativo. Il tema in questione riguarda Neon Genesis Evangelion e quindi (come direbbe la mia amica Barbara) è un po’ da Nerd 🙂

Ecco il link per scaricare il tema: Evangelion.themepack. Come extra se proprio adorate Evangelion e utilizzate Firefox con il plugin Personas potete anche installare il tema per Firefox 😉

Buon download 🙂

more…

Google condannata… sono preoccupato [Google has been convicted… I’m worried]

Thursday, February 25th, 2010 | Author:
The new Google Logo

The new Google Logo

Questa mattina alla radio ho sentito una notizia che mi ha fatto preoccupare davvero: il Tribunale di Milano ha condannato Google (o meglio i suoi dirigenti italiani) per violazione della privacy.

Ma partiamo dall’inizio: vediamo quali sono i fatti che hanno portato a ciò.

I sostituti procuratori Alfredo Robledo e Francesco Cajani hanno portato in giudizio Google perché rea di aver permesso la pubblicazione di un video dove di bullismo scolastico ai danni di un ragazzo down.  La tesi dell’accusa fondamentalmente si può riassumere nel fatto che Google non opera un controllo sui video pubblicati dai suoi utenti per aumentare i suoi guadagni (più video = più utenti = più inserzionisti = più guadagni). I reati contestati erano: violazione della privacy e diffamazione.

more…

Il fantastico mondo delle review

Friday, February 19th, 2010 | Author:

Ieri mi è stato passato un articolo interessante (e abbastanza vecchio) comparso sul numero di dicembre 2005 della rivista Computer (volume 38 n. 12) della IEEE. L’articolo, intitolato “We Are Sorry to Inform You …”, porta la firma di Simone Santini dell’University of California, San Diego.

L’articolo è visibile sul sito dell’IEEE (naturalmente) ma anche sul sito di questo professore (Yuguang “Michael” Fang) dell’University of Florida.

Perché questo articolo è fantastico?

more…