[Insight-developers] Multi-threading strategies
Blezek, Daniel J (GE, Research)
blezek at crd.ge.com
Tue Sep 11 08:46:49 EDT 2007
My take on the status of ZThreads is that the author wrapped up the API,
changed the license to MIT and then when to work for IBM. He was a
student before. I found the API to be well documented using Doxygen,
and extremely well written about in C++ Practical Programming
(http://www.linuxtopia.org/online_books/programming_books/c++_practical_
programming/index.html) in this chapter
(http://www.linuxtopia.org/online_books/programming_books/c++_practical_
programming/c++_practical_programming_260.html)
We can hardly do better. Beyond the thread pool there is a wealth of
other synchronization classes that we could leverage for other purposes
(fast mutexs, latches, etc...).
Here is a further comparison, looking at the overhead of ZThreads. I
created and call update on a median filter ZThread implementation using
an 8 thread pool with varying number of "chunks" of work. This is on an
8 CPU box. I don't understand why 11, 13 and 14 give such inconsistent
results. 7-8 seconds is what I get with the standard Median filter as a
benchmark.
Probe Tag Starts Stops Time
MedianZ 1 Chunk 1 1 28.578938007354736328125
MedianZ 2 Chunk 1 1 14.76609897613525390625
MedianZ 3 Chunk 1 1 11.375431060791015625
MedianZ 4 Chunk 1 1 9.661273956298828125
MedianZ 5 Chunk 1 1 8.6257951259613037109375
MedianZ 6 Chunk 1 1 7.953671932220458984375
MedianZ 7 Chunk 1 1 7.6634509563446044921875
MedianZ 8 Chunk 1 1 7.311050891876220703125
MedianZ 9 Chunk 1 1 6.9653728008270263671875
MedianZ 10 Chunk 1 1 8.026858806610107421875
MedianZ 11 Chunk 1 1
30.3013870716094970703125
MedianZ 12 Chunk 1 1 7.3554909229278564453125
MedianZ 13 Chunk 1 1
30.2663071155548095703125
MedianZ 14 Chunk 1 1 30.4115161895751953125
MedianZ 15 Chunk 1 1 7.146190166473388671875
-dan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.itk.org/mailman/private/insight-developers/attachments/20070911/6571cea2/attachment.html
More information about the Insight-developers
mailing list