comp.lang.ada
 help / color / mirror / Atom feed
From: Maciej Sobczak <see.my.homepage@gmail.com>
Subject: Re: Distributed Systems Annex, data sharing between programs
Date: Sat, 9 Jun 2012 13:40:07 -0700 (PDT)
Date: 2012-06-09T13:40:07-07:00	[thread overview]
Message-ID: <c43a6257-4b5f-4e88-81ea-8024eaee96ed@5g2000vbf.googlegroups.com> (raw)
In-Reply-To: wcclijw34cg.fsf@shell01.TheWorld.com

On 9 Cze, 17:14, Robert A Duff <bobd...@shell01.TheWorld.com> wrote:

> Do you know about pragma Asynchronous (aspect Asynchronous in Ada 2012)?
> It causes an "RPC" to behave like a message rather than a call

Not really... It is still a call, just without the second part of it.

> So with DSA, you can loop through those thousand machines,
> and do an asynchronous "call" to each.  This just sends
> a thousand messages -- no waiting for replies, no dealing
> with failed nodes, etc.

I want to know which has failed. And I want to get responses or
rejections from those targets that got the message.

In YAMI4 I would create a container of message objects and send them
in a loop. Sending in YAMI4 is asynchronous and therefore non-
blocking, so the loop will execute in a fraction of a second. The
messages will get queued for transmission, but since their
destinations are disctinct, they will be transmitted over independent
channels. The internal mechanics is implemented in a way that allows
to deal with multiple messages in various stages of processing and
this is what will allow them to be physically transmitted in parallel.
Coming back to my application code - after the loop I would do another
loop over the same container of messages, gathering the results,
statuses, etc. I can do that, because I have a message that is a
tangible entity and that allows me to still interact with it. This is
what "asynchronous RPC" (that's an oxymoron) cannot do exactly due to
the integration with the language that is sequential in nature.

--
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com



  reply	other threads:[~2012-06-09 20:40 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-04 18:49 Distributed Systems Annex, data sharing between programs Adam Beneschan
2012-06-05  7:36 ` Maciej Sobczak
2012-06-05 16:02   ` Adam Beneschan
2012-06-05 18:35     ` tmoran
2012-06-06  7:14     ` Jacob Sparre Andersen
2012-06-06  7:39     ` Maciej Sobczak
2012-06-06  8:07       ` Dmitry A. Kazakov
2012-06-06 10:09       ` Niklas Holsti
2012-06-06 11:40         ` Maciej Sobczak
2012-06-06 12:08           ` Dmitry A. Kazakov
2012-06-06 19:17           ` Simon Wright
2012-06-08 11:38             ` Peter C. Chapin
2012-06-08 16:29               ` Simon Wright
2012-06-06 20:02           ` Niklas Holsti
2012-06-07 10:37             ` Maciej Sobczak
2012-06-08  2:11               ` Shark8
2012-06-08  6:31                 ` Pascal Obry
2012-06-08 21:26                 ` Maciej Sobczak
2012-06-09  1:10                   ` tmoran
2012-06-09 12:02                     ` Maciej Sobczak
2012-06-09 12:25                       ` Pascal Obry
2012-06-09 20:29                         ` Maciej Sobczak
2012-06-09  6:59                   ` Dmitry A. Kazakov
2012-06-13 10:55                     ` Marius Amado-Alves
2012-06-13 13:26                       ` Dmitry A. Kazakov
2012-06-14 20:29                       ` tmoran
2012-06-09  9:59                   ` Pascal Obry
2012-06-09 15:14                   ` Robert A Duff
2012-06-09 20:40                     ` Maciej Sobczak [this message]
2012-06-07  0:55           ` BrianG
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox