Skip to content

πfs: The Filesystem of the Future!

I’m very pleased to announce that after eight years of research and development, I can present the world’s most revolutionary filesystem: πfs!

What is πfs?

πfs is a revolutionary new file system that, instead of wasting space storing your data on your hard drive, stores your data in π! You’ll never run out of space again – π holds every file that could possibly exist, so why put your files anywhere else?! They said 100% compression was impossible? You’re looking at it!

What does π have to do with my data?

π (or pi) is one of the most important constants in mathematics and has a variety of interesting properties (which you can read about at wikipedia)

One of the properties that π is conjectured to have is that it is normal, which is to say that its digits are all distributed evenly, with the implication that it is a disjunctive sequence, meaning that all possible finite sequences of digits will be present somewhere in it. If we consider π in base 16 (hexadecimal) , it is trivial to see that if this conjecture is true, then all possible finite files must exist within π. The first record of this observation dates back to 2001.

From here, it is a small leap to see that if π contains all possible files, why are we wasting exabytes of space storing those files, when we could just look them up in π!

Every file that could possible exist?

That’s right! Every file you’ve ever created, or anyone else has created or will create! Copyright infringement? It’s just a few digits of π! They were always there!

But how do I look up my data in π?

As long as you know the index into π of your file and its length, its a simple task to extract the file using the Bailey–Borwein–Plouffe formula Similarly, you can use the formula to initially find the index of your file

Now, we all know that it can take a while to find a long sequence of digits in π, so for practical reasons, we should break the files up into smaller chunks that can be more readily found.

In this implementation, to maximise performance, we consider each individual byte of the file separately, and look it up in π.

So I’ve looked up my bytes in π, but how do I remember where they are?

Well, you’ve obviously got to write them down somewhere; you could use a piece of paper, but remember all that storage space we saved by moving our data into π? Why don’t we store our file locations there!?! Even better, the location of our files in π is metadata and as we all know metadata is becoming more and more important in everything we do. Doesn’t it feel great to have generated so much metadata? Why waste time with old fashioned data when you can just deal with metadata, and lots of it!

Yeah, but what happens if lose my file locations?

No problem, the locations are just metadata! Your files are still there, sitting in π – they’re never going away, are they?

Why is this thing so slow? It took me five minutes to store a 400 line text file!

Well, this is just an initial prototype, and don’t worry, there’s always Moore’s law!

Where do we go from here?

There’s lots of potential for the future!

  • Variable run length search and lookup!
  • Arithmetic Coding!
  • Parallelizable lookup!
  • Cloud based π lookup!
  • πfs for Hadoop!

πfs: Download it today!

{ 9 } Comments

  1. fpp | 1st April 2012 at 03:09 | Permalink

    Excellent ! But it should be dated April 1st ! :-)

  2. Jason Kasper | 1st April 2012 at 08:16 | Permalink

    Brilliant! I love this idea!

  3. Estel | 1st April 2012 at 15:04 | Permalink

    Well, I’m pretty sure that Digital Mafia’s will try to ban raspberry pi fs. It’s unacceptable for them, that you can hold all their hollywood movies and music in pi!

    I’m perfectly sure, that even calculating Pi in Your mind is going to be prohibited – what if You, accidentally, calculate patented file extension (just 3 characters!)?

    /Estel

  4. Ben | 15th April 2012 at 19:17 | Permalink

    Actually, not a bad idea (assuming it’s true). lol

    Assuming you have enough bits of pi, just use a highly parallel searching algorithm on a GPU to search for the first bit of a file, then check to see if the next bit matches too, and repeat until the whole file matches or you find a false match. This could be done in many places in pi at once, so it would be very efficient, and you could have multiple threads searching for the first bit and firing off multiple sub-threads which would search for the following bits. Once it’s found, you send a signal to the main thread which stops all the sub-threads and returns the index of the file in pi. :D

    This is why you don’t throw this kind of joke at a logical thinking person. XD

  5. Ray | 16th April 2012 at 05:29 | Permalink

    suggest you rename the project to τfs (turnfs) since π is wrong: http://www.math.utah.edu/~palais/pi.html

  6. Bob | 1st April 2013 at 10:55 | Permalink

    Please don’t ever call it “turnfs”
    The Pau vs Tau debate is tedious

  7. Nick reyntjens | 27th July 2013 at 17:46 | Permalink

    Personally, I’m a fan of e :)

  8. Adam O'Grady | 16th August 2013 at 20:05 | Permalink

    Thank you so much for this, I’ve had a great time installing it. Learning how to implement this has introduced me to the BBP algorithm, Linux management, file systems and reignited some (however temporary) passion in a pretty bleak time for me. In testing, I’ve noticed that ironically the character π (0xE3) does not fit within the bounds of the index (short int). I’m thinking I might try and modify (with my limited skills) or work on this and investigate some other interesting ideas regarding this.

    Once again, my deepest thanks.

  9. Ryan | 11th March 2014 at 13:16 | Permalink

    This is extremely interesting from a technical standpoint. While it might not be practical or useful in this moment, this is a very real way to directly trade disk space for computational power in large scale. With some optimization and much faster processing, it could have real practical use for inexpensive but slow, large-volume storage.

Post a Comment

Your email is never published nor shared. Required fields are marked *