[prev in list] [next in list] [prev in thread] [next in thread]
List: freebsd-hackers
Subject: DIPC (Distributed IPC)
From: Julian Assange <proff () suburbia ! net>
Date: 1996-09-05 9:24:35
[Download RAW message or body]
Path: news.aus.world.net!news.us.world.net!news.inc.net!news.moneng.mei.com!bloom-beacon.mit.edu!news.mathworks.com!uunet!in3.uu.net!liw.clinet.fi!usenet
From: karimik@sun.iust.ac.ir
Newsgroups: comp.os.linux.announce
Subject: DIPC (Distributed IPC)
Followup-To: comp.os.linux.development.apps
Date: Fri, 16 Aug 1996 07:21:40 GMT
Organization: ?
Lines: 118
Approved: linux-announce@news.ornl.gov (Lars Wirzenius)
Message-ID: <cola-liw-840180100-17039-0@liw.clinet.fi>
NNTP-Posting-Host: localhost
X-Cache: nntpcache 0.92.4UL (cf. ftp://nntpcache.org/nntpcache)
-----BEGIN PGP SIGNED MESSAGE-----
From: karimik@sun.iust.ac.ir (Kamran Karimi)
Subject: DIPC (Distributed IPC) update
Organization: IUST (Iran University of Science & Technology)
Keywords: distributed parallel programming multi computer Kernel IPC DSM
WAN TCP/IP heterogeneous
Version 0.15 (alpha) of DIPC is now available. It allows you to use stand
alone computers connected over a TCP/IP network to work towards the same
goal.
This replaces version 0.10. The update includes bug fixes, new features,
much more documents, more examples and new tools.
It can be obtained by anonymous ftp from sunsite.unc.edu, in directory
/pub/Linux/Incoming, or /pub/Linux/ALPHA.
The original announce of DIPC version 0.10 follows. You can find some
information about DIPC and also addresses to contact me here.
Good news for Linux power users!
I am glad to announce the availability of a pre-alpha system for programming
distributed applications, very easily.
It works by making System V IPC mechanisms (shared memory, semaphores and
messages) network transparent. Meaning that programs on different machines
can use the same IPC key to exchange data and synchronize between themselves
without bothering about the network.
This is called 'Distributed IPC', or DIPC.
Programs on different machines can use a key to get a shared region of
memory. They can all read from it, and a write by one process will
automatically become visible to others . This brings 'Segment Based'
Distributed Shared Memory (DSM) to Linux.
Messages can also be used to pass data in a synchronous way between
machines.
Semaphores are used to arbitrate access to the shared memory or the message
queues.
DIPC is a very simple system that seems to work well. The main parts of it
run in user space.
It has some advantages:
*) There is no need to know about network programming.
*) Unlike other distributed programming facilities, there are no new and
complex material to learn. If you are familiar with System V IPC, you
are already prepared to use DIPC. In any case you can find plenty of
information about System V IPC in many books written by professionals.
This is one less thing to worry about.
*) Existing software, possibly designed for multiprocessor systems, which
use System V IPC can easily be converted to distributed software.
*) You can write (and to a great extend test) a distributed application
on a single machine.
*) Some distributed systems require the programmer to take active role in
any data exchange across the network. This gives the ultimate flexibility
but makes the programmer's work harder. Others, like page-based DSM
systems, do data exchanges transparently, but the user has little say
in what and how much is transferred. many problems, like false sharing,
can occur.
In DIPC, as the programmer determines the size of data exchanges
(shared memory and message sizes) (s)he can tune the performance if
(s)he wants to. It means ease of programming and controllability at the
same time.
*) DIPC was designed with a heterogeneous environment in mind.
*) At least in theory, one may be able to use DIPC on WANs (Wide Area
Networks). This may be a major advantage.
DIPC can be used on a TCP/IP network. To use it, some changes must be
done to the kernel (I used kernel 1.2.8 and gcc 2.6.3 on 486 machines). A
manager program should also be running in user space. You can obtain the
necessary files and information from the linux Incoming (or ALPHA) directory
in sunsite.unc.edu.
Note that DIPC is still very alpha. Little testing has been done on it.
But This is the main reason I am making this public: to find as many bugs as
possible.
If you have questions about DIPC, send a mail to me. I am Kamran Karimi, a
graduate software student at IUST (Iran University of Science & Technology),
working towards an MS.
My e-mail address: karimik@sun.iust.ac.ir
My s-mail address: Kamran Karimi
-----BEGIN PGP SIGNATURE-----
Version: 2.6.2i
iQCVAwUBMhQgUIQRll5MupLRAQFSkAQA1cS39rCS+kiQ5DYtZmZZemopnIO/3WNy
eeJjY/zNsVNAgrIHmjgtdvolKBhKrAUUlhtaJ7koCaCiURNdER6wzO+NVjBvpWGw
HlRmGi9W9m4qVzgrR7Wrcz7j0TTQjCkXHmmCna+qmpEKQtHfT65OcKlM0fBowoda
dCUVXQls9hI=
=VlbE
-----END PGP SIGNATURE-----
--
This article has been digitally signed by the moderator, using PGP.
Finger wirzeniu@kruuna.helsinki.fi for PGP key needed for validating signature.
Send submissions for comp.os.linux.announce to: linux-announce@news.ornl.gov
PLEASE remember a short description of the software and the LOCATION.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic