Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Sep 1996 19:24:35 +1000
From:      Julian Assange <proff@suburbia.net>
To:        hackers@freebsd.org
Subject:   DIPC (Distributed IPC)
Message-ID:  <199609050924.TAA00656@suburbia.net>

next in thread | raw e-mail | index | archive | help
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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199609050924.TAA00656>