Nornir: A Customizable Framework for Autonomic and Power-Aware Applications

  • Daniele De SensiEmail author
  • Tiziano De Matteis
  • Marco Danelutto
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10659)


A desirable characteristic of modern parallel applications is the ability to dynamically select the amount of resources to be used to meet requirements on performance or power consumption. In many cases, providing explicit guarantees on performance is of paramount importance. In streaming applications, this is related with the concept of elasticity, i.e. being able to allocate the proper amount of resources to match the current demand as closely as possible. Similarly, in other scenarios, it may be useful to limit the maximum power consumption of an application to do not exceed the power budget. In this paper we propose Nornir, a customizable C++ framework for autonomic and power-aware parallel applications on shared memory multicore machines. Nornir can be used by autonomic strategy designers to implement new algorithms and by application users to enforce requirements on applications.


Autonomic Power-aware Quality of Service Framework 



This work has been partially supported by the EU H2020-ICT-2014-1 project RePhrase (No. 644235).


  1. 1.
    Apache Storm (2017).
  2. 2.
    Bertolli, C., Mencagli, G., Vanneschi, M.: A cost model for autonomic reconfigurations in high-performance pervasive applications. In: Proceedings of the 4th ACM International Workshop on Context-Awareness for Self-Managing Systems, pp. 3:20–3:29 (2010)Google Scholar
  3. 3.
    Danelutto, M., De Matteis, T., De Sensi, D., Torquati, M.: Evaluating concurrency throttling and thread packing on SMT multicores. In: Proceedings of the 25th Euromicro International Conference on Parallel, Distributed, and Network-Based Processing (2017)Google Scholar
  4. 4.
    Danelutto, M., De Sensi, D., Torquati, M.: Energy driven adaptivity in stream parallel computations. In: Proceedings of 23th Euromicro International Conference on Parallel, Distributed, and Network-Based Processing, Turku, Finland, pp. 103–110. IEEE (2015)Google Scholar
  5. 5.
    Danelutto, M., De Sensi, D., Torquati, M.: A power-aware, self-adaptive macro data flow framework. Parallel Process. Lett. 27(01), 1740004 (2017)MathSciNetCrossRefGoogle Scholar
  6. 6.
    De Matteis, T., Mencagli, G.: Keep calm and react with foresight: strategies for low-latency and energy-efficient elastic data stream processing. In: Proceedings of the 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP), pp. 13:1–13:12 (2016)Google Scholar
  7. 7.
    De Sensi, D., Torquati, M., Danelutto, M.: Mammut: high-level management of system knobs and sensors. SoftwareX 6, 150–154 (2017)CrossRefGoogle Scholar
  8. 8.
    De Sensi, D.: Predicting performance and power consumption of parallel applications. In: Proceedings of 24th Euromicro International Conference on Parallel, Distributed, and Network-Based Processing, pp. 200–207, February 2016Google Scholar
  9. 9.
    De Sensi, D., Torquati, M., Danelutto, M.: A reconfiguration algorithm for power-aware parallel applications. ACM Trans. Archit. Code Optim. 13(4), 43:1–43:25 (2016)CrossRefGoogle Scholar
  10. 10.
    Gandhi, A., Harchol-Balter, M., Das, R., Kephart, J., Lefurgy, C.: Power capping via forced idleness. In: Proceedings of Workshop on Energy-Efficient Design (2009)Google Scholar
  11. 11.
    Gedik, B., Schneider, S., Hirzel, M., Wu, K.L.: Elastic scaling for data stream processing. IEEE Trans. Parallel Distrib. Syst. 25(6), 1447–1463 (2014)CrossRefGoogle Scholar
  12. 12.
    Goel, A., Steere, D., Pu, C., Walpole, J.: Swift: a feedback control and dynamic reconfiguration toolkit. Technical report (1998)Google Scholar
  13. 13.
    Hoffman, H.: SEEC: a framework for self-aware management of goals and constraints in computing systems. Ph.D. thesis, Cambridge, MA, USA (2013)Google Scholar
  14. 14.
    Kephart, J.O., Chess, D.M.: The vision of autonomic computing. Computer 36(1), 41–50 (2003)MathSciNetCrossRefGoogle Scholar
  15. 15.
    Li, B., Nahrstedt, K.: A control-based middleware framework for quality-of-service adaptations. IEEE J. Sel. Areas Commun. 17(9), 1632–1650 (1999)CrossRefGoogle Scholar
  16. 16.
    Li, J., Martínez, J.F.: Dynamic power-performance adaptation of parallel computation on chip multiprocessors. In: Proceedings of International Symposium on High-Performance Computer Architecture, pp. 77–87 (2006)Google Scholar
  17. 17.
    Lohrmann, B., Janacik, P., Kao, O.: Elastic stream processing with latency guarantees. In: The 35th International Conference on Distributed Computing Systems (2015)Google Scholar
  18. 18.
    Mishra, N., Zhang, H., Lafferty, J.D., Hoffmann, H.: A probabilistic graphical model-based approach for minimizing energy under performance constraints. In: ACM SIGARCH Computer Architecture News, vol. 43, no. 1, pp. 267–281 (2015)Google Scholar
  19. 19.
    Qian, Z., He, Y., Su, C., Wu, Z., Zhu, H., Zhang, T., Zhou, L., Yu, Y., Zhang, Z.: Timestream: reliable stream computation in the cloud. In: Proceedings of the 8th ACM European Conference on Computer Systems, pp. 1–14. EuroSys 2013. ACM, New York (2013)Google Scholar
  20. 20.
    Zhang, R., Lu, C., Abdelzaher, T.F., Stankovic, J.A.: Controlware: a middleware architecture for feedback control of software performance. In: Proceedings 22nd International Conference on Distributed Computing Systems, pp. 301–310 (2002)Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Daniele De Sensi
    • 1
    Email author
  • Tiziano De Matteis
    • 1
  • Marco Danelutto
    • 1
  1. 1.Department of Computer ScienceUniversity of PisaPisaItaly

Personalised recommendations