Table 1: Execution times for different numbers k in comparison to the execution time of the task without DocXS.
k NOP-few NOP-large Comp-few (speedup) Comp-large (speedup)
No DocXS < 1ms 1m 02s 407ms 59m 52s (= 1.00) 1h 03m 59s (= 1.00)
1 875 ms 1m 57s 801ms 1h 05m 06s (× 0.92) 1h 06m 01s (× 0.97)
4 6s 546ms 1m 08s 675ms 16m 34s (× 3.61) 17m 12s (× 3.72)
8 8s 140ms 1m 17s 640ms 8m 22s (× 7.16) 9m 15s (× 6.91)
16 13s 191ms 1m 01s 935ms 4m 14s ( ×14.17) 5m 02s (×12.72)
3.2 Performance Comparison
To measure the performance of our system we use two
cases very similar to the cases for the overhead esti-
mation. Both cases use a computationally intensive
Java operator. While the first case (Comp-few) uses
only primitive data types, in the second case (Comp-
large) the amount of data which has to be trans-
ferred over the network and into memory is higher.
For both cases the speedup of DocXS in comparison
to a single computer without DocXS, calculated as
speedup = T
no DocXS
/T
DocXS
, is shown.
It can be seen in Table 1 that DocXS scales very
well in the Comp-few case. For one Executor (k = 1)
DocXS needs slightly longer due to the already dis-
cussed overhead. But the speedup grows linearly with
an increasing number of Executors and for k = 16 the
task is finished more than 14 times faster than on a
single computer. In the Comp-large case, which in-
volves sending larger amounts of data over the net-
work, DocXS scales very well, too. Tasks can be fin-
ished almost 13 times faster using DocXS instead of
a single computer.
DocXS can also make efficient use of a multipro-
cessor computer by running an Executor instance on
each processor available in the system. Tests using a
single multiprocessor computer with eight CPUs re-
sulted in a speedup of 7.73 (Comp-few) resp. 6.53
(Comp-large).
4 CONCLUSION
We presented DocXS, a distributed computing envi-
ronment for multimedia data processing. The main
advantage of DocXS is that it does not require its
users to care about code distribution or parallelization,
but handles these issues automatically. Algorithms
can be programmed using an Eclipse-based user inter-
face and the resulting Matlab and Java operators can
be visually connected to a complex workflow using
various branch and loop control structures. Addition-
ally the scientific exchange of operators, algorithms,
and data is facilitated using a central database and two
user interfaces, one for developers and one for system
users.
We showed that DocXS produces only a small
overhead and that it scales very well for computation-
ally expensive tasks. As DocXS is going to be freely
available for non-commercial research and may run
on cheap PC hardware, it is a useful tool which can
simplify and facilitate every researcher’s work.
REFERENCES
Bauer, C. and King, G. (2006). Java Persistence with Hi-
bernate. Manning.
G
¨
uld, M. O., Thies, C., Fischer, B., Keysers, D., Wein,
B. B., and Lehmann, T. M. (2003). A platform for
distributed image processing and image retrieval. In
Visual Communications and Image Processing 2003,
volume 5150 of Proceedings of SPIE, pages 1109–
1120.
Konstantinides, K. and Rasure, J. R. (1994). The Khoros
software development environment for image and sig-
nal processing. IEEE Transactions on Image Process-
ing, 3(3):243–252.
McAffer, J. and Lemieux, J.-M. (2005). Eclipse Rich Client
Platform: Designing, Coding, and Packaging Java
Applications. Addison-Wesley Professional.
Parker, S., Beazley, D., and Johnson, C. (1997). Computa-
tional steering software systems and strategies. IEEE
Computational Science and Engineering, 4(4):50–59.
Rex, D. E., Ma, J. Q., and Toga, A. W. (2003). The
LONI pipeline processing environment. NeuroImage,
19(3):1033–1048.
Young, M., Argiro, D., and Kubica, S. (1995). Cantata:
Visual programming environment for the Khoros sys-
tem. Computer Graphics, 29(2):22–24.
Zikos, M., Kaldoudi, E., and Orphanoudakis, S. C. (1997).
DIPE: A distributed environment for medical image
processing. In Proceedings of MIE’97 (Medical In-
formatics Europe), pages 465–469.
SIGMAP 2007 - International Conference on Signal Processing and Multimedia Applications
392