Askemos 2000 (Archive)
home · features · download · archive
FPGA · PTProposal · RPC · WrapBit
LLD

RPCisBrokenByDesign

RPC is broken by design

These days lots of systems aim to provide distributed computation. Most of them are based on the RPC mechanism.

Given that fact the title is a bit provoking. But before we get lost in technical details until we run out of arguments, let's try to reason it the way the non-computer person will understand it...

RPC is a mechanism to transfer a bit of information from one machine to another. At the same time it provides a mechanism to notify the receiver about the just arrived info and have it act upon it. Finally it transfers the reply back to the sender.

First of all, let's forget that we could have invented something new with computers. Neither are the communication processes new.

Now lets compare the RPC mechanism with the real world. Think of the info exchange as of a letter. If it was the best way to send every letter including an answer form and have the postman wait in front of the receiver until it's completed -- we would do so.

But we don't. We use *at most* that much of an answer form, that the postman fills in a receipt assuring the letter was actually handed to the receiver. And even that is mechanism is used only for a small percentage of all mail we send.

That much for one example. But let's look at nervous systems. They exchange small amounts of information between the cells all time. Again that's a one way transaction.

At the other hand RPC was expressivly invented to hide the distribution of objects, and make calls appear as if they where local.

And it does a real good job at that. But's the wrong goal.

I love to compare the situation with actors at a stage. It's actually possible for one artist to play multiple roles. Most of the time it's done cause there's a lack of more artists, money etc., sometimes because of other special intention. Most plays simply need more artists.

The RPC coupled network really appears as if everything was local. And though it's as powerful as if it was local.

But networks are much more powerful that single turing machines.

My claim: we need to base distributed computation on unidirectional, asynchronous message exchange methods.

Related work

  • my 1994 ~/doc/PTProposal?.sgml which I prepared to express data driven computation in FPGA? boards
  • A second invention of th same processing model can be found under: http://www.cs.columbia.edu/dcc/netscript/ There the target are network components like routers and end nodes. But that's virtualy the same. And look at the abstract data model and see it's identical!
  • more at that under related work under http://www.isi.edu/xbone/
  • mail/news and irc are the strongest services of the net. Napster is sort of irc for file sharing (dcc connections) and it makes entertainment industry fear. http://opennap.sourceforge.net/
  • my wrapbit prototype! Related Work: WrapBit? nochmal: http://aachen.amergin.org/

Last Modifikation (except editing): 2000-03-21T09:52:02+1:00





border
last modification: Wed Dec 27 11:46:51 2000
authors: jfw,
document identifier: A849640f672ed0df0958abc0712110f3c
delivered to public at Sun, 19 May 2013 13:41:52 +0200
short comments display (1)


rss

pdf :: context view

search



24 Apr 2004 DefineInsecureMode
12 Dez 2010 FreeBSD
07 Dez 2010 BALLFeatures
05 Dez 2010 ByzantineAgreement
04 Dez 2010 SQLITE
03 Dez 2010 SRS
12 Okt 2010 WebDAV
12 Sep 2010 SQL
16 Jun 2010 BALL
16 Jun 2010 CouchDB
16 Jun 2010 AskemosServer
07 Mai 2010 SystemRequirements
30 Mar 2010 ProjectsOnThePlate
30 Mar 2010 AskemosResources
30 Mar 2010 RSchemeInstall
30 Mar 2010 INSTALL
30 Mar 2010 ChickenScheme
debug-access.scm
27 Nov 2009 subscriber
development
12 Jul 2009 test
01 Jul 2009 TrustCenter
27 Dez 2008 JKomG
26 Dez 2008 FanOut
26 Dez 2008 MIME
NetBSD
NOTE
02 Mai 2006 AskemosTopMenu
18 Nov 2008 StorageAdaptor
18 Nov 2008 PStoreStorageAdapt
18 Nov 2008 OperationTips
15 Nov 2008 PCRE
04 Nov 2008 ProgrammingLanguag
09 Sep 2008 RelatedProjects
23 Jul 2008 ModuleStructure05
17 Jun 2008 NEWS
17 Jun 2008 HTML
17 Jun 2008 ACM
22 Mai 2008 HTTP
22 Mai 2008 BOSH
10 Mai 2008 AskemosBibliograph
10 Mai 2008 JerrysDreamAbstrac
20 Apr 2008 XSLT
11 Mar 2008 CodingStyle
10 Mar 2008
09 Mar 2008 MIMEConverter
BSD
07 Mar 2008 XML
06 Mar 2008 SRFI
01 Mar 2008 RFC4810
01 Mar 2008 RFC4998






Add


home · features · download · archive