* Re: multi reads, single write
[not found] ` <833uh9$e4p$1@pravda.ucr.edu>
@ 1999-12-14 0:00 ` Vladimir Olensky
1999-12-14 0:00 ` Tom Payne
0 siblings, 1 reply; 8+ messages in thread
From: Vladimir Olensky @ 1999-12-14 0:00 UTC (permalink / raw)
Tom Payne wrote in message <833uh9$e4p$1@pravda.ucr.edu>...
>Vladimir Olensky <vladimir_olensky@yahoo.com> wrote:
>[...]
>> First of all Kostas Kostiadis (original poster) was asking: "Hello
>> all, I just want to ask your opinion(s) as to what is the most
>> efficient way to implement a "multiple-reads, single write"
>> scenario."
>[...]
>> My answer was exactly how to do that in a very simple and efficient
>> way - using protected types in Ada that are specially designed for
>> "multi-read single write" scenario in multithreaded/multitasking
>> environment.
>
>Your answer does not, however, respond to the question of "what is the
>most efficient way to implement" a CREW protocol. It merely states
>that all Ada implementations have a built-in implementation, which is
>interesting but not particularly helpful.
Ada 95 implementations guarantee that this is done in the most
efficient way for a given platform.
Remember that Ada 95 was designed for "hard" real-time systems
including embedded ones.
Regards,
Vladimir Olensky
=============================================
Some quotes from Ada ARM (9.1):
From the implementation perspective, a protected object
is designed to be a very efficient conditional critical
region (see 9.1.3). The protected operations are automatically
synchronized to allow only one writer or multiple readers.
The protected operations are defined using a syntax similar
to a normal subprogram body, with the mutual exclusion of
the critical region happening automatically on entry, and
being released automatically on exit.
9.1.3 Efficiency of Protected Types
Protected types provide an extremely efficient mechanism;
the ability to use the thread of control of one task to execute
a protected operation on behalf of another task reduces the
overhead of context switching compared with other paradigms.
Protected types are thus not only much more efficient than the
use of an agent task and associated rendezvous, they are also
more efficient than traditional monitors or semaphores in many
circumstances.
<...>
Ada 95 protected objects are an amalgam of the best features
of conditional critical regions and monitors: they collect all the
data and operations together, like monitors, and yet they have
barriers, like conditional critical regions. The barriers describe
the required state that must exist before an operation can be
performed in a clear manner which aids program proof and
understanding. Protected objects are very similar to the shared
objects of the Orca language developed by Bal, Kaashoek and
Tanenbaum [Bal 92].
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: multi reads, single write
1999-12-14 0:00 ` multi reads, single write Vladimir Olensky
@ 1999-12-14 0:00 ` Tom Payne
0 siblings, 0 replies; 8+ messages in thread
From: Tom Payne @ 1999-12-14 0:00 UTC (permalink / raw)
In comp.programming.threads Vladimir Olensky <vladimir_olensky@yahoo.com> wrote:
> Tom Payne wrote in message <833uh9$e4p$1@pravda.ucr.edu>...
[...]
>>Vladimir Olensky <vladimir_olensky@yahoo.com> wrote:
>>[...]
>>> My answer was exactly how to do that in a very simple and efficient
>>> way - using protected types in Ada that are specially designed for
>>> "multi-read single write" scenario in multithreaded/multitasking
>>> environment.
>>
>>Your answer does not, however, respond to the question of "what is the
>>most efficient way to implement" a CREW protocol. It merely states
>>that all Ada implementations have a built-in implementation, which is
>>interesting but not particularly helpful.
[...]
> =============================================
> Some quotes from Ada ARM (9.1):
[...]
> Ada 95 protected objects are an amalgam of the best features
> of conditional critical regions and monitors: they collect all the
> data and operations together, like monitors, and yet they have
> barriers, like conditional critical regions. The barriers describe
> the required state that must exist before an operation can be
> performed in a clear manner which aids program proof and
> understanding. Protected objects are very similar to the shared
> objects of the Orca language developed by Bal, Kaashoek and
> Tanenbaum [Bal 92].
That's helpful and interesting, especially the last sentence.
Thanks, ;-)
Tom Payne
^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <slrn85ahtm.709.kaz@ashi.FootPrints.net>]
[parent not found: <3854FCC0.D0127CD8@bbnplanet.com>]
* multi reads, single write
@ 1999-12-12 0:00 Vladimir Olensky
1999-12-14 0:00 ` Samuel T. Harris
0 siblings, 1 reply; 8+ messages in thread
From: Vladimir Olensky @ 1999-12-12 0:00 UTC (permalink / raw)
Few days ago I mentioned about comp.programming.threads
group where I found no referencies to Ada at all. I thought that
it is not very good and I replied there at some posts.
One of them to "multi reads, single write" post caused
some discussion about Ada.
Anyone who is interested in promoting Ada there
could join that discussion.
Multitasking is one of the outstanding Ada features and
I am sure that Ada should be presented at
comp.programming.threads.
Regards,
Vladimir
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: multi reads, single write
1999-12-12 0:00 Vladimir Olensky
@ 1999-12-14 0:00 ` Samuel T. Harris
0 siblings, 0 replies; 8+ messages in thread
From: Samuel T. Harris @ 1999-12-14 0:00 UTC (permalink / raw)
Vladimir Olensky wrote:
>
> Few days ago I mentioned about comp.programming.threads
> group where I found no referencies to Ada at all. I thought that
> it is not very good and I replied there at some posts.
> One of them to "multi reads, single write" post caused
> some discussion about Ada.
>
> Anyone who is interested in promoting Ada there
> could join that discussion.
>
> Multitasking is one of the outstanding Ada features and
> I am sure that Ada should be presented at
> comp.programming.threads.
>
> Regards,
> Vladimir
Why don't you include comp.lang.ada in your posts
to comp.programming.threads? That way this audience
will naturally contribute to that audience and
vice versa.
--
Samuel T. Harris, Principal Engineer
Raytheon, Scientific and Technical Systems
"If you can make it, We can fake it!"
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~1999-12-16 0:00 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <3847B024.EC4FD04F@essex.ac.uk>
[not found] ` <s55ijfn65347@corp.supernews.com>
[not found] ` <S8D44.2440$Fg4.55139@cac1.rdr.news.psi.ca>
[not found] ` <s57jva4653132@corp.supernews.com>
[not found] ` <It254.26$0M4.4114@cac1.rdr.news.psi.ca>
[not found] ` <s59nkfe15396@corp.supernews.com>
[not found] ` <833uh9$e4p$1@pravda.ucr.edu>
1999-12-14 0:00 ` multi reads, single write Vladimir Olensky
1999-12-14 0:00 ` Tom Payne
[not found] ` <slrn85ahtm.709.kaz@ashi.FootPrints.net>
[not found] ` <s5at141453168@corp.supernews.com>
[not found] ` <slrn85b2bs.b2j.kaz@ashi.FootPrints.net>
1999-12-15 0:00 ` Vladimir Olensky
[not found] ` <3854FCC0.D0127CD8@bbnplanet.com>
[not found] ` <s5d9d16j5397@corp.supernews.com>
[not found] ` <3858F8FA.CA9BD032@bbnplanet.com>
1999-12-16 0:00 ` Mike Silva
1999-12-16 0:00 ` Laurent Guerby
1999-12-16 0:00 ` Mike Silva
1999-12-12 0:00 Vladimir Olensky
1999-12-14 0:00 ` Samuel T. Harris
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox