Pervasive takes on multicore programming
Pervasive Software's DataRush is one of a new generation of products and platforms that aim to simplify multithreaded programming for application developers.
Writing software that can simultaneously make use of multiple processors can be hard. Yet the advent of multicore processors--four cores per chip is now common--means that more and more software needs to do just that.
With processor performance increases now increasingly coming through the ability to handle more execution threads, rather than handling individual ones faster, multithreaded programming, in one form or another, is pretty much the only path to writing faster software, going forward.
Researchers and developers are tackling this issue from a lot of different angles, including new languages and a greater focus on multithreaded programming in computer science curricula. However, perhaps the most promising general direction is toward what you might call multicore virtualization--the abstraction of parallel complexities by carefully crafted algorithms and run times that handle most of the heavy lifting. (MapReduce and gaming engines are examples of the sort of thing I'm talking about.)
At the heart of Pervasive DataRush is a powerful, massively parallel data-processing engine that enables fast, efficient, deep analysis and searching of large data stores. The platform integrates breakthrough technology to resolve well-known parallel-programming challenges associated with writing software for multicore processors: built-in features automatically handle issues such as locking, threading, and deadlock.
From a technical perspective, DataRush is a library and processing engine written in Java--which makes it portable to different operating systems because it runs in a Java Virtual Machine, as opposed to directly on the operating system. It's not specific to any one application, and it has operators and application programming interfaces (APIs) that can be exploited for a variety of parallel applications.
That said, Pervasive has focused and optimized DataRush around analytic tasks that typically require lots of parallel processing. A typical application is the sort of near-real-time data crunching that credit card companies do to detect and counter fraud.
From a business perspective, Pervasive's strategy with DataRush is to move up the software stack to higher-level solutions. However, these will still be in the form of enabling applications to handle certain types of tasks rather than actually getting into the application space themselves.
Pervasive Software is a well-established software company that has been listed on Nasdaq since 1997 and counts thousands of users as its customers. Along with a set of data integration products, it sells a database that is popular with many "low IT" organizations (PDF). Now it's adding DataRush to tackle a problem that didn't even exist for the mainstream users that Pervasive serviced 10 years ago.