Cray Parlays Supercomputing Technology Into Big Data Appliance
For the first time in its history, Cray has built something other than a supercomputer. On Wednesday, the company’s newly hatched YarcData division launched “uRiKA,” a hardware-software solution aimed at real-time knowledge discovery with terascale-sized data sets. The system is designed to serve businesses and government agencies that need to do high-end analytics in areas as diverse as social networking, financial management, healthcare, supply chain management, and national security.
As befits Cray’s MO, their target market for uRiKA, (pronounced Eureka) is slanted toward the cutting edge. It uses a graph-based data approach to do interactive analytics with large, complex, and often dynamic data sets. “We are not trying to be everything for everybody,” says YarcData general manager Arvind Parthasarathi.
Unlike Hadoop cluster implementations, which parallelizes queries across large cluster farms, uRiKA is a monolithic system with a lots of shared memory and massively multithreading processing. The supercomputer-style architecture allows uRiKA to load entire data sets into RAM and process them with hundreds or even thousands of threads. The idea is the avoid the performance penalty of dividing the database into pieces and processing it across disparate memory spaces. In such an environment, if a piece of a query on one node needs to talk to another piece on another node, communication has to be initiated across the network, which can be 100 times slower than a memory access.
The underlying hardware for uRiKA is Cray’s second generation XMT (previously known as XMT-2), which the company’s professional services group has been cranking on for the past three years. According to Shoaib Mufti, YarcData’s VP of Research & Development, the YarcData appliance repurposes the XT5 supercomputer infrastructure, including the AMD-style socket and SeaStar2 interconnect. Unlike the Opteron-powered XT5 though, uRiKA uses Cray’s latest custom-built Threadstorm processor, which supports 128 threads per chip and a memory reach of 512 TB. Processors and memory can be scaled independently, say Mufti.
Further boosting performance is the Threadstorm’s ability to support very fine-grained synchronization to hide latencies across threads. Merv Adrian, Research VP, of Information Management, at Gartner thinks that uRiKA hardware will be able to operate at speeds typical database appliances can’t match. “Processors will not wait on disk I/O, or even typical memory latency,” he says adding that the combo of hardware and software on uRiKA will “allow the company to target different, very challenging use cases.”
Up to 8,000 processors can be loaded on a single system, which would allow an application to scale to over a million threads. Most systems won’t approach anything of that size, though. “Our HPC customers tend to have a lot of processors,” says Mufti. “Here the customers we’re targeting tend to need a lot of memory.” That’s because the data sets YarcData has in mind are things like social media databases, financial asset portfolios, and genomic maps that span entire populations.
More to the point, uRiKA is designed to analyze graphs rather than simple tabular databases. A graph, one of the fundamental data abstractions in computer science, is basically a structure whose objects are linked together by some relationship. It is especially suited to structures like website links, social networks, and genetic maps — essentially any data set where the relationships between the objects are as important as the objects themselves.
This type of application exists further up the analytics food change than most business intelligence or data mining applications. In general, a lot of these more traditional applications involve searching for particular items or deriving simple relationships. The YarcData technology is focused on relationship discovery. And since it’s uses graph structures, the system can support graph-based reasoning and deductions to uncover new relationships.
A typical example is pattern-based queries — does x resemble y? This might not lead to a definitive answer, but will provide a range of possibilities, which can then be further refined. So, for example, one of the YarcData’s early customers is a government agency that is interested in finding “persons of interest.” They maintain profiles of terrorists, criminals or other ne’er-do-wells, and are using uRiKA to search for patterns of specific behaviors and activities. A credit card company could use the same basic algorithms to search for fraudulent transactions.
YarcData uses the term “relationship analytics” to describe this approach. While that might sound a bit Oprah-ish, it certainly emphasizes the importance of extracting knowledge from how the objects are connected rather than just their content. This is not to be confused with relational databases, which are organized in tabular form and use simpler forms of querying.
In fact, according to YarcData’s Parthasarathi, relational databases are not well suited to the kinds of large-scale, real-time data analysis uRiKA is designed for. He says it’s possible to shoehorn these applications into a relational databases using more traditional RDBMS tools, but the model just doesn’t scale very well as the data and relationship complexities grow. Especially if you’re looking to interact with the data in real time, it just takes too long, says Parthasarathi.
Parthasarathi also argues that traditional in-memory database platforms just don’t have enough memory to do graph problems. A single server might be able to be outfitted with a few terabytes, but once the data size grows beyond that, you have to start fetching bytes from external storage. And since graph analytics is non-deterministic, there’s no way to figure out which data should be pre-fetched or cached for a given query.
Being able to swallow an entire graph into memory is uRiKA’s biggest advantage over other architectures, but the system is also capable of ingesting data from secondary storage. Many of applications require this since their data is often very dynamic in nature (think of a financial trading system where asset values are constantly in motion). To deal meet that need, uRiKA offers a high performance storage subsystem that can deliver transfer rates of up to 350 TB/hour.
After data is ingested, it needs to be converted to an internal format called RDF, or Resource Description Framework (in case you were wondering, uRiKA stands for Universal RDF Integration Knowledge Appliance), an industry standard graph format for representing information in the Web. According to Mufti, they are providing tools for RDF data conversion and are also laying the groundwork for a standards-based software that allows for third-party conversion tools.
Industry standard is a common theme here. uRiKA’s software internals include SUSE Linux, Java, Apache, WS02, Google Gadgets, and Relfinder. That stack of interfaces allows users to write or port analytics applications to the platform without having to come up with a uRiKA-specific implementation. So Java, J2EE, SPARQL, and Gadget apps are all fair game. YarcData thinks this will be key to encouraging third-party developers to build applications on top of the system, since it doesn’t require them to use a whole new programming language or API.
The announcement this week pointed to five initial uRiKA customers. Besides the unnamed government agency mentioned previously, early adopters include the Institute of Systems Biology, which is targeting it for drug discovery; Noblis, which is engaged with various US government agencies to help develop a range graph database applications on the platform; the Swiss National Supercomputing Center (CSCS), which is using the system for scientific data analysis; and the Mayo Clinic, which intends to use uRiKA to pattern-match patients in order to optimize treatment regimes.
The latter application is reminiscent of IBM Watson’s work at Wellpoint, where the goal is to use the DeepQA expert system technology to suggest patient diagnosis and treatment options for doctors. In Watson’s case, the hardware and software architecture are completely different from that of uRiKA, but the level of analytics is of the same order. Like IBM, Cray is looking to establish its analytics technology across multiple verticals. In the future, YarcData intends to offer appliances with integrated software that targets specific application domains, like drug discovery, patient matching, and event-based trading.
Pricing on uRiKA configurations has not be made public, but according to Parthasarathi, a low-end setup will cost in the low hundreds of thousands of dollars. That probably corresponds to their baseline configuration of 16 Threadstorm processors and half a terabyte of memory. Additional memory and/or processors could easily push that into the million-dollar range, but considering there are no other systems on the market that sport terascale graph-based analytics, that could end up being a bargain.