IBM Unveils Enterprise Stream Processing System
On Tuesday at the Security Industry and Financial Market Association (SIFMA) Technology Management Conference in New York, IBM announced System S, a software framework that uses a stream processing model to support a new class of applications. The result of a $5 million initiative at IBM Research, System S is designed to perform real-time analytics using high-throughput data streams.
The company will initially aim this technology at Wall Street trading applications, but the system is generally applicable to all kinds of real-time intelligence gathering. Relevant domains include surveillance, manufacturing, inventory management, public health, and biological research, among others. At this point, the System S technology is more than a prototype, but less than a product. This week’s announcement is aimed at garnering interest from Wall Street firms that might want to partner with IBM to develop commercial applications.
The System S software is designed to run in a heterogeneous hardware environment, taking advantage of x86, Cell, Blue Gene, or even Power-based servers. Cell-based systems, in particular, appear to be a well-suited for these types of applications because of that processor’s natural abilities as a stream computing platform. Suitable platforms can range from a single CPU up to 10,000 servers. The initial version of System S is targeted to IBM BladeCenters running Red Hat or SUSE Linux. According to IBM, in larger configurations, System S is capable of processing in the neighborhood of a million messages per second, depending on the application behavior and the nature of the data streams.
The intention of the framework is to host applications that turn heterogeneous data streams into actionable intelligence. The source of such streams could be manufacturing sensors, television broadcasts, market exchange streams, phone conversations, video feeds, email traffic, and so on. Essentially, the system works by enabling different types of software processing elements (PE) or modules to be strung together to act on data streams. The system exposes the profile of each processing element to the others in the framework so they can interoperate. The software contains an “Omniscient Scheduler” that ensures the data pipelines between the PEs operate efficiently. A user hypothesis or query drives the application and specifies the kinds of data correlations to be performed.
For example, if one were searching for a certain subject matter in conversations being conducted over a secure telephone line, this would require a number of stream processing elements. The first step would be to pass the communication feed into a data decryption PE, which would produce decrypted audio. Then, using a speech recognition PE, the audio stream would be converted into text. Next, the text data would pass through a semantic analyzer PE to identify those conversations that contained content of interest. If one was processing many such conversations, the system could automatically focus on those that met the specified criteria and drop the remainder. A more complex application with additional data feeds could be accommodated by plugging in the appropriate PEs.
According to Nagui Halim, director of high performance stream computing at IBM, System S represents a significant departure from current intelligence extraction, which traditionally relies on fixed-format data that has been stored on a disk somewhere. This model can only provide a retrospective look a problem. By contrast, System S applications are able to take unstructured raw data and process it in real time. And rather than performing simple data mining or recreating a simulation of some well-defined structure or process, System S applications attempt to make correlations and generate some type of prediction. In addition, the system is supposedly capable of refining its behavior over time by learning from the successes and failures of past correlations.
“This is about what’s going to happen,” explains Halim. “The thesis is that there are many signals that foreshadow what will occur if we have a system that is smart enough to pick them up and understand them. We tend to think it’s impossible to predict what’s going to happen; and in many cases it is. But in other cases there is a lot of antecedent information in the environment that strongly indicates what’s likely to be occurring in the future.”
To Halim’s surprise, in his research he found that streaming data analytics was a much better tool than he expected for many classes of applications. He discovered that events are often very predictable if one examines the correct data. For example the occurrence of a “perfect storm” is the result of a number of more subtle conditions which build up over time that interact to produce a big event.
If successfully implemented, predictive systems certainly have a high value for a range of enterprises and government organizations. This is especially true in the financial services industry, where accurate forecasts of options and derivatives pricing can translate directly into profits. Being able to correlate market activity with the effects of qualitative data, like news events, would open up some interesting avenues for financial trading application. IBM envisions algorithmic trading engines connected to media feeds such as CNN and Al Jazeera to correlate news reports with financial market behavior. For example, an application could be set up to look for events that could precipitate an oil price spike in the next ten minutes.
An application could also be devised to search for rogue traders or money laundering activities. Traditionally this is accomplished by examining account histories and performing manual inspection of suspicious transactions. But this sort of retrospective analysis may allow the perpetrator to get way.
“Imagine if you had the ability to look at all the trading activity, just as you do today, and correlate that with other activity, like phone calls, email, and trading floor video feeds,” says Kevin Pleiter, director of global financial services sector at IBM. This, he says, could enable you to identify illegal trading patterns as they occur — or even before.
According to Pleiter, the financial industry is on an accelerating path of automating the trading process. During the past 10 years, the number of traders has been decreasing rapidly, while the number of trades is skyrocketing. This is due to the rise of algorithmic trading software and the use of advanced computing and network technologies to increase the pace of electronic transactions. By adding unstructured data into the mix, System S could accelerate this trend.
“There’s a new arms race, and that arms race is based on technology,” says Pleiter. “Whoever has the best technology is going to be the guy who wins.”
If the level of software intelligence that IBM is chasing seems like science fiction, remember that the many of the building blocks for these types of applications are based on well-known pattern recognition and data transformation algorithms. And with the advent of powerful, general-purpose high performance platforms like GPUs, the Cell processor and FPGAs, software is now able to process raw data streams in real time. The tough part is turning the qualitative data into useful information. By providing a higher level framework for real-time analytics, System S may be able to provide the type of environment where this possible.