Why clustered file systems are obsolete, bandwidth is overrated, and "scalability" is a dead end

Founded in 2003, Small Tree Communications focuses on the Mac platform, offering a variety of storage solutions with an emphasis on cost-efficiency. The goal is to work with users to ensure that they have the bandwidth they need, but that they're not paying for performance that they don't need. StudioBytes once again approached Small Tree's CTO, Steve Modica, to ask him what content creators need to understand about storage protocols. In an opinionated Q&A, he told us that clustered file systems are obsolete, bandwidth is overrated, and "scalability" is a dead end.
StudioBytes: What factors help determine which storage protocols an editor will end up using?

Steve Modica: The first-order decision is made by the type of access required. If your users are all Pro Tools guys and they need block access, then you have to use something like iSCSI or Fibre Channel to provide that along with a Volume sharing or clustered filesystem solution. If the users are Avid, Final Cut or Premiere Pro users, then block access is unnecessarily complicated and expensive. They would prefer a NAS solution.

Selecting the appropriate NAS solution used to be a harder choice, but more and more it’s becoming Samba. Apple’s Samba implementation has improved quite a bit since Snow Leopard released.

I also hate to see people using multiple NAS protocols on one server. It’s sometimes unavoidable. When using multiple protocols, you’ve got code from multiple file-system development groups playing around with kernel resources (locks, buffer cache etc), and if bugs are in there, you’re going to be the one to find them. You can bet that the Samba or AFP teams don’t spend a whole lot of time stress-testing their code with other code bases running at the same time.

Can you give examples of different use cases that would clearly point to different protocols being most efficient?

Pro Tools notwithstanding, I would always recommend a NAS setup (AFP, Samba, NFS) over a clustered file system setup. It’s simpler and easier for users to understand and all of the authentication, metadata, ownership and directory structure issues live on the server. It can’t get any easier or less expensive. Those protocols have been around for decades and are fairly bulletproof.

I’m sure people out there are saying “Sure. Small Tree sells NAS solutions so clearly they have a bias.” That’s not really true. We write iSCSI, AOE and FCoE drivers and even wrote an entire FCoE storage stack for another vendor. We know all about block storage. The problem is that the original reason for the invention of clustered file systems has evaporated. It’s now just a white elephant.

Are there advantages to mixing different storage protocols among systems or networks at a single facility? If so, what are they?

I don’t think so. In fact, I think there are distinct disadvantages.

  1. It’s more complicated.
  2. You (or your IT person) have more to remember. That often makes that person a single point of failure.
  3. It’s harder to coordinate upgrades since you have more things that need to be compatible.
  4. You are more prone to bugs, since protocols are rarely stress-tested together.
  5. You have a unique system to deal with. What if something doesn’t work? You have nothing to compare to. Even the Internet forums will have little help since few users have your exact setup.

Imagine instead that you have reasonably independent workgroups each running a small NAS. If one has a specific problem, it’s extremely easy to put the project, or the person, onto another rig and see if the problem follows the person, or the project, or their specific login. Perhaps something is corrupted. If it fails everywhere, you at least know you’ve found a bug.

How important are bandwidth and throughput in the big picture? Does the quest for speed above all else sometimes lead users to make bad decisions?

Bandwidth is, more or less, the fool’s gold of the media-editing industry. Editing requires very little bandwidth. What it really requires is real-time performance. Real-time does not mean fast. It means guaranteed response. RAID vendors are constantly fighting the battle to have high bandwidth numbers but not completely screw up their shared latency numbers.

What is a common mistake or misconception you see in the way content-creation professionals think about storage and storage protocols?

Most common: We’ll repurpose this old machine to be our server. Then we can all work off that.

Second most common: We need shared storage that works. Let’s call Apple and get an Xsan quote. Then they see the huge price and don’t do anything.

What trends are you seeing in the ways that editors are thinking about and implementing storage?

Technologies are killed from the bottom up. It’s seldom the case that a dominant technology is fought and crushed by some other, equally dominant technology.

What’s happening today is that more and more people and larger corporations are moving away from expensive solutions that claim “scalability” as their primary value add. Scalability is cool, but very few people buy less than they need with the idea that they’ll add on more later. People buy what they need for the next year or two, and move on next year. Who wants to spend twice as much so they can “upgrade” old technology two years from now? No one!

Old technology, whether it scales or not, is old. 10 Gb is coming. Solid-state drives are coming. Thunderbolt is coming. Buy what you need today, inexpensively, with a plan that you will migrate to newer, better, cheaper technology two years from today. That’s the trend.

For more information: www.small-tree.com.