From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,1eef1e815cf70416 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Received: by 10.68.223.40 with SMTP id qr8mr2558581pbc.0.1339243446427; Sat, 09 Jun 2012 05:04:06 -0700 (PDT) Path: l9ni33541pbj.0!nntp.google.com!news1.google.com!postnews.google.com!z19g2000vbe.googlegroups.com!not-for-mail From: Maciej Sobczak Newsgroups: comp.lang.ada Subject: Re: Distributed Systems Annex, data sharing between programs Date: Sat, 9 Jun 2012 05:02:19 -0700 (PDT) Organization: http://groups.google.com Message-ID: <6c92c206-0bfe-49ad-a732-fa93949e3032@z19g2000vbe.googlegroups.com> References: <0d661453-423c-484b-90cd-4e80ffe1db5b@6g2000vbv.googlegroups.com> NNTP-Posting-Host: 83.3.40.82 Mime-Version: 1.0 X-Trace: posting.google.com 1339243446 18409 127.0.0.1 (9 Jun 2012 12:04:06 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Sat, 9 Jun 2012 12:04:06 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: z19g2000vbe.googlegroups.com; posting-host=83.3.40.82; posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:12.0) Gecko/20100101 Firefox/12.0,gzip(gfe) Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Date: 2012-06-09T05:02:19-07:00 List-Id: On 9 Cze, 03:10, tmo...@acm.org wrote: > >The solution is to stop thinking in terms of RPC (remote procesure > >calls), and start thinking in terms of messages. > > =A0 How about asynchronous remote procedure calls. =A0They just > fire-and-forget Exactly. The difference is that with messages you do not have to *forget*. Firing and forgetting is easy - but firing and getting results later on or just checking what has succeeded and what has not is an entirely different use case. Messaging provides a valid solution to this problem, while RPC not so much. >=A0Or in the > example of possibly dead targets, use synchronous RPC that handles > Communication_Error. That can take several hundred milliseconds (or even many seconds) for a failing call. Remember - you have *thousands* of targets. > =A0 But setting up the partition mapping for thousands of partitions migh= t > indeed be inappropriate. =A0;) Yep. The point is - this is no longer a single program. Just as our communication here is not between separate partitions of a single human entity, but rather between separate and autonomous entities. Look, we don't even need to be awake at the same time for this communication to happen. Why? How would you do that with "calls" instead of "messages"? Our posts here are messages, not calls. -- Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com