venerdì 26 dicembre 2008

ZFS (file system) - Capacità e Limiti

-------------------------------------------------------------------
ZFS è un file system open-source sviluppato dalla Sun Microsystems per il suo sistema operativo Solaris. È stato progettato da un team con a capo Jeff Bonwick. Il nome originario doveva essere "Zettabyte File System", ma è diventato un acronimo.
ZFS è noto per la sua alta capacità e per l'integrazione di diversi concetti presi da vari file system in un unico prodotto.
ZFS fu annunciato nel settembre del 2004[1]. Il codice sorgente fu rilasciato assieme a quello di Solaris il 31 ottobre del 2005[2] e rilasciato nella build 27 di OpenSolaris il 16 novembre 2005. ZFS fu fornito assieme all'aggiornamento 6/06 di Solaris 10 nel giugno del 2006[3].
Nel giugno 2007 viene annunciata l'adozione di ZFS anche per il Mac OS X Leopard di Apple, notizia inizialmente smentita nel corso del WWDC07 da Brian Croll, senior director di product marketing per Mac OS, che ha dichiarato che “ZFS non ci sarà", salvo poi smentire le smentita. ZFS non sarà comunque il file system principale di Mac OS 10.5 Leopard ma piuttosto affiancherà HFS+ .
ZFS è un file system a 128-bit, potendo fornire uno spazio di 16 miliardi di miliardi (16 quintilioni) di volte la capacità dei file system attuali a 64-bit. I limiti del ZFS sono stati progettati per essere così ampi da non essere mai raggiunti in una qualsiasi operazione pratica. Bonwick affermò che "per riempire un file system a 128 bit non sarebbero bastati tutti i dischi della terra".
Ecco alcuni limiti teorici del ZFS:

2^48 — numero di snapshot (2 × 10^14);
2^48 — numero di file (2 × 10^14);
16 exabyte — dimensione massima di un file system;
16 exabyte — dimensione massima di un file singolo;
16 exabyte — dimensione massima di un attributo;
3 × 10^23 petabyte — dimensione massima di uno zpool;
2^56 — numero di attributi di un file (attualmente limitato a 2^48);
2^56 — numero di file in una directory (attualmente limitato a 2^48);
2^64 — numero di device per ogni zpool;
2^64 — numero di zpools;
2^64 — numero di file system in uno zpool.
Un utente che volesse creare mille file al secondo, impiegherebbe 9000 anni a raggiungere il limite.
--------------------------------------------------------------------------------------------
« Anche se ci piacerebbe che la legge di Moore possa continuare per sempre, la meccanica quantistica impone alcuni limiti fondamentali sul calcolo computazionale e sulla capacità di memorizzazione di una qualsiasi unità fissa. In particolare è stato dimostrato che un chilo di materia confinata in un litro di spazio può effettuare al massimo 10^51 operazioni al secondo su al massimo 10^31 bit di informazioni (vedere Seth Lloyd, "Ultimate physical limits to computation." Nature 406, 1047-1054 (2000)). Un pool di storage a 128-bit completamente riempito dovrebbe contenere 2^128 blocchi (nibble) = 2^137 bytes = 2^140 bits; quindi lo spazio minimo richiesto dovrebbe essere (2^140 bit) / (10^31 bits/kg) = 136 miliardi di kg.Con il limite dei 10^31 bit/kg, l'intera massa di un computer dovrebbe essere sotto forma di energia pura. Secondo l'equazione E=mc^2, l'energia residua dei 136 miliardi di kg è di 1,2x10^28 J. La massa dell'oceano è circa 1,4x10^21 kg. Occorrebbero 4.000 J per aumentare la temperatura di 1 kg di acqua per 1 grado Celsius e circa 400.000 J per bollire 1 kg di acqua ghiacciata. La fase di vaporizzazione richiede altri 2 milioni di J/kg. L'energia richiesta per bollire l'oceano è circa 2,4x10^6 J/kg * 1,4x10^21 kg = 3,4x10^27 J. Quindi, riempire uno storage a 128-bit dovrebbe richiedere più energia che bollire gli oceani. »

Nessun commento: