caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Chris Hecker <checker@d6.com>
To: james woodyatt <jhw@wetware.com>, Blair Zajac <blair@orcaware.com>
Cc: The Trade <caml-list@inria.fr>
Subject: Re: [Caml-list] Why systhreads?
Date: Mon, 25 Nov 2002 14:20:11 -0800	[thread overview]
Message-ID: <4.3.2.7.2.20021125134858.037b4ef8@localhost> (raw)
In-Reply-To: <B39CC849-00B9-11D7-AC61-000393BA7EBA@wetware.com>


>If you want your application to parallelize well, the winning design 
>pattern seems to be message passing between distributed memory processes.

I was going to let it drop after the "lecture" (which should be put in a 
faq or something), but come on, this is a silly generalization.  I have 
colleagues who have gotten very large speedups from hyperthreading on 
commercial applications, not demos.  The point is, it's "free" for Intel to 
put it in, and your app is waiting on cache misses and pipeline stalls 
anyway, so you might as well do something with those cycles.  Now you can 
get extra work done during those times in C, but you won't be able to in 
caml, and that's a bummer.  It's not a showstopper, since you can always 
call out to C, but it is yet another thing in the list of features that 
aren't natively exploitable in caml.  Of course there's a cost to enabling 
this in caml, and it may be that there's no good way to do it or that it's 
not worth it cost/benefit-wise, but saying "you don't want to do it anyway" 
is just apologist.

Xavier saying 1.5x is not worth it is really strange to me; most 
performance sensitive programmers I know would kill their mother to get 
1.5x.  I wonder what factor would be worth it for Xavier?

I think the overriding point here is that in the past SMP has not taken off 
on the desktop, so it wasn't worth worrying about for end-user 
applications.  That will no longer be true, simply because it was so cheap 
for Intel to add HT.  From now on, almost all chips they ship will be 
"logically" SMP (barring some unforseen thing where HT isn't used at all 
and becomes expensive to keep in the chip...I assume this is what Xavier 
meant by "last gasp", but I doubt it based on Intel's historic behavior 
with other CPU features).  For commercial application developers, that 
changes the landscape a bit.

It's very similar to MMX and SSE.  Neither technology revolutionized to 
world (like the hype suggested), but once all viable end user machines have 
it, it becomes cost effective to use.  HT is even easier, because unlike 
MMX and SSE, it involves no compiler changes (for C compilers) and is 
backwards compatible.

I am not a big fan of threading; in fact, I think it's almost always a 
cost/benefit lose (except when used to simulate async io) for my kinds of 
applications (games).  However, HT changes the cost/benefit equation.  How 
much remains to be seen, of course.

Chris


-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


  reply	other threads:[~2002-11-25 22:22 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-11-23  9:08 Lauri Alanko
2002-11-24  7:36 ` Sven Luther
2002-11-24 17:41   ` Chris Hecker
2002-11-24 18:12     ` Basile STARYNKEVITCH
2002-11-24 21:10       ` Christopher Quinn
2002-11-24 17:14 ` Vitaly Lugovsky
2002-11-24 17:18   ` Lauri Alanko
2002-11-24 18:27   ` Dmitry Bely
2002-11-24 23:14     ` Vitaly Lugovsky
2002-11-27 14:33       ` Tim Freeman
2002-11-29 13:25         ` Vitaly Lugovsky
2002-11-25 10:01 ` Xavier Leroy
2002-11-25 14:20   ` Markus Mottl
2002-11-25 19:01   ` Blair Zajac
2002-11-25 21:06     ` james woodyatt
2002-11-25 22:20       ` Chris Hecker [this message]
2002-11-26  6:49         ` Sven Luther
2002-11-27 13:12         ` Damien Doligez
2002-11-27 18:04           ` Chris Hecker
2002-11-27 21:04             ` Gerd Stolpmann
2002-11-27 21:45               ` [Caml-list] Calling ocaml from external threads Quetzalcoatl Bradley
2002-11-26  9:02     ` [Caml-list] Why systhreads? Xavier Leroy
2002-11-26  9:29       ` Sven Luther
2002-11-26  9:34         ` Xavier Leroy
2002-11-26  9:39           ` Sven Luther
2002-11-26 18:42       ` Chris Hecker
2002-11-26 19:04   ` Dave Berry
2002-11-27  0:07   ` Lauri Alanko
2002-11-26 19:23 Gregory Morrisett

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4.3.2.7.2.20021125134858.037b4ef8@localhost \
    --to=checker@d6.com \
    --cc=blair@orcaware.com \
    --cc=caml-list@inria.fr \
    --cc=jhw@wetware.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).