Sunday, October 18, 2009

128-bit pointers?

We are going (slowly) on the desktop and laptop over to 64-bit machines with 64-bit pointers. Of course, there are still lots of people/organisations using 32bitXP - but let's ignore them.

Would anyone want 128bit pointers?

What if we want memory mapped hard disk systems? Not just memory mapped files but entire hard disks mapped to the byte (byte addressable effectively) by pointers.

At the moment single hard disks for computers are up to the terabyte range (10^12 or 1000^4). Some organisations are using petabyte sized data sets (10^15 or 1000^5).

A 64 bit pointer can address 2^64 = 1.8 * 10^19 = 1.8e19 = 18*1000^6 = 18 exabytes.

1 hard disk today is 1TB ... only a 18,000,000 difference-not much! 25 years ago I was using 1KB RAM, today 2GB ... (assuming storage technologies continue to advance).

A set of disk drives for a large data set (several petabyte) is only 1,000 times as big to 18 exabytes

Not realistic? Someone said that Google was using 100 exabytes of data storage in 2007. That's bigger than a 64-bit pointer. They are not the only people talking about exabyte amounts of data...

Of course, do they need to byte address all of this? But remember, already many operating systems allow you to access files as memory mapped files.

The real world:

ZFS is a 128-bit file system. However, it only allows for 16EiB in a single file and file system. ext4 and NTFS support volumes up to 1 exabyte in size. HFS+ supports up to 8EiB file systems and file size.


Post a Comment

<< Home

Newer›  ‹Older