A Java Multicore Library for Dataflow Applications

"The basic insight is that there exists a form of concurrent programming, deterministic concurrency, that has no race conditions, is as easy to program, and can exploit parallel processors as a bonus. The technical problems were all solved long ago with the invention of dataflow programming. What remains is to educate programmers and to bring dataflow ideas into mainstream languages."

Peter Van Roy - co-author Concepts, Techniques, and Models of Computer Programming.

Java Multicore Library for Dataflow Programming

Pervasive DataRush is a Java library for developing highly-parallel data-intensive applications to run and scale on emerging multicore hardware without the need for any knowledge of concurrent programming techniques.

DataRush allows developers to employ an extensive and customizable library of components ranging from simple to very sophisticated using dataflow principles. Components are even "self-composing", with late-binding facilities to dynamically adjust parallel execution strategies. Using Pervasive DataRush, developers can build "simple" dataflows that can be composed into highly parallelized, scalable dataflow execution graphs, fully ready to exploit the underlying multicore hardware even as it grows. Many of the classic challenges around concurrent programming (e.g., synchronization, thread management, etc.) are handled by the Pervasive DataRush framework.

Introducing DataRush

The problem? For decades, most applications built to perform data-intensive processing were not architected with 2, 4, 8 or even 10's of cores in mind. The solution? Pervasive DataRush. Check out our latest presentation to see why.

How it Works

We have a simple code example that illustrates how the new version of Pervasive DataRush might do a join.

See it now.

RC1 Available -- Try it Now

The new version of the Pervasive DataRush software development kit is available as a free download.

Try it now.

DataRush at JavaOne

Jim Falgout, the chief technologist for DataRush, discusses Java multicore development in this video excerpt from the AMD Keynote at JavaOne 2008.

DataRush RC1

Java Multicore RC1 Dataflow programming

The Pervasive DataRush Release Candidate 1 (RC1) is now available. RC1 allows all composition to take place in Java (no more XML and customizers), is more streamlined and has more developer-friendly concepts.