Re: [PanoToolsNG] Re: first gigapixel panorama from ANWR and new computer purchase question
- Each stage of expansion has its own pitfalls and performance bottlenecks.
I have collected some experience using standard desktop systems (typical Intel dual-core with 2GB RAM) and some high-end servers with fast local or SAN-attached storage.
Some rules of thumb i discovered:
* As long as you don't own a recent CPU and harddisk, all investments are most likely a waste of money
* On a typical desktop system, RAM has less influence as you might think.
* The new core duo CPUs and SATA drives are a big leap forward
* Even a simple RAID 1 will speed up things noticeably
I'm mostly using an off-the-shelf PC (a HP dc5700) upgraded to 3GB RAM and dual SATA (software RAID1) as my main stitching machine which turned out to be sufficently fast at an reasonable price (~600 EUR including the upgrades)
I also stitched Gigapixel images on high-end systems with up to 8 cores and 32GB RAM and to make it short: it is not as fast as you might think. Such machines start at 8000EUR and up.
One interesting effect i discovered was, that 32GB RAM are enough to cache most of the disk access in memory. This makes stitching blindingly fast, as most random access is cached.
Blending (enblend, smartblend) is still bound to one core. If the disk/array is fast enough you might not be able to see any difference in speed.
If you want to know which raid level is best for you, you could observe a typical stitching run with a performance monitor and divide the read/write numbers with the appropriate index below (maybe use a 70/30 distribution of random/linear access as a starting point, depending on your memory size).
I have copied below comparison from an IBM storage performance guide (http://www.redbooks.ibm.com).
Finally: Take Murphys Law into account! Running RAID 0 will most likely result in a complete data loss one day!
RAID levels |capacity | Sequential(b)| Random(b)
| (a) | Read | Write | Read | Write
Single disk |n | 6 | 6 | 4 | 4
RAID-0 |n | 10 | 10 | 10 | 10
RAID-1 |n/2 | 7 | 5 | 6 | 3
RAID-5 |n-1 | 7 | 7(c) | 7 | 4
RAID-10 |n/2 | 10 | 9 | 7 | 6
(a) In the data capacity, n refers to the number of equally sized disks in the array.
(b) 10 = best, 1 = worst. We should only compare values within each column. Comparisons between columns are not valid for this table.
(c) With write back cache enabled.