Hello Gaetan,

I was using SimpleITK to perform some basic operations on images and this 
filter was taking a significant amount of time by comparison. As I was waiting 
I looked at the code, and saw this issue.


I have seen talks on Intel Parallel Studio which includes a multi-threading 
profiling tool which can detect this type of thing, it's only for Visual 
Studio, and I am unaware of comparable open sour tools to analyze similar 
multi-threading issue.


Brad

On Mar 19, 2012, at 3:55 AM, Gaetan Lehmann wrote:

> 
> Hi Brad,
> 
> This is very interesting.
> Could you tell us what you have done to identify this problem?
> 
> Thanks,
> 
> Gaëtan
> 
> 
> 
> Le 16 mars 2012 21:59, Bradley Lowekamp <[email protected]> a écrit :
> After digging a little further I think this problem may better be called 
> "False Sharing" and there is a wikipedia page about it:
> http://en.wikipedia.org/wiki/False_sharing
> 
> Additionally the common cache block size for intel processors is 64 words. 
> And the caching protocols should maintain this consistently between 
> processors if shared.
> 
> Brad
> 
> On Mar 16, 2012, at 3:16 PM, Lowekamp, Bradley (NIH/NLM/LHC) [C] wrote:
> 
>> Hello,
>> 
>> I have just made the StatisticsImageFilter go ~58X faster on my multi-core 
>> platform for large data, by fixing the cache thrashing which was going on:
>> 
>> http://review.source.kitware.com/#/c/4771/1
>> 
>> When adjacent memory is modified by different processors, it must maintain 
>> consistency across the cores. This is of non-trivial expense then considered 
>> on the per-pixel level. If anyone is looking for an example case of bad 
>> cache thrashing I think this it about as good as you can do.
>> 
>> I am just sending this e-mail to make sure everyone is on the look out for 
>> this type of problem, and will take a note (Jira?) of where similar 
>> enhancements can occur.
>> 
>> 
>> Thanks for keeping an eye out,
>> Brad
>> 
>> ========================================================
>> Bradley Lowekamp  
>> Medical Science and Computing for
>> Office of High Performance Computing and Communications
>> National Library of Medicine 
>> [email protected]
>> 
>> 
>> 
>> _______________________________________________
>> Powered by www.kitware.com
>> 
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>> 
>> Kitware offers ITK Training Courses, for more information visit:
>> http://kitware.com/products/protraining.php
>> 
>> Please keep messages on-topic and check the ITK FAQ at:
>> http://www.itk.org/Wiki/ITK_FAQ
>> 
>> Follow this link to subscribe/unsubscribe:
>> http://www.itk.org/mailman/listinfo/insight-developers
> 
> 
> _______________________________________________
> Powered by www.kitware.com
> 
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
> 
> Kitware offers ITK Training Courses, for more information visit:
> http://kitware.com/products/protraining.php
> 
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
> 
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-developers
> 
> 

========================================================
Bradley Lowekamp  
Medical Science and Computing for
Office of High Performance Computing and Communications
National Library of Medicine 
[email protected]



_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html

Kitware offers ITK Training Courses, for more information visit:
http://kitware.com/products/protraining.php

Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ

Follow this link to subscribe/unsubscribe:
http://www.itk.org/mailman/listinfo/insight-developers

Reply via email to