comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Simp,e example for 2 tasks
Date: Mon, 22 Sep 2014 21:27:02 +0200
Date: 2014-09-22T21:27:02+02:00	[thread overview]
Message-ID: <e6jsjjsrl3b2.vn2u4jrxt2dk.dlg@40tude.net> (raw)
In-Reply-To: c8b7b9Fk1l2U1@mid.individual.net

On Mon, 22 Sep 2014 21:16:14 +0300, Niklas Holsti wrote:

> On 14-09-22 20:48 , Jeffrey Carter wrote:
>> On 09/22/2014 12:18 AM, Niklas Holsti wrote:
>>>
>>> Hmm... I don't quite agree with that. It seems to me that rendez-vous
>>> interaction between tasks could be implemented in a distributed system,
>>> as long as the entry parameters can be passed by value or by copy-in
>>> copy-out. It is the global shared variables and reference parameters
>>> that would make a distributed approach difficult for Ada programs using
>>> such constructs. I don't know Erlang well enough to understand if it has
>>> some solution for that, or if it simply forbids such things.
>> 
>> Well, of course one can implement rendezvous between tasks in different
>> partitions in a distributed system, since that's possible through the DSA.
> 
> I meant, rather, that an Ada RTS could have implemented distributed
> rendez-vous without (and before) the DSA -- that the mere fact that
> rendez-vous is synchronous does not mean that it cannot be distributed.

Which can and is. Another name for it is RPC.

> I'd bet that most distributed systems today communicate through
> synchronously used, bidirectional, TCP request-reply streams, not
> through asynchronous message-passing with long queues. But I include
> web-based applications as distributed systems.

Synchronous calls are much easier to use program. They become less
expensive with more cores.

Asynchronous messaging in this context make no sense at all. Provided under
messaging we understand a request-response schema. Buffering does not
improve latencies when a positive acknowledge or other response is
required.

IMO, the real use case for asynchronous communication is one directional
exchange, e.g. data and event distribution without positive acknowledging.
Specifically, publisher/subscriber schemas with avoiding priority inversion
or blocking the publisher etc. This is where asynchronous communication
really shines.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


      reply	other threads:[~2014-09-22 19:27 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-21 13:31 Simp,e example for 2 tasks Stribor40
2014-09-21 15:59 ` Dennis Lee Bieber
2014-09-21 16:03   ` Stribor40
2014-09-21 22:26     ` Dennis Lee Bieber
2014-09-21 16:09 ` Dmitry A. Kazakov
2014-09-21 16:28 ` Stribor40
2014-09-21 17:00 ` Brad Moore
2014-09-21 20:33   ` Jeffrey Carter
2014-09-22  7:18     ` Niklas Holsti
2014-09-22 17:48       ` Jeffrey Carter
2014-09-22 18:16         ` Niklas Holsti
2014-09-22 19:27           ` Dmitry A. Kazakov [this message]
replies disabled

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