From: Jon Harrop <jon@ffconsultancy.com>
To: caml-list@yquem.inria.fr
Subject: Re: [Caml-list] OCaml Summer Project decisions are in
Date: Mon, 21 Apr 2008 12:17:34 +0100 [thread overview]
Message-ID: <200804211217.35063.jon@ffconsultancy.com> (raw)
In-Reply-To: <480C5D45.7020903@exalead.com>
On Monday 21 April 2008 10:24:21 Berke Durak wrote:
> Many people already have dual cores under their desks,
The dual core Athlon64 X2 CPUs used in our machines were released three years
ago.
> so quad cores should be the norm in a year or two.
Quad cores are already the norm.
An *eight* core Dell Precision T7400 now costs only £1,171. Our desktop
machines will be replaced with these eight core machines before the end of
this year.
> I'd hate to see Ocaml become one of the slower languages.
For many applications, that already happened.
> That way one could embed multiple Ocaml libraries in programs written in
> other languages (which could allow easier monetization of Ocaml software
> ;).
There are many other issues that prevent the commercialization of OCaml
libraries.
> Also, we could explore alternate paths to paralellism, such as running
> multiple Ocaml interpreters/runtimes in different threads with disjoint
> heaps. Those threads would run truly in parallel on different CPUs.
Communication is too slow for that to be useful outside a few niche
applications.
> I personally don't believe much in fine-grained parallelism using threads
> and locks because it makes the GC difficult,
This is certainly a difficult problem but you cannot compete without a
concurrent GC now.
> relies on the notoriously difficult to use and non-composable
> synchronization mechanisms such as locks and mutexes,
Locks are actually very usable in F# thanks to the ubiquity of immutable data
structures and the availability of higher-order functions.
Microsoft's Task Parallel Library (TPL) for .NET makes data parallelism
without explicit locks even easier.
> doesn't scale to distributed computing,
Irrelevant. The vast majority of people have multicore machines and not
distributed clusters. Distributed computing may become importantant in
desktop machines when we exceed 256 cores but that will not happen in the
next decade.
> and doesn't run as fast as most people think it would because of bus/cache
> contention.
With the latest version of .NET, F# now beats OCaml on most benchmarks.
> I certainly don't want to discourage anyone from writing a parallel GC!
Indeed, a concurrent GC is essential for the survival of the OCaml language,
whether that culminates from this project or is "borrowed" by OCamlJava.
--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/products/?e
next prev parent reply other threads:[~2008-04-21 11:24 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-18 14:51 Yaron Minsky
2008-04-18 15:46 ` [Caml-list] " Jon Harrop
2008-04-18 16:42 ` Dario Teixeira
2008-04-18 19:23 ` Yaron Minsky
2008-04-19 8:46 ` Berke Durak
2008-04-19 14:21 ` Benjamin Canou
2008-04-20 16:12 ` Xavier Leroy
2008-04-21 9:24 ` Berke Durak
2008-04-21 11:17 ` Jon Harrop [this message]
2008-04-19 11:29 ` Francois Pottier
2008-04-19 15:11 ` Dario Teixeira
2008-04-19 13:38 ` Sylvain Le Gall
2008-04-20 20:06 ` [Caml-list] " Florian Hars
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=200804211217.35063.jon@ffconsultancy.com \
--to=jon@ffconsultancy.com \
--cc=caml-list@yquem.inria.fr \
/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