From: Ludovic Brenta <ludovic@ludovic-brenta.org>
Subject: Re: task-safe hash table?
Date: Thu, 01 Jun 2006 22:03:27 +0200
Date: 2006-06-01T22:03:27+02:00 [thread overview]
Message-ID: <873beoej8w.fsf@ludovic-brenta.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. 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. 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".
If you implement the lookup as a function in the protected object,
then lookups can be concurrent. I think you should benchmark the
actual performance before you decide that it's too slow.
--
Ludovic Brenta.
next prev parent reply other threads:[~2006-06-01 20:03 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 [this message]
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
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