The x86 architecture can do a lot of processing jobs, but there are some tasks where you would want a different processor architecture. For example, field-programmable gate arrays (FPGAs) are much better suited to perform search functions than x86 because CPUs are sequential processing devices that execute an algorithm one at a time while FPGAs are parallel processing devices that can process an entire algorithm in just one a single clock tick. At worst, it will do it in far fewer clock ticks than it takes a sequential processor.
That's why both Microsoft Bing and Baidu use FPGAs in their respective search engines to speed up searching. Parallel processing works a lot better for string or image pattern matching.
The company Ryft is bringing that concept to Big Data analytics with the Ryft ONE, a 1U platform it claims can process up to 48 terabytes of historical and streaming data at an incredible 10 gigabytes per second or faster.
The company said its secret sauce is a combination of very fast SSD, very wide I/O buses and massively parallel FPGAs. The Ryft One uses the Ryft Analytics Cortex, a massively parallel, hardware-accelerated architecture built on Xilinx FPGAs, twin parallel server backplanes with two 10 gigabit Ethernet ports and up to 48TB of SSD-based storage, plus Ubuntu Linux 14.04 and a x86 processor for the front-end.
The company claims in its benchmarks that the Ryft ONE platform can analyze data at up to 100 to 200 times faster than the fastest 4 core CPU servers. Some server vendors might take exception to the fact that Ryft is comparing itself to an Amazon Web Services system running older Ivy Bridge processors, but that's still a massive difference in performance.
To give you an example of the performance they are claiming, a single Ryft ONE unit can store and analyze the equivalent of the contents of Wikipedia in 4.5 seconds without any data indexing, preprocessing, tuning or partitioning, and it uses less power than a hair drier. Ryft claims its appliances can reduce server costs by reducing the need for regular x86 servers by up to 70%.
In addition to the RAC, there is the Ryft Algorithm Primitives (RAP) library, a collection of prebuilt algorithm components to get around some of the user-unfriendly limitations of FPGA programming. RAP uses a standard C-language API to invoke a three primitives – search, fuzzy search, and term frequency operations, which is the equivalent of word count. It plans to expand its library of prebuilt algorithm components as per customer and market demands.
The primatives are accessible via a C library, so developers can write apps in GCC or anything that supports C/C++ natively, according to Bill Dentinger, vice president of products at Ryft. There is no Hadoop or NoSQL on the back-end like in a traditional Big Data environment. People run whatever apps they want to do the analytics or data processing on the Linux side to get the function calls on the custom silicon.
Detinger said the sweet spot for Ryft ONE is combining both streaming real-time data and historical data in silos simultaneously. "Most customers want to marry the two. We provide that for customers who want to do analysis of historical data as well as data in motion," he said.
Data can be extracted from an Oracle database as a CSV file and treated as structured data. There is also an ODBC connector for SQL data sources. So if they have a visualization tool, they could use ODBC to get data out of the store.
Ryft ONE also works with open standards to work with a wide range of visualization, scheduling, performance monitoring and systems management tools and it supports C/C++, Java, R, Python, Scala and other languages.
The Ryft ONE will be available in early Q2 2015, as a hosted or on-premises solution.