Version française
Home     About     Download     Resources     Contact us    
Browse thread
SMP multithreading
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Eray Ozkural <examachine@g...>
Subject: Re: [Caml-list] SMP multithreading
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