Google File System – Come funziona e la sua Architettura

Google Data Centers - File System Distributed

Ultimamente mi sono interessato ai File System Distribuiti, usati da una miriade di Sistemi di Calcoto Distribuiti ( HPC, Cluster, Sistemi GRID ), grazie alla peculiarita’ di poter immagazzinare enormi quantita’ di dati che altrimenti non potrebbero essere immagazzinate su un singolo disco rigido.

Immaginate un Sistema come quello di Google, con migliaia di cluster e centinaia di Terabyte di dati da gestire. Un Sistema in grado di visualizzare in pochi secondi e da qualsiasi parte del mondo tutte le vostre mail, tutti i vostri documenti, tutte le vostre immagini. Un Sistema che non ammette Failure o perdita di dati alcuna ( Spero almeno che i Crawlers di Google dopo questa premessa aumentino il SiteRank del blog 😛 ).

Google File System ( GFS o GoogleFS ) è il lavoro di anni di ricerca ed implementazione da parte del settore ricerca e sviluppo di Google, l’idea alla base dell’architettura deriva direttamente dai due fondatori di Google: Larry Page e Sergey Brin quando ancora studiavano a Stanford e pensavano ad un File System che soddisfacesse tale definizione:

“store data reliably even in the presence of unreliable machines”

che tradotto significa: “Immagazzinare dati in maniera affidabile anche in presenza di macchine inaffidabili”. Infatti la maggior parte dei computer utilizzati da Google sono formati da componenti economiche che molto spesso crashano o si rompono, per tale motovo il File System da usare doveva avere un alto grado di tollerenza ai guasti.

Leggi tutto “Google File System — Come funziona e la sua Architettura”

Trivial Post..

Era da molto che pensavo a questo post, a come organizzarlo e a come renderlo il più introspettivo possibile 😀 ma alla fine sto scrivendo piu’ o meno quello che mi passa per la mente..

Qualcuno mi ha insegnato che nella vita, spesso le cose più semplici sono anche le più sincere, per cui non prendetevela se non uso paroloni ( non ne conosco ) e non articolo in modo ottimale il costrutto ( non sono mai stato bravo in Italiano) 😀

C’è un giorno, un solo giorno in cui ti accorgi che la vita è una successione di giorni diversi, una collezione di fotografie, che lascerai ad altri, nella speranza che ne conservino qualcuna.

Una delle più belle citazioni che ho trovato ultimamente girovagando sul web, si lo ammetto sono ossessionato dalle citazioni.. credo che riescano a comunicare concetti complessi usando “semplici” parole. Spero che questo umile e disarticolato blog possa lasciarvi un piccolissimo segno ( non per forza positivo ) nella vostra vita.. vabbè a volte esagero un po’ 😀

Sono un po’ di giorni che non aggiorno il blog con qualche articolo ( semi-serio ) o con altro materiale..e’ vero non ho scusanti ma sono stato occupato tra lo studio “matto e disperato” ed un progetto di Laboratorio di Ingegneria del Software ( presto faro’ un articolo sulla parte in cui mi sono cimentato in prima persona). Nel caso non lo aveste ancora capito, sono uno studente universitario scapestrato iscritto alla facoltà di Ingegneria Informatica, eccovi spiegati tutti i post un po’ più tecnici che trovate sul blog, sono tutta colpa dei miei studi e della mia passione.. l’informatica 😀

Lo scopo iniziale del post era quello di postarvi i link ai siti web che consulto più di frequente, ma credo che rimandaro’ il tutto ad un post successivo dato che stasera avevo solo voglia di digitare qualche tasto a caso sulla tastiera e cercare di passare qualche minuto di relax con una canzone nelle cuffie ed un cursore lampeggiante davanti agli occhi..

Oggi e’ uno di quei giorni in cui si e’ passato tutto il giorno vicino al calcolatore ( lasciatemi usare qualche parolone da Ingegnere Informatico 😛 ) cercando di combinare qualcosa ( nel mio caso il progetto di Labis e le Java Applets ) e non vedi l’ora di andare a letto ed immergersi nella lettura di qualche pagina di qualche libro comprato da qualche parte su internet.. nel mio caso il libro in questione si chiama “Il Vincitore e’ solo” di Paulo Coelho. Nulla di meglio di una lettura leggera e scorrevole per rilassarti..

Vabbe’ credo di aver sprecato gia’ troppi byte sul database.. vi posto un’immagine che mi ha colpito particolarmente e spero di rendere questo post meno inutile di quanto in realta’ lo sia..

Ecco il link originale all’immagine..

http://www.flickr.com/photos/48564079@N06/5335966811/lightbox/

Modulo Driver Kernel Chardev – /proc e /dev

Sul web girano migliaia di Moduli Kernel minimali come questo, pero’ la maggior parte di loro sviluppa solo la parte relativa alla creazione del Device Driver Char (Ex. /dev/chardev) e non la parte relativa alla stessa implementazione usando il Virtual FileSystem /proc.

Il seguente modulo implementa entrambe le soluzioni, sia la funzione di lettura
[sourcecode language=”bash”]$ cat /dev/chardevice[/sourcecode]
[sourcecode language=”bash”]$ cat /proc/chardevice [/sourcecode]
che di scrittura
[sourcecode language=”bash”]$ echo “prova” > /dev/chardevice [/sourcecode]
[sourcecode language=”bash”]$ echo “prova” > /proc/chardevice [/sourcecode]
del file virtuale in /proc/chardevice che il device driver in /dev/chardevice

Il Major Number viene generato a run-time, per cui non utilizzare un numero a “casacciao” ma leggete i log del kernel per vedere quale numero vi e’ stato assegnato dal kernel stesso.

chardev.c
[sourcecode language=”c”]
#include
#include
#include //header per la struct del file_operations
#include
#include
#include

Leggi tutto “Modulo Driver Kernel Chardev — /proc e /dev”

TopHost: Redistribuire Spazio tra i servizi Web MySql Mail

E’ già da qualche mese che il blog è online ( esattamente dal 24/10/2010 ) e deve dire che di solito mi “scoccio” abbastanza presto dei capricci che spesso mi vengono in mente, questa volta devo dire che la cosa mi appassiona e mi spiace per te, malcapitato lettore, ma dovrai sopportami per un bel pò 😛

Ritornando al titolo del post, senza divagare ulteriormente, ho fatto accesso al Pannello di Amministrazione di TopHost ( devo ammettere un servizio low-cost impeccabile fino ad ora ) per controllare lo stato dei servizi e la distribuzione dei 500 MB messi a disposizione dal provider ed ho notato che lo spazio del database MySql era in esaurimento

Guardando la linea rossa lampaggiante in basso alla schermata mi sono subito preoccupato credendo di aver esaurito lo spazio totale del mio Database. Infine facendo una piccolisissima ricerca sul web mi sono accorto che il provider permette la re-distribuzione dello spazio dei servizi ( di default lo spazio Mysql è 5000 KB pari a 5 MB ) e per tale motivo basta solo aumentare lo spazio dedicato al database, ovviamente rispettando sempre il limite totale dei 500 MB messi a disposizione per ogni host.

Leggi tutto “TopHost: Redistribuire Spazio tra i servizi Web MySql Mail”

DD-WRT: D-link DIR-300 Ottima Alternativa a La Fonera

Chiunque abbia mai usato un Firmware DD-WRT sul proprio router/modem e’ difficile che si accontenti dei Firmware originali rilasciati dalle case produttrici. Ho iniziato, come immagino la maggior parte di voi, con i primi router Fonera ( Fon2200, Fon2201) rilasciati a basso costo ( 15 euro cadauno ) e “patcharli” per metterci sopra questo fantastico Firmware Linux Open-Based.

Da allora non ho mai piu’ acquistato un router che non potesse essere patchato per il DD-WRT, grazie anche al fatto che la mia scorta di Fonera, grazie al loro basso costo, era molto ampia. Purtroppo oggi non si riescono piu’ a trovare Fon2200 o FON2201 a costi “accessibili” per cui grazie ad un amico ( il mitico Frank 😀 ) sono venuto a conoscenza di una valida alternativa: D-Link DIR-300.

Esistono due modelli del Dir-300: Rev A1 e Rev B1 ed entrambi possono essere facilmente patchati per far girare il DD-WRT.

La guida Per Dir-300 Rev A1 e’ un po’ piu’ da smanettoni ( ma non esageratamente 😛 ) in quanto si deve per prima cosa caricare un bootloader in modo da poter accedere alla scrittura della memoria non volatile e poi caricare il firmware nella memoria del dispositivo ( lo stesso meccanismo utilizzato per le Fonera), tutto questo perche’ ha un hardware molto differente rispetto alla Rev B1

La guida per il Dir-300 Rev B1 e’ davvero semplicissima, il tutto viene effettuato tramite web-browser direttamente dalla pagina di amministrazione del router semplicemente aggiornando il firmware D-Link con quello DD-WRT.

Leggi tutto “DD-WRT: D-link DIR-300 Ottima Alternativa a La Fonera”

Immagine Dinamica Einstein

Puoi cambiare il testo all’interno dell’immagine semplicemente digitando il contenuto che vorrai nella TextBox sottostante.
Dopo aver premuto “Preview image” verrai re-indirizzato ad un altra pagina web con l’immagine finale





Stiamo sviluppando il nostro script per la creazione delle immagine dinamiche.. dacci ancora un pò di giorni e vienici a trovare di nuovo (siamo in vacanza anche noi 😛 )