Re: MOSIX and kernel mods.

Kamran Karimi (karimi@cs.uregina.ca)
Thu, 4 Mar 1999 22:42:12 -0600 (CST)


On Fri, 5 Mar 1999, Richard Gooch wrote:

> As I said before, if it's just for you and your friends, and you
> understand the pitfalls, then fine (of course, then patches to the
> official kernel aren't appropriate).
>
> If you're providing this for others, then I think you've doing them a
> disservice, because you're giving something that looks really nice,
> but has too many hidden traps.

Let me explain: People can use DIPC to write a distributed program, and
yes, they may even use shared memory locks (DIPC's documentation
discourages people from doing such things, and proposes better ways).
The application will run, even if it is slow. _IF_ the programmer thinks
that he needs more speed-up, then he can start changing the application.

BTW, nearly all OS text books mention that using memory locks in a
user application is not a good idea, even in a single system. Semaphores
are the "politically correct" mechanism for synchronization.

Many of the current distributed applications were designed with the goal
of getting as much speed up as possible. This is my belief (and hope)
that system like DIPC will open the doors for other classes of
distributed applications. Other than that, a DIPC program is
multi-processor-ready, meaning that by targetting an MP architecture the
programmer can get a distributed application for almost free.

This is all about the way we think about computing. For me, people
should optionally have a unifying software layer that not only hides
things like I/O programming and memory managment, but also the existance
of a network in the system. programmers can then decide if they want to
use this high-level layer, or access the lower ones. Without the option,
there is no choice.

One can also think of a psychological reason as to why some people don't
like concepts like DSM. Imagine you have been writing distributed apps
for years "the hard way" (and getting payed very well for it). Now what
happens if suddenly everybody can do about the same thing? Of course an
expert assembly language programmer always has some advantages over
someone who only uses JAVA, but hey, the JAVA programmer can do a lot of
work, and finish the projects faster too! It is quite understandable if
our imaginary assembly programmer starts bashing JAVA (and all other high
level languages, for that matter) by labeling them "ineficient", "hiding
the reall way the hardware works (flawed?)", etc.

Now, other branches of Computer Science moved on from such discussions a
long time ago, because people needed easier programming models. But
since distributed programming is still the realm of a selected few, this
branch has to struggle with such issues today.

-Kamran

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/