caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Eray Ozkural <examachine@gmail.com>
To: Jon Harrop <jonathandeanharrop@googlemail.com>
Cc: caml-list@yquem.inria.fr
Subject: Re: [Caml-list] SMP multithreading
Date: Thu, 18 Nov 2010 03:00:09 +0200	[thread overview]
Message-ID: <AANLkTimPYO5hLZogR3E=cX+2r3aND2fBcYgFkvW6S_g-@mail.gmail.com> (raw)
In-Reply-To: <AANLkTi=tS4EybFRP4pvbeUdncp9yjd7u5TCiGZN7N1aM@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 4486 bytes --]

http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1650134

This is one of the more recent papers a quick search turns up, but you have
to keep in mind that thread extraction is only one problem among many for a
parallelizing compiler. I think the keyword you are looking for is "thread
extraction". And here probably, it's the simplest kind of extraction... Food
for some thought: assume that you have a very good compiler pass that
extracts all possible threads in the sequential code, can you name any other
problems the compiler must solve to achieve good performance?

I can't talk at all about the project I worked on, but as I mentioned
previously, familiarize yourself with the RAW project, it was similar in
some respects to the project I worked in:
http://groups.csail.mit.edu/cag/raw/

This should, at least a bit, dispel the illusion that parallelizing
compilers are helpless when they confront C code. Reading the OS/400 book
had opened my mind about OS design, perhaps reading about recent computer
architecture research projects will open others' eyes about compilers, and
how useful they really can be!

Also, I believe there ought to be some textbooks about multi-core
architectures and relevant compilation strategies, let me post it if I find
a comprehensive reference.

The dream compiler would have all the cool linear algebra capabilities of
HPF + the more general/free-form kinds of parallelization strategies in
recent compilers.

Ok, so what you really want to do is, parallelize applications that can
benefit from them. Not file utils or web browsers. If you are so curious,
stuff like povray would be in the test suite. Sometimes the parallelizing
compiler parallelizes computations that a programmer wouldn't bother due to
program complexity, here a basic block, there a basic block, some pipelining
communication/computation overlap there.... I think it's a safe bet to say
that, with all the general lameness surrounding parallel programming
languages, parallelizing compilers will be very important in the near
future.

Cheers,

On Thu, Nov 18, 2010 at 2:28 AM, Eray Ozkural <examachine@gmail.com> wrote:

> Yes, actually. :P
>
>
> On Wed, Nov 17, 2010 at 11:15 PM, Jon Harrop <
> jonathandeanharrop@googlemail.com> wrote:
>
>> Can you cite any papers from this century? ;-)
>>
>>
>>
>> Cheers,
>>
>> Jon.
>>
>>
>>
>> *From:* Eray Ozkural [mailto:examachine@gmail.com]
>> *Sent:* 17 November 2010 13:41
>> *To:* Eray Ozkural; Jon Harrop; caml-list@yquem.inria.fr
>>
>> *Subject:* Re: [Caml-list] SMP multithreading
>>
>>
>>
>> On Wed, Nov 17, 2010 at 8:50 AM, Gabriel Kerneis <kerneis@pps.jussieu.fr>
>> wrote:
>>
>> On Wed, Nov 17, 2010 at 06:27:14AM +0200, Eray Ozkural wrote:
>> > As I said even in C good results can be achieved, I've seen that, so I
>> > know it's doable with ocaml, just a difficult kind of compiler. The
>> > functional features would expose more concurrency.
>>
>> Could you share a pointer to a paper describing this compiler?
>>
>>
>> I can't reveal much, but just to point out that there are indeed more
>> sophisticated compilers than gcc:
>> http://www.research.ibm.com/vliw/compiler.html
>>
>> So, uh, there are compilers that turn loops into threads, and also
>> parallelize independent blocks.... Both coarse-grain and fine-grain
>> parallelization strategies in existing compiler research can be effectively
>> applied to the multi-core architectures. In fact, some of the more advanced
>> compilers (like that of the RAW architecture) must be able to target it
>> already, but who knows. :) Just consider that most of the parallelization
>> technology is language independent, they can be applied to any imperative
>> language. So, would such a thing be able to work on ocaml generated
>> binaries? Most definitely, I believe, it is in principle possible to start
>> from the sequential binary and emit parallel code!
>>
>> Best,
>>
>>
>>
>> --
>> Eray Ozkural, PhD candidate.  Comp. Sci. Dept., Bilkent University, Ankara
>> http://groups.yahoo.com/group/ai-philosophy
>> http://myspace.com/arizanesil http://myspace.com/malfunct
>>
>
>
>
> --
> Eray Ozkural, PhD candidate.  Comp. Sci. Dept., Bilkent University, Ankara
> http://groups.yahoo.com/group/ai-philosophy
> http://myspace.com/arizanesil http://myspace.com/malfunct
>
>


-- 
Eray Ozkural, PhD candidate.  Comp. Sci. Dept., Bilkent University, Ankara
http://groups.yahoo.com/group/ai-philosophy
http://myspace.com/arizanesil http://myspace.com/malfunct

[-- Attachment #2: Type: text/html, Size: 7738 bytes --]

  reply	other threads:[~2010-11-18 13:16 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-15 17:27 Wolfgang Draxinger
2010-11-16  6:46 ` [Caml-list] " Edgar Friendly
2010-11-16 17:04   ` Gerd Stolpmann
2010-11-16 20:35     ` Eray Ozkural
2010-11-16 22:13       ` Gerd Stolpmann
2010-11-16 23:04         ` Eray Ozkural
2010-11-16 23:52           ` Wolfgang Draxinger
2010-11-17  1:55             ` Eray Ozkural
2010-11-17  3:41             ` Jon Harrop
2010-11-17  3:47           ` Jon Harrop
2010-11-17  4:27             ` Eray Ozkural
2010-11-17  6:50               ` Gabriel Kerneis
2010-11-17 13:41                 ` Eray Ozkural
2010-11-17 21:15                   ` Jon Harrop
2010-11-18  0:28                     ` Eray Ozkural
2010-11-18  1:00                       ` Eray Ozkural [this message]
2010-11-16 19:07   ` Norman Hardy
2010-11-17 16:34   ` David Allsopp
2010-11-19 13:57     ` Eray Ozkural
2010-11-16 12:47 ` Sylvain Le Gall
2010-11-17 11:12   ` [Caml-list] " Goswin von Brederlow
2010-11-17 11:34     ` Sylvain Le Gall
2010-11-17 23:08       ` [Caml-list] " Christophe Raffalli
2010-11-19  9:01         ` Christophe TROESTLER
2010-11-19 15:58           ` Goswin von Brederlow
2010-11-20 11:55             ` Jon Harrop
2010-11-20 20:57               ` Goswin von Brederlow
     [not found] ` <AANLkTinyN2hHxm6ha2Yq4nx6NxY3So=BhFN_-EHKYfyc@mail.gmail.com>
2010-11-16 14:11   ` Wolfgang Draxinger

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='AANLkTimPYO5hLZogR3E=cX+2r3aND2fBcYgFkvW6S_g-@mail.gmail.com' \
    --to=examachine@gmail.com \
    --cc=caml-list@yquem.inria.fr \
    --cc=jonathandeanharrop@googlemail.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).