IBM's Watson supercomputer, which shellacked Jeopardy's top human champions during airings of the game show this week, is powered by 90 servers and a network-attacked storage (NAS) cluster with 21.6TB of data. In the end, though, its brain only has 80% of the processing power of a human brain.
Tony Pearson, master inventor and senior consultant at IBM, explained that Watson only uses about 1TB to process real-time answers to Jeopardy questions after configuring its back end storage as RAID, and then culling that data further to be loaded into the clustered server system's memory.
Pearson cited the estimate of technology futurist and author Ray Kurzweil that the human brain can hold about 1.25TB of data, and performs at roughly 100 teraflops. In comparison, Watson is an 80-teraflop system with 1TB of memory.
"So it's 80% human," Pearson said. "Yes, we could have handled a lot more information. We could have put more memory in each server, but once we got the answers to three seconds, we didn't need to go further."
Pearson explained that reaching the three-second answer threshold was just a matter of simple mathematics.
The original algorithm singled threaded on a single core processor took two hours to scan memory and produce an answer. So the IBM technologists just divided two hours by 2,880 CPUs, which produced the ability to answer questions in three seconds.
If IBM's Watson were just some other human Jeopardy contestant, viewers probably would have tuned out in the midst of such a landslide victory. Instead, interest in the man vs. machine battle gave the show its highest ratings in nearly six years.
Competition between humans and computers have long captured the public's imagination. Remember the 1996 chess match between IBM's Deep Blue computer and the reigning world champion Garry Kasparov?
In this case, though, Watson has more in common with humans than Deep Blue. Like us, he only uses a small percentage of his massive memory capacity to answer questions.
Behind Watson's simple scribble-faced monitor that he used as a Jeopardy contestant are 90 IBM Power 750 Express servers powered by 8-core processors, four in each machine for a total of 32 processors per machine. The servers are virtualised using a Kernel-based Virtual Machine (KVM) implementation, creating a server cluster with a total processing capacity of 80 teraflops. A teraflop is one trillion operations per second.
On top of processing power, the each server has 160GB of DRAM to provide the full machine with almost 15TB of memory.
Clustered file system
On the backend of the computer is IBM's SONAS General Parallel File System (GPFS). SONAS, or Scale-Out NAS, is a Linux-based clustered file system that IBM released almost exactly one year ago.
The clustered storage model provides massive throughput because of an increased port count that comes from cobbling many storage servers together into a single pool of disks and processors all working on a similar task and all able to share the same data through a single global name space. In other words, all of the disk drives appear as one big pool of storage capacity from which Watson can draw.
Watson's SONAS is populated with 48 450GB serial ATA (SATA) hard drives for a total of 21.61TB of capacity in a RAID 1 (mirrored) configuration, that leaves 10.8TB of raw data that is used by Watson every time it's booted up. Three terabytes of that, however, is used for the operating system and applications.
But it's not SONAS's disk-based storage that makes Watson so darned fast, it's the CPUs and memory. Every time Watson boots, the 10.8TB of data is automatically loaded into Watson's 15TB of RAM, and of that, only about 1TB is scanned for use in answering Jeopardy questions, Pearson said.
In case you're wondering, 1TB of capacity is still quite significant; it can hold 220 million pages of text or 111 DVDs.
Small data sets
"The amazing thing is that you can get all those answers with such a small data set," said John Webster, an analyst with the research firm Evaluator Group. "After multiple iterations of loading and testing and loading and testing and updating the database on SONAS, IBM came up with a version of the database of that would generate the data set that got loaded into memory."
Enter Australian computer programmer and SAMBA developer Andrew Tridgell.
Tridgell created the computer algorithm running on top of Watson's hardware that culls out the data set. Tridgell developed the open-source Clustered Trivial Database (CTDB), which the SAMBA file protocol uses to simultaneously access the memory across Watson's 90 servers.
More importantly, the CTDB makes sure none of the servers are stepping on each other as they also update information after a Jeopardy show.
During the show, Watson is read-only - meaning nothing gets written to its backend SONAS. After the show, Watson is powered down and the computer scientists go to work updating information and debugging it, trying to figure out why it gave erroneous answers, such as choosing Toronto as the answer for a question about American city.
"I'm sure they're scratching their head on that one," Pearson said.