comp.lang.ada
 help / color / mirror / Atom feed
From: Stephen Leake <stephen_leake@acm.org>
Subject: Re: task-safe hash table?
Date: Fri, 02 Jun 2006 06:35:10 -0400
Date: 2006-06-02T06:35:10-04:00	[thread overview]
Message-ID: <uu07326ch.fsf@acm.org> (raw)
In-Reply-To: NZqdnY-dor_w3eLZnZ2dnUVZ_s-dnZ2d@comcast.com

tmoran@acm.org writes:

>> > I think you might be able to get part way by consulting the original
>> > Booch components.
>>
>> The 95 BCs were going to have Synchronized and Guarded extensions, but
>    The app I had in mind was the k-nucleotide shootout benchmark, which
> uses a hash table, running on a multi-core cpu.  If lookups are read-only,
> and are much more frequent than writes, one should be able to do them
> concurrently.  Since a lookup in a hash table is, presumably, pretty fast,
> the overhead of making it Protected would probably kill the gain.  

What "overhead"?

The whole point of the ceiling priority protocol on protected objects
is that they are cheap to access.

I'm not entirely sure what that means in a multi-processor setting,
but it should be at least as fast as any other mechanism.

> But one ought to be able to arrange things so a concurrent lookup
> that comes back with a hit is correct, ie most of the time, while
> one that comes back "we need to add this" would be rare enough that
> interlocking for a second check and possible add wouldn't cancel the
> wall clock savings. 

That sounds perfect for a protected object, with a function for
read/lookup, and a procedure or entry for write/add.

> So this is a very specific test to see what Ada tasking, on a modern
> chip, buys you on this particular app. (I already know it's a win on
> the word count and on a sort.) I'm just hearing too many people say
> "multi-core is dumb because nobody knows how to do concurrent
> programming".

Yes, it would be good to show that Ada helps on this type of problem.

-- 
-- Stephe



  parent reply	other threads:[~2006-06-02 10:35 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-29 21:42 task-safe hash table? tmoran
2006-05-29 22:56 ` John
2006-05-30  0:18   ` tmoran
2006-05-30  3:50     ` John
2006-05-30  4:35       ` tmoran
2006-05-30  9:50         ` Georg Bauhaus
2006-06-01  6:32   ` Simon Wright
2006-06-01 19:30     ` tmoran
2006-06-01 20:03       ` Ludovic Brenta
2006-06-01 20:07       ` Dmitry A. Kazakov
2006-06-02  4:31         ` Jeffrey R. Carter
2006-06-02 10:36         ` Stephen Leake
2006-06-03  6:50         ` tmoran
2006-06-03 20:40           ` tmoran
2006-06-02 10:35       ` Stephen Leake [this message]
2006-06-02 20:19         ` tmoran
2006-06-03 21:10           ` M E Leypold
2006-06-04  0:23             ` tmoran
2006-06-04 12:55           ` Stephen Leake
2006-06-04 17:22             ` tmoran
2006-06-08  1:10               ` Stephen Leake
2006-06-11 13:29               ` Georg Bauhaus
2006-06-04 17:48             ` Simon Wright
2006-06-05  0:23               ` tmoran
2006-06-05 21:57           ` Steve Whalen
2006-06-06 11:10             ` Ole-Hjalmar Kristensen
2006-05-30 15:00 ` Matthew Heaney
replies disabled

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