The Journal of Supercomputing

, Volume 75, Issue 3, pp 1038–1050 | Cite as

Improving the energy efficiency of SMACOF for multidimensional scaling on modern architectures

  • F. Orts
  • E. Filatovas
  • G. OrtegaEmail author
  • O. Kurasova
  • E. M. Garzón


The reduction of the dimensionality is of great interest in the context of big data processing. Multidimensional scaling methods (MDS) are techniques for dimensionality reduction, where data from a high-dimensional space are mapped into a lower-dimensional space. Such methods consume relevant computational resources; therefore, intensive research has been developed to accelerate them. In this work, two efficient parallel versions of the well-known and precise SMACOF algorithm to solve MDS problems have been developed and evaluated on multicore and GPU. To help the user of SMACOF, we provide these parallel versions and a complementary Python code based on a heuristic approach to explore the optimal configuration of the parallel SMACOF algorithm on the available platforms in terms of energy efficiency (GFLOPs/watt). Three platforms, 64 and 12 CPU-cores and a GPU device, have been considered for the experimental evaluation.


Dimensionality reduction Multidimensional scaling Energy efficiency SMACOF algorithm 


  1. 1.
    Bilsky W, Borg I, Wetzels P (1994) Assessing conflict tactics in close relationships: a reanalysis of a research instrument. In: Hox JJ, Mellenbergh GJ, PG Swanborn (eds.) Facet Theory. Analysis and design, SETOS, Zeist, pp 39–46Google Scholar
  2. 2.
    Borg I, Groenen PJ (2005) Modern multidimensional scaling: theory and applications. Springer, BerlinzbMATHGoogle Scholar
  3. 3.
    Chapman B, Jost G, Pas Rvd (2007) Using OpenMP: portable shared memory parallel programming (scientific and engineering computation). The MIT Press, CambridgeGoogle Scholar
  4. 4.
    Clarke D, Ilic A, Lastovetsky A, Rychkov V, Sousa L, Zhong Z (2014) Design and optimization of scientific applications for highly heterogeneous and hierarchical HPC platforms using functional computation performance models. Wiley, Hoboken, pp 235–260Google Scholar
  5. 5.
    cuBLAS library (2017) Accessed 24 Feb 2018
  6. 6.
    CUDA Pro Tip: Do The Kepler Shuffle (2017) Accessed 24 Feb 2018
  7. 7.
    De Leeuw J (1977) Applications of convex analysis to multidimensional scaling. In: Recent developments in statistics, North Holland Publishing Company, pp 133–145Google Scholar
  8. 8.
    Dzemyda G, Kurasova O, Žilinskas J (2013) Multidimensional data visualization: methods and applications, vol 75. Springer, BerlinCrossRefzbMATHGoogle Scholar
  9. 9.
    Dzwinel W, Blasiak J (1999) Method of particles in visual clustering of multi-dimensional and large data sets. Future Gener Comput Syst 15(3):365–379CrossRefGoogle Scholar
  10. 10.
    Escobar R, Boppana RV (2016) Performance prediction of parallel applications based on small-scale executions. In: 2016 IEEE 23rd HiPC, pp 362–371Google Scholar
  11. 11.
    Fester T, Schreiber F, Strickert M (2009) CUDA-based multi-core implementation of MDS-based bioinformatics algorithms. In: Grosse I, Neumann S, Posch S, Schreiber F, Stadler PF (eds) GCB, LNI, vol 157. GI, Bonn, pp 67–79Google Scholar
  12. 12.
    Filatovas E, Podkopaev D, Kurasova O (2015) A visualization technique for accessing solution pool in interactive methods of multiobjective optimization. Int J Comput Commun Control 10:508–519CrossRefGoogle Scholar
  13. 13.
    Garzón EM, Moreno JJ, Martínez JA (2017) An approach to optimise the energy efficiency of iterative computation on integrated GPU–CPU systems. J Supercomput 73(1):114–125CrossRefGoogle Scholar
  14. 14.
    Goldberger J, Gordon S, Greenspan H (2003) An efficient image similarity measure based on approximations of KL-divergence between two Gaussian mixtures. In: ICCV. IEEE Computer Society, pp 487–493Google Scholar
  15. 15.
    Hout MC, Goldinger SD, Brady KJ (2014) MM-MDS: a multidimensional scaling database with similarity ratings for 240 object categories from the massive memory picture database. PLoS ONE 9(11):1–11CrossRefGoogle Scholar
  16. 16.
    Ingram S, Munzner T, Olano M (2009) Glimmer: multilevel MDS on the GPU. IEEE Trans Vis Comput Gr 15(2):249–261CrossRefGoogle Scholar
  17. 17.
    Intel Math Kernel Library (Documentation) (2017) Accessed 24 Feb 2018
  18. 18.
    Kurasova O, Petkus T, Filatovas E (2013) Visualization of pareto front points when solving multi-objective optimization problems. Inf Technol Control 42(4):353–361Google Scholar
  19. 19.
    Leng J et al (2013) GPUWattch: enabling energy optimizations in GPGPUs. SIGARCH Comput Archit News 41(3):487–498CrossRefGoogle Scholar
  20. 20.
    Martínez JA, Almeida F, Garzón EM, Acosta A, Blanco V (2011) Adaptive load balancing of iterative computation on heterogeneous nondedicated systems. J Supercomput 58(3):385–393. CrossRefGoogle Scholar
  21. 21.
    Martínez JA, Garzón EM, Plaza A, García I (2011) Automatic tuning of iterative computation on heterogeneous multiprocessors with ADITHE. J Supercomput 58(2):151–159CrossRefGoogle Scholar
  22. 22.
    Medvedev V, Kurasova O, Bernatavičienė J, Treigys P, Marcinkevičius V, Dzemyda G (2017) A new web-based solution for modelling data mining processes. Simul Model Pract Theory 76:34–46CrossRefzbMATHGoogle Scholar
  23. 23.
    Morrison A, Ross G, Chalmers M (2003) Fast multidimensional scaling through sampling, springs and interpolation. Inf Vis 2(1):68–77CrossRefGoogle Scholar
  24. 24.
    Orts F, Filatovas E, Ortega G, Kurasova O, Garzón EM (2017) HPC tool for multidimensional scaling. In: Vigo-Aguiar J (ed) Proceedings of the 17th international conference on computational and mathematical methods in science and engineering, vol 5, pp 1611–1614Google Scholar
  25. 25.
    Osipyan H, Morton A, Marchand-Maillet S (2014) Fast interactive information retrieval with sampling-based MDS on GPU architectures. In: Information retrieval facility conference. Springer, Cham, pp 96–107. ISBN: 978-3-319-12978-5Google Scholar
  26. 26.
    Papenhausen E, Wang B, Ha S, Zelenyuk A, Imre D, Mueller K (2013) GPU-accelerated incremental correlation clustering of large data with visual feedback. In: Proceedings of the 2013 IEEE international conference on big data, 6–9 Oct 2013, Santa Clara, CA, USA, pp 63–70Google Scholar
  27. 27.
    Park S, Shin SY, Hwang KB (2012) CFMDS: CUDA-based fast multidimensional scaling for genome-scale data. BMC Bioinform 13(17):S23Google Scholar
  28. 28.
    Pawliczek P, Dzwinel W, Yuen DA (2014) Visual exploration of data by using multidimensional scaling on multicore CPU, GPU, and MPI cluster. Concurr Comput 26(3):662–682CrossRefGoogle Scholar
  29. 29.
    Qiu J, Bae SH (2012) Performance of windows multicore systems on threading and MPI. Concurr Comput Pract Exp 24(1):14–28CrossRefGoogle Scholar
  30. 30.
    Shmoys DB, Tardos E (1993) An approximation algorithm for the generalized assignment problem. Math Program 62(3):461–474MathSciNetCrossRefzbMATHGoogle Scholar
  31. 31.
    Wong A, Rexachs D, Luque E (2015) Parallel application signature for performance analysis and prediction. IEEE Trans Parallel Distrib Syst 26(7):2009–2019CrossRefGoogle Scholar
  32. 32.
    Yang T, Liu J, McMillan L, Wang W (2006) A fast approximation to multidimensional scaling. In: IEEE workshop on computation intensive methods for computer visionGoogle Scholar
  33. 33.
    Zhong Z, Rychkov V, Lastovetsky A (2014) Data partitioning on multicore and multi-GPU platforms using functional performance models. IEEE Trans Comput 64(9):2506–2518MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Group of Supercomputation-Algorithms, Department of InformaticsUniversity of Almería, ceiA3AlmeríaSpain
  2. 2.Faculty of Fundamental ScienceVilnius Gediminas Technical UniversityVilniusLithuania
  3. 3.Institute of Data Science and Digital TechnologiesVilnius UniversityVilniusLithuania

Personalised recommendations