I love Swiss Army Knives; their ingenuity and utility are legendary. As you can see in the picture, it is a thing of beauty, with an array of some 20 tools ready to help you solve a dizzying variety of everyday problems.
Some of the tools have obvious uses, like the large blade and the magnifying lens. But a few of the tools are a bit more obscure. Take the hook, for example. Did you know that it’s also called the “parcel carrier,” and that it’s there to help you carry things? And what about that hole in the reamer? Turns out that’s a sewing eye. Do you know how to use it? Do you think you will ever use either of those tools for their intended purposes? So, for all its compactness, this engineering marvel has some parts that we’re probably not going to use a lot, or maybe ever.
There’s something else to notice, though. When you’re in the kitchen, and you’re getting ready to open that can of Italian plum tomatoes for your favorite pasta sauce, do you reach in your pocket for your trusty Swiss Army Knife, with its spiffy can opener? Probably not. You’re going to reach for the can opener in your kitchen which was built especially to open cans. Why? Because your kitchen can opener does such a fantastic job of opening cans. Sure, your Swiss Army Knife will get the job done, eventually, but it’s going to take a while, and it’s going to leave some hazardous sharp edges around. It’s been said that a Swiss Army Knife does a lot of things, but it doesn’t do any one thing particularly well, and opening cans is probably a good example of that. No, your Swiss Army Knife is going to help you in many, many everyday situations, but for some things you really need the right tool for the job.
It’s the same situation with computers. Most familiar computers, including the one you’re probably using to read this, are general-purpose computers. They’re built to be flexible enough to handle an immense variety of computing tasks. For most tasks, they do very well, and in fact the clever use of parallel and distributed computing techniques has allowed standard systems recently to deliver price/performance gains in excess of Moore’s Law.
However, when the computing architecture is specifically designed to fit the task at hand (in other words, when you’re using your kitchen can opener), the price/performance gains from that application-specific architecture can be 10x to 100x. It’s just as you might have imagined from our Swiss Army Knife example: using the right tool for the job is often faster and easier.
I’ll be at Bio-IT World next week to discuss the right tools for life sciences. Of course, I’m slightly biased, but if you want to learn how Cray’s Urika graph analytics appliance makes it easy to use big data in life sciences, then check out my presentation in the bioinformatics track on Wednesday, April 30 at 12:15pm.
And if you’re not in the Boston area that week, then be sure to register for our free webinar on May 1 at 1:00pm EST: “Data Integration in Life Sciences—Are You Ready?” It will be a great opportunity to learn about linked data and how to integrate your own data with public sources, such as TCGA and Bio2RDF.
It has been interesting recently to see supercomputers come to the fore again as the problems of computation over big data have overwhelmed conventional architectures. The next time you need to compute over a large graph, consider whether you’re using the right tool for the job.