Scalable SIFT with Scala on NUMA

  • Frank Feinbube
  • Lena Herscheid
  • Christoph Neijenhuis
  • Peter Tröger
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8805)


Scale-invariant feature transform (SIFT) is an algorithm to identify and track objects in a series of digital images. The algorithm can handle objects that change their location, scale, rotation or illumination in subsequent images. This makes SIFT an ideal candidate for object tracking – typically denoted as feature detection – problems in computer imaging applications.

The complexity of the SIFT approach often forces developers and system architects to rely on less efficient heuristic approaches for object detection when streaming video data. This makes the algorithm a promising candidate for new parallelization strategies in heterogeneous parallel environments.

With this article, we describe our thorough performance analysis of various SIFT implementation strategies in the Scala programming language. Scala supports the development of mixed-paradigm parallel code that targets shared memory systems as well as distributed environments. Our proposed SIFT implementation strategy takes both caching and non-uniform memory architecture (NUMA) into account, and therefore achieves a higher speedup factor than existing work. We also discuss how scalability for larger video workloads can be achieved by leveraging the actor programming model as part of a distributed SIFT implementation in Scala.


Cache Line Gaussian Blur Gaussian Pyramid NUMA Node Sift Algorithm 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Akka, (Online; accessed May 28 2014)
  2. 2.
    Amedro, B., Bodnartchouk, V., Caromel, D., Delbe, C., Huet, F., Guillermo, L.T.: Current State of Java for HPC. Technical Report RT-0353, INRIA (2008)Google Scholar
  3. 3.
    Feng, H., Li, E., Chen, Y., Zhang, Y.: Parallelization and characterization of SIFT on multi-core systems. In: IEEE International Symposium on Workload Characterization, IISWC 2008, pp. 14–23. IEEE (2008)Google Scholar
  4. 4.
    Hess, R.: An open-source siftlibrary. In: Proceedings of the international conference on Multimedia, pp. 1493–1496. ACM (2010)Google Scholar
  5. 5.
    Heymann, S., Muller, K., Smolic, A., Frohlich, B., Wiegand, T.: SIFT implementation and optimization for general-purpose GPU. In: Proceedings of the international conference in Central Europe on computer graphics, visualization and computer vision, vol. 144 (2007)Google Scholar
  6. 6.
    Lowe, D.G.: Object recognition from local scale-invariant features. In: The Proceedings of the Seventh IEEE International Conference on Computer Vision, vol. 2, pp. 1150–1157. IEEE (1999)Google Scholar
  7. 7.
    Lowe, D.G.: Distinctive image features from scale-invariant keypoints. International Journal of Computer Vision 60(2), 91–110 (2004)CrossRefGoogle Scholar
  8. 8.
    Sun Microsystems. Memory management in the Java HotSpot virtual machine (2006)Google Scholar
  9. 9.
    Sinha, S.N., Frahm, J.-M., Pollefeys, M., Genc, Y.: GPU-based video feature tracking and matching. In: EDGE, Workshop on Edge Computing Using New Commodity Architectures, vol. 278, p. 4321 (2006)Google Scholar
  10. 10.
    Andrea Vedaldi Sift++, (Online; accessed May 28, 2014)
  11. 11.
    Warn, S., Emeneker, W., Cothren, J., Apon, A.W.: Accelerating SIFT on parallel architectures. In: CLUSTER, pp. 1–4 (2009)Google Scholar
  12. 12.
    Wu, C.: SiftGPU, (Online; accessed May 28, 2014)
  13. 13.
    Zhang, Q., Chen, Y., Zhang, Y., Xu, Y.: SIFT implementation and optimization for multi-core systems. In: IEEE International Symposium on Parallel and Distributed Processing, IPDPS 2008, pp. 1–8. IEEE (2008)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Frank Feinbube
    • 1
  • Lena Herscheid
    • 1
  • Christoph Neijenhuis
    • 1
  • Peter Tröger
    • 1
  1. 1.Hasso Plattner InstituteUniversity of PotsdamGermany

Personalised recommendations