OTB pipelining in memory or disk
OTB applications can be chained on disk or in memory. To evaluate the gain in performance, the 2 ways has been compared.
A python code chaining SARCalibration and Orthorectification has been written and run on HAL.
ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS=4
-
On disk RAM=256Mb
real 2m57.092s user 6m3.192s
-
In memory RAM=256Mb
real 3m48.434s user 9m16.246s
-
On disk RAM=4096Mb
real 2m53.787s user 5m35.072s
-
In memory RAM=4096Mb
real 1m50.522s user 2m56.159s
For information, here are the time for each OTBApp:
SARCalibration
-
RAM=256Mb:
real 1m28.333s user 4m28.946s
-
RAM=4096Mb
real 1m25.232s user 4m36.138s
Orthorectification
-
RAM=256Mb
real 1m19.415s user 1m9.509s
-
RAM=4096Mb
real 1m14.660s user 1m2.282s
The image are on /work filesystem. I didn't try to use the node local disk ($TMPDIR)