Data Structures
Eray Ozkural
erayo at cs.bilkent.edu.tr
Fri Jul 5 08:10:25 PDT 2002
On Friday 05 July 2002 22:22, Joffre Heredia wrote:
> After reading some information about MPI programming, I actually think
> that it could be possible to implement data structures for these parts of
> the parallel calculation that are running localy in a node. Maybe I'm
> wrong. Could anyone help ?
Advanced data structures are used when needed.
C people usually don't want to get into complex data structures because the
language is too low level for that, you don't have genericity so you can't
provide, say, a graph structure or a binary tree that will satisfy everyone.
I guess you'll find a lot of data structures in parallel machine learning /
data mining or visualization codes...
In general you have to implement them yourself. Data structures are beyond the
scope of a message passing library. And this is for a simple reason:
parallelism is not dictated solely by data structure but the algorithm you
pick. So if you have algorithms A and B which both use priority queues, the
parallel versions might be completely different. Parallel implementation will
most certainly depend on the algorithm and architecture of the parallel
computer. Only then you can decide how to distribute/replicate the data.
Actually, it's best to write your own marshalling code and avoid MPI types for
such codes... I use MPI only for point to point message passing and
collective operations on arrays. In C++ it's quite easy to implement parallel
algorithms that work on distributed graphs, trees, etc.
Thanks,
--
Eray Ozkural <erayo at bilkent.edu.tr>
Comp. Sci. Dept., Bilkent University, Ankara
www: http://www.cs.bilkent.edu.tr/~erayo
GPG public key fingerprint: 360C 852F 88B0 A745 F31B EA0F 7C07 AE16 874D 539C
More information about the Beowulf
mailing list