ECJ-INTEREST-L Archives

January 2010

ECJ-INTEREST-L@LISTSERV.GMU.EDU

Options: Use Proportional Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Sean Luke <[log in to unmask]>
Reply To:
ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Date:
Fri, 22 Jan 2010 08:49:53 -0500
Content-Type:
text/plain
Parts/Attachments:
text/plain (31 lines)
Nope.  Though I would be pretty surprised to find that it made a  
_huge_ difference.

Some stuff to note.  Way back when we had ECJ more heavily  
multithreaded in certain locations.  And discovered that as a result  
it was *slower* than just running on a single CPU.  This is because  
the thread overhead is quite high if your threaded tasks are short in  
duration.

LoadElites is expensive: it's O(n^2) in the worst case.  So it's an  
obvious candidate for parallelization if possible.  And Java's thread   
overhead has reduced since the earlier days described before (but not  
as much as you'd think).  So go for it if you've got a strategy for  
doing so.  But (1) I think it may not be trivial to parallelize  
LoadElites and (2) compared to the evaluation phase -- which usually  
dominates stuff timewise -- ordinarily such a beast wouldn't be that  
costly.  So think carefully first about whether it'd really be worth  
it...

Sean

On Jan 22, 2010, at 7:25 AM, Adam Spalek wrote:

> All,
> I am running SPEA2 on several CPUs. The problem with the  
> SPEA2Breeder class
> is that all of the loadElites(...) loops run just on one CPU. Has  
> anybody
> already developed a support for multi-threads?
> Cheers

ATOM RSS1 RSS2