Posts tagged ‘Global Objects’

Is distributed computing possible with JDMP?

JDMP was intended to handle large amounts of data efficiently. Therefore, distributed computing has always been a design goal of our software. JDMP separates calculation methods (Algorithm) and data structures (Matrix, Variable, Sample, DataSet), which can be combined into containers (Module). All of these objects can be declared as “global” which means, that the objects are shared in a computer network. Then, for example, you can request data (a Matrix) from one Variable (or a Sample from a DataSet), do some processing with it (with an Algorithm) and write it to another Variable or DataSet. The Variables could be stored on two different computers, but for the programmer it makes no difference if a Variable is global or not. This concept makes it easy to create distributed algorithms, you just have to think about the Variables that are needed and the processing steps that have to be executed. I guess this is the biggest difference compared to other toolkits like Weka4WS, where you cannot split the algorithm itself.

JDMP uses JGroups (http://www.jgroups.org) to share data in a computer network. Right now, only global Variables are supported. Distributed Samples, DataSets, Modules and Algorithms must still be developed.