There was an interesting article that came out while I was on vacation titled "The God Box: Searching for the Holy Grail Array: Latency killing super spinner
The premise of the article is that someone is going to build a storage array that solves all the world's problems. As Chris says, "server data location, solid state hardware speed, memory access speed virtualisation, and the capacity, sharability and protection capabilities of networked arrays. It's NAND, DAS, SAN and NAS combined; the God storage box -- conceivable but not yet built."
The one critical point Chris leaves out is scalable file system. I think it is great to solve all of the above problems, but a God Box should solve all the problems not just a subset. Scalable I/O depends on scalable storage and a scalable file system. I am not sure if anyone builds this box how it can be used without a file system that scales infinitely. To have that will require a parallel file system, as in a large environment you will need a number of these so called God Boxes for scalable performance.
A number of things are lacking in the whole file system arena. For example if you have storage tiers, how do you pass policy for blocks of storage over SCSI protocol? Answer: you cannot. The topology of a file is just a set of addresses to the allocation map of the file system. File systems must be modified to know what addresses are flash and what address are other tiers of storage. The file system cannot know what God is thinking without being told. Now this God Box might have a file system that I am not aware of, but how does it work and how does it scale? Only for a handful of parallel file systems and scaling metadata is this a huge issue.
Labels: storage array
posted by: Henry Newman