International Journal of Parallel Programming

, Volume 44, Issue 5, pp 1078–1098 | Cite as

Exploiting Significance of Computations for Energy-Constrained Approximate Computing

  • Vassilis VassiliadisEmail author
  • Charalampos Chalios
  • Konstantinos Parasyris
  • Christos D. Antonopoulos
  • Spyros Lalis
  • Nikolaos Bellas
  • Hans Vandierendonck
  • Dimitrios S. Nikolopoulos


Approximate execution is a viable technique for environments with energy constraints, provided that applications are given the mechanisms to produce outputs of the highest possible quality within the available energy budget. This paper introduces a framework for energy-constrained execution with controlled and graceful quality loss. A simple programming model allows developers to structure the computation in different tasks, and to express the relative importance of these tasks for the quality of the end result. For non-significant tasks, the developer can also supply less costly, approximate versions. The target energy consumption for a given execution is specified when the application is launched. A significance-aware runtime system employs an application-specific analytical energy model to decide how many cores to use for the execution, the operating frequency for these cores, as well as the degree of task approximation, so as to maximize the quality of the output while meeting the user-specified energy constraints. Evaluation on a dual-socket 16-core Intel platform using 9 kernels and applications shows that the proposed framework performs very close to an oracle always selecting the optimal configuration, both in terms of energy efficiency and quality of results. Also, a comparison with loop perforation (a well-known compile-time approximation technique), shows that the proposed framework results in significantly higher quality for the same energy budget.


Approximate computing Significance Energy efficiency Modeling 



This work has been partially supported by: (a) The European Commission’s 7th Framework Programme (FP7/2007– 2013) under grant agreements FP7-323872 (Project “SCoRPiO”) and FP7-327744 (NovoSoft, Marie Curie Actions), (b) The “Aristeia II” action (grant agreement 5211, project “Centaurus” of the operational program Education and Lifelong Learning which is co-funded by the European Social Fund and Greek national resources, and (c) The UK Engineering and Physical Sciences Research Council under grant agreement EP/L000055/1 (ALEA).


  1. 1.
    Baek, W., Chilimbi, T. M.: Green: a framework for supporting energy-conscious programming using controlled approximation. In: Proceedings of the 2010 ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’10, pp. 198–209. ACM, New York (2010)Google Scholar
  2. 2.
    Bellas, N., Chai, S.M., Dwyer, M., Linzmeier, D.: Real-time fisheye lens distortion correction using automatically generated streaming accelerators. In: Field Programmable Custom Computing Machines, 2009. FCCM’09. 17th IEEE Symposium on, pp. 149–156. IEEE (2009)Google Scholar
  3. 3.
    Bienia, C., Kumar, S., Singh, J.P., Li, K.: The parsec benchmark suite: characterization and architectural implications. In: Proceedings of the 17th International Conference on Parallel Architectures and Compilation Techniques, PACT ’08, pp. 72–81. ACM, New York (2008)Google Scholar
  4. 4.
    Gschwandtner, P., Chalios, C., Nikolopoulos, D., Vandierendonck, H., Fahringer, T.: On the potential of significance-driven execution for energy-aware HPC. Comput. Sci. Res. Dev. 30(2), 197–206 (2014). doi: 10.1007/s00450-014-0265-9
  5. 5.
    Jones, J.E.: On the determination of molecular fields. I. From the variation of the viscosity of a gas with temperature. Proc. R. Soc. Lond. A Math., Phys. Eng. Sci. 106(738), 441–462 (1924)CrossRefGoogle Scholar
  6. 6.
    Karlin, I., Keasler, J., Neely, R.: Lulesh 2.0 updates and changes. Technical report LLNL-TR-641973, August (2013)Google Scholar
  7. 7.
    Mineiro, P.: fastapprox. (2012)
  8. 8.
    Misailovic, S., Kim, D., Rinard, M.: Parallelizing sequential programs with statistical accuracy tests. ACM Trans. Embed. Comput. Syst., 12(2s), 88:1–88:26 (2013)CrossRefGoogle Scholar
  9. 9.
    OpenMP Architecture Review Board. OpenMP Application Program Interface (version 4.0). Technical report, July (2013)Google Scholar
  10. 10.
    Rahimi, A., Marongiu, A., Burgio, P., Gupta, R.K., Benini, L.: Variation-tolerant openmp tasking on tightly-coupled processor clusters. In: Proceedings of the Conference on Design, Automation and Test in Europe, DATE ’13, pp. 541–546. EDA Consortium, San Jose (2013)Google Scholar
  11. 11.
    Rahimi, A., Marongiu, A., Gupta, R.K., Benini, L.: A variability-aware openmp environment for efficient execution of accuracy-configurable computation on shared-fpu processor clusters. In: Proceedings of the Ninth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis, CODES+ISSS ’13, pp. 35:1–35:10. IEEE Press, Piscataway (2013)Google Scholar
  12. 12.
    Roy, P., Ray, R., Wang, C., Wong,W.F.: Asac: Automatic sensitivity analysis for approximate computing. In: Proceedings of the 2014 SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems, LCTES ’14, pp. 95–104. ACM, New York (2014)Google Scholar
  13. 13.
    Samadi, M., Jamshidi, D. A., Lee, J., Mahlke, S.: Paraprox: Pattern-based approximation for data parallel applications. In: Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS ’14, pp. 35–50. ACM, New York (2014)Google Scholar
  14. 14.
    Samadi, M., Lee, J., Jamshidi, D.A., Hormati, A., Mahlke, S.: Sage: self-tuning approximation for graphics engines. In: Proceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO-46, pp. 13–24. ACM, New York (2013)Google Scholar
  15. 15.
    Sampson, A., Dietl, W., Fortuna, E., Gnanapragasam, D., Ceze, L., Grossman, D.: Enerj: approximate data types for safe and general low-power computation. In: Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’11, pp. 164–174. ACM, New York (2011)Google Scholar
  16. 16.
    Schmoll, F., Heinig, A., Marwedel, P., Engel, M.: Improving the fault resilience of an h.264 decoder using static analysis methods. ACM Trans. Embed. Comput. Syst., 13(1s), 31:1–31:27 (2013)CrossRefGoogle Scholar
  17. 17.
    Sidiroglou-Douskos, S., Misailovic, S., Hoffmann, H., Rinard, M.: Managing performance versus accuracy trade-offs with loop perforation. In: Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, ESEC/FSE ’11, pp. 124–134. ACM, New York (2011)Google Scholar
  18. 18.
    Skodras, A., Christopoulos, C., Ebrahimi, T.: The jpeg 2000 still image compression standard. Signal Process. Mag., IEEE, 18(5), 36–58 (2001)CrossRefzbMATHGoogle Scholar
  19. 19.
    Sloan, J., Sartori, J., Kumar, R.: On software design for stochastic processors. In: Proceedings of the 49th Annual Design Automation Conference, DAC ’12, pp. 918–923. ACM, New York (2012)Google Scholar
  20. 20.
    Tzenakis, G., Papatriantafyllou, A., Vandierendonck, H., Pratikakis, P., Nikolopoulos, D.S.: Bddt: block-level dynamic dependence analysis for task-based parallelism. In: Advanced Parallel Processing Technologies, pp. 17–31 (2013)Google Scholar
  21. 21.
    Vassiliadis, V., Parasyris, K., Chalios, C., Antonopoulos, C.D., Lalis, S., Bellas, N., Vandierendonck, H., Nikolopoulos, D.S.: A programming model and runtime system for significance-aware energy-efficient computing. CoRR, abs/1412.5150 (2014)Google Scholar
  22. 22.
    Vavalis, M., Sarailidis, G.: Hybrid-numerical-PDE-solvers: hybrid elliptic PDE solvers. (2014)
  23. 23.
    Zakkak, F.S., Chasapis, D., Pratikakis, P., Bilas, A., Nikolopoulos, D.S.: Inference and declaration of independence: impact on deterministic task parallelism. In: Proceedings of the 21st International Conference on Parallel Architectures and Compilation Techniques, PACT ’12, pp. 453–454. ACM, New York (2012)Google Scholar
  24. 24.
    Zhang, Q., Yuan, F., Ye, R., Xu, Q.: Approxit: An approximate computing framework for iterative methods. In: Proceedings of the The 51st Annual Design Automation Conference on Design Automation Conference, DAC ’14, pp. 97:1–97:6. ACM, New York (2014)Google Scholar
  25. 25.
    Zhu, Z.A., Misailovic, S., Kelner, J.A., Rinard, M.: Randomized accuracy-aware program transformations for efficient approximate computations. In: Proceedings of the 39th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’12, pp. 441–454. ACM, New York (2012)Google Scholar

Copyright information

© Springer Science+Business Media New York 2016

Authors and Affiliations

  • Vassilis Vassiliadis
    • 1
    • 2
    Email author
  • Charalampos Chalios
    • 3
  • Konstantinos Parasyris
    • 1
    • 2
  • Christos D. Antonopoulos
    • 1
    • 2
  • Spyros Lalis
    • 1
    • 2
  • Nikolaos Bellas
    • 1
    • 2
  • Hans Vandierendonck
    • 3
  • Dimitrios S. Nikolopoulos
    • 3
  1. 1.University of ThessalyVolosGreece
  2. 2.Centre for Research and Technology HellasThessalonikiGreece
  3. 3.Queen’s University of BelfastBelfastUnited Kingdom

Personalised recommendations