comp.lang.ada
 help / color / mirror / Atom feed
From: "Vladimir Olensky" <vladimir_olensky@yahoo.com>
Subject: Re: multi reads, single write
Date: 1999/12/14
Date: 1999-12-14T00:00:00+00:00	[thread overview]
Message-ID: <s5dc7411qrs59@corp.supernews.com> (raw)
In-Reply-To: 833uh9$e4p$1@pravda.ucr.edu


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].







       reply	other threads:[~1999-12-14  0:00 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [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             ` Vladimir Olensky [this message]
1999-12-14  0:00               ` multi reads, single write 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
replies disabled

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