Newsgroups: comp.parallel.mpi,comp.parallel.pvm
From: Kamran Karimi <kamran@wallybox.cei.net>
Subject: Re: Why explicit message passing??
Organization: World Lynx, Inc.
Date: Sun, 5 Apr 1998 01:27:04 +0000
Mime-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Message-ID: <Pine.LNX.3.96.980405012526.8991A-100000@wallybox.cei.net>

Hi,

Ed Luke wrote:

>The assumption that modern message passing systems such as MPI are
>somehow low level while distributed object systems are somehow high
>level is fundamentally flawed [...]

 I respect your opinions, but we could go on discussing this forever. It
seems to me that there is so much confusion in this field that one can not
be sure if we speak the same language. One can hardly attribute a
well-accepted shape to this branch of computer science.

 Most people (including we in Iran) can easily download and install an
explicit message passing system and start writing do-something distributed
programs, while the alternatives are confined to a handful of (mostly CS)
researchers. I think under such conditions it is not fair to try and prove
that the less popular systems should have had some problems that caused such
a fate. No amount of theoretical debate would convince either side.

 What are the sources of the problem? This is what I think:

*) Our distorted view of things. Example: why we have placed PVM and
MPI newsgroups under comp.parallel? The fact that PVM and MPI are mostly
employed to write parallel programs does not justify this obvious misuse of
some important and distinct terms.

 (And now that this subject is brought up, where is the  comp.distributed
newsgroup?)
 
*) Software: How many mainstream software developers (especially operating
system vendors like SUN, SGI, Digital, Microsoft, etc.) have introduced the
_simple_ concept of Distributed Shared Memory in their products? I believe
the number is very small. This is unfortunate, considering how _easy_ and
_cheap_ it is to add a page-based, Transparent-DSM  IPC extension to any
operating system that has memory protection! I have done it in DIPC for the
Linux OS ( http://wallybox.cei.net/dipc ) with few problems. This becomes
more strange when one sees that these companies usually support some
hard-to-find and old hardware in their OSs. Do they think people need such
things more than Transparent DSM which could _readily_ be used by ordinary
programmers?

 (And no, I don't think CORBA and DCOM are enough)

*) Hardware: The problem does not end with commercial software companies. As
an example, Intel's x86 (x >= 3) which is the most popular processor family,
can not make a page of memory not-readable (this is necessary for page-based
Transparent DSM). The only way you can get his effect is by swapping the page
out, which brings unnecessary overhead. This indicates that some influential
hardware designers are either not aware of, or not interested in topics such
as DSM.



 Alternative solutions are not given much chance, are they?

 From my point of view, the problem with distributed programming is not
confined to the disagreements I have seen in these newsgroups. I think a lot
of "cultural" work needs to be done in this domain, and this should not be
confined to non-cs people.

 These are my opinions, and I don't insist that they are all true. I like
distributed programming, and all my postings here are just to do my bit
to help improve it. I am sorry if any one was offended by what I have
written in this or previous emails, as I certainly didn't mean to.


-Kamran



