Hi Biran! 
 
I don't know how to do that! SfClusterSplit() has no additional otions, for vector length! 
 
I think for my purpose it would be good, to have blocks of 100 Pixels, 
 
seq = 1:2748620
nCpus = 4 
 
After a Cpu has finished 100 of thouse 2748620 it gets the next 100 and so on...
 
Thanks for help, greatings Matteo
  


>>> "Brian G. Peterson" <brian@braverock.com> 11.08.2009 13:00 >>>
Matteo Mattiuzzi wrote:
> Hello!
>  
> I'm processing Raster-images splitting the work on a quadcore CPU using snowfall.
> The Problem is, that in the images there are areas with much CPU work and other with less. Using "sfInit(parallel=TRUE, cpus=4)" some CPU has very much work to do (~12h) and the other just a few minutes.
>  
> The function I use is "sfLapply()" because it had the best "system.time()" results. I tryed "sfClusterApplyLB()" but CPUs work here with quite low performance (~15% each) and it took more time.
>  
> Using "sfClusterSplit()" the vector is divided in 4 consecutive parts, I'm looking for a different method to divide that vector:
>  
> Example: not  V1 = 1,2,3; V2= 4,5,6 but V1=1,3,5; V2=2,4,6, or maybe divided by random is good too.
>  
> Thanks to all, geatings Matteo
>   
Split your task into more pieces than 4 using a vector length that is 
some multiple of 4 to divide the work into smaller pieces.   If you 
divide it into smaller parts, the work will be distributed round-robin 
style to the CPU's as they become available.  This should minimize the 
unequal loading.

   - Brian

-- 
Brian G. Peterson
http://braverock.com/brian/
Ph: 773-459-4973
IM: bgpbraverock



	[[alternative HTML version deleted]]

