Message from discussion How Many Processor Cores Are Enough?
NNTP-Posting-Date: Tue, 21 Nov 2006 00:36:02 -0600
From: "Chris Thomasson" <cris...@comcast.net>
References: <firstname.lastname@example.org> <p4USg.7370$UG4.email@example.com> <firstname.lastname@example.org> <4o5e09Fd0nhjU1@individual.net> <email@example.com> <firstname.lastname@example.org> <email@example.com> <firstname.lastname@example.org> <email@example.com> <firstname.lastname@example.org>
Subject: Re: How Many Processor Cores Are Enough?
Date: Mon, 20 Nov 2006 22:49:35 -0800
X-Newsreader: Microsoft Outlook Express 6.00.2900.2869
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2962
X-RFC2646: Format=Flowed; Original
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
"Brian Hurt" <bh...@spnz.org> wrote in message
> n...@cus.cam.ac.uk (Nick Maclaren) writes:
>>That experience debunked the claims of the
>>functional programming brigade that such methodology gave automatic
> Automatic parallelization, no. You're looking for a silver bullet that
> probably doesn't exist. On the other hand, functional programming makes
> writting parallel code much easier to do.
> The biggest problem with parallelized code is the race condition- which
> arise from mutable data. Every peice of mutable data is a race condition
> waiting to happen. Mutable data needs to be kept to an absolute minimum,
> and then handled in such a way that it's correct in the presence of
> I've come to the conclusion that functional programming is necessary-
> just not sufficient.
Your conclusion is wrong. No need to be afraid of mutable data... Just stick
it all in the writer side of a lock-free reader pattern.
> There are two languages I know of in which it may
> be possible to write non-trivial parallel programs correctly and
> maintainably- concurrent haskell with STM and erlang- and both are, at
> their core, purely functional languages.
STM is a no go. Way too much overhead... Here are some of the reasons why:
(simply excellent Wheeler post)