Does any imaging software support multi-threading?
Does any imaging software support multi-threading?
I'm going to answer my own question guymager
http//guymager.sourceforge.net/
I was wondering why my imaging yesterday was flying on my old Core 2 Duo laptop when using guymager.
Parallel processing, multi-threading etc is something that is under used in software, and heavily promoted in hardware.
The major problem is that many tasks are largely serial. Imaging is read a portion of the disk and write the same data to a different disk. The bottle neck is normally the speed or reading and of writing. To make use of extra cores one needs to write the previous buffer at the same time as reading the next buffer. It does also depend on how the operating system handles multiple simultaneous read and writes.
From a software developer view point is is something I would love to add more to my software, but so many functions are read / process / write. The one area I found good for multiple core use is in writing data, I use a separate thread for writing to disk, calculating MD5 and optionally calculating SHA-256. ie 2 or 3 tasks all running with the same data buffer.
One reason your guy manager may have been so fast was if it was compressing the output, and the disk was largely blank. It may have saved maybe 90% of all write operations.
Microsoft and Intel are bring out more tools to help developers but I fear much of the time, processes will remain I/O bound and processor bound.
Yes, the hard drive read/write operations have always been the bottleneck for me. Even with eSATA on separate controllers (the first for the write blocker and the second for the drive on which the image is being created), imaging (non-compressed) still usually tops out at 60 MBps (480 Mbps) for me. I'm certain this is mostly since I deal with mechanical drives - I've yet to run into a SSD, at which time I'll consider switching to SSD on the drives on which I create the images. I've been using EWF to compress my imaging, so I knew the compression was the reason for the slowing of operations from 60 MBps down to 25 MBps. So when I used guymager and saw 50 MBps, I knew the multi-threading part of the software was working on the compression side. YMMV