Skip to main content
Top
Published in: The Journal of Supercomputing 6/2020

05-06-2019

Simplifying and implementing service level objectives for stream parallelism

Authors: Dalvan Griebler, Adriano Vogel, Daniele De Sensi, Marco Danelutto, Luiz G. Fernandes

Published in: The Journal of Supercomputing | Issue 6/2020

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

An increasing attention has been given to provide service level objectives (SLOs) in stream processing applications due to the performance and energy requirements, and because of the need to impose limits in terms of resource usage while improving the system utilization. Since the current and next-generation computing systems are intrinsically offering parallel architectures, the software has to naturally exploit the architecture parallelism. Implement and meet SLOs on existing applications is not a trivial task for application programmers, since the software development process, besides the parallelism exploitation, requires the implementation of autonomic algorithms or strategies. This is a system-oriented programming approach and requires the management of multiple knobs and sensors (e.g., the number of threads to use, the clock frequency of the cores, etc.) so that the system can self-adapt at runtime. In this work, we introduce a new and simpler way to define SLO in the application’s source code, by abstracting from the programmer all the details relative to self-adaptive system implementation. The application programmer specifies which parts of the code to parallelize and the related SLOs that should be enforced. To reach this goal, source-to-source code transformation rules are implemented in our compiler, which automatically generates self-adaptive strategies to enforce, at runtime, the user-expressed objectives. The experiments highlighted promising results with simpler, effective, and efficient SLO implementations for real-world applications.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Literature
1.
go back to reference Aldinucci M, Danelutto M, Kilpatrick P, Torquati M (2014) FastFlow: high-level and efficient streaming on multi-core. In: Programming multi-core and many-core computing systems, vol 1, PDC. Wiley, p 14 Aldinucci M, Danelutto M, Kilpatrick P, Torquati M (2014) FastFlow: high-level and efficient streaming on multi-core. In: Programming multi-core and many-core computing systems, vol 1, PDC. Wiley, p 14
2.
go back to reference Aldinucci M, Meneghin M, Torquati M (2010) Efficient smith-waterman on multi-core with fastflow. In: Proceedings of the Euromicro Conference on Parallel, Distributed and Network-Based Processing, pp 195–199 Aldinucci M, Meneghin M, Torquati M (2010) Efficient smith-waterman on multi-core with fastflow. In: Proceedings of the Euromicro Conference on Parallel, Distributed and Network-Based Processing, pp 195–199
3.
go back to reference Alessi F, Thoman P, Georgakoudis G, Fahringer T, Nikolopoulos DS (2015) Application-level energy awareness for OpenMP. In: International workshop on OpenMP. Springer, pp 219–232 Alessi F, Thoman P, Georgakoudis G, Fahringer T, Nikolopoulos DS (2015) Application-level energy awareness for OpenMP. In: International workshop on OpenMP. Springer, pp 219–232
4.
go back to reference Andrade HCM, Gedik B, Turaga DS (2014) Fundamentals of stream processing. Cambridge University Press, New York Andrade HCM, Gedik B, Turaga DS (2014) Fundamentals of stream processing. Cambridge University Press, New York
5.
go back to reference Ansel J, Pacula M, Wong YL, Chan C, Olszewski M, O’Reilly U-M, Amarasinghe S (2012) Siblingrivalry. In: Proceedings of the 2012 International Conference on Compilers, Architectures and Synthesis for Embedded Systems-CASES ’12. ACM Press, New York, pp 91 Ansel J, Pacula M, Wong YL, Chan C, Olszewski M, O’Reilly U-M, Amarasinghe S (2012) Siblingrivalry. In: Proceedings of the 2012 International Conference on Compilers, Architectures and Synthesis for Embedded Systems-CASES ’12. ACM Press, New York, pp 91
6.
go back to reference Beyer B, Jones C, Petoff J, Murphy NR (2016) Site reliability engineering. O’Reilly, Boston Beyer B, Jones C, Petoff J, Murphy NR (2016) Site reliability engineering. O’Reilly, Boston
7.
go back to reference Buyya R, Vecchiola C, Selvi T (2013) Mastering cloud computing. McGraw Hill, New York Buyya R, Vecchiola C, Selvi T (2013) Mastering cloud computing. McGraw Hill, New York
8.
go back to reference Chandrakasan AP, Brodersen RW (1995) Minimizing power consumption in digital CMOS circuits. Proc IEEE 83(4):498–523 Chandrakasan AP, Brodersen RW (1995) Minimizing power consumption in digital CMOS circuits. Proc IEEE 83(4):498–523
10.
go back to reference Curtis-Maury M, Blagojevic F, Antonopoulos CD, Nikolopoulos DS (2008) Prediction-based power-performance adaptation of multithreaded scientific codes. IEEE Trans Parallel Distrib Syst 19(10):1396–1410 Curtis-Maury M, Blagojevic F, Antonopoulos CD, Nikolopoulos DS (2008) Prediction-based power-performance adaptation of multithreaded scientific codes. IEEE Trans Parallel Distrib Syst 19(10):1396–1410
11.
go back to reference Danelutto M, Garcia JD, Sanchez LM, Sotomayor R, Torquati M (2016) Introducing parallelism by using REPARA C++11 attributes. In: Euromicro International Conference on Parallel, Distributed, and Network-Based Processing. IEEE, pp 354–358 Danelutto M, Garcia JD, Sanchez LM, Sotomayor R, Torquati M (2016) Introducing parallelism by using REPARA C++11 attributes. In: Euromicro International Conference on Parallel, Distributed, and Network-Based Processing. IEEE, pp 354–358
12.
go back to reference De Sensi D, De Matteis T, Danelutto M (2018) Simplifying self-adaptive and power-aware computing with Nornir. Future Gener Comput Syst 87:136–151 De Sensi D, De Matteis T, Danelutto M (2018) Simplifying self-adaptive and power-aware computing with Nornir. Future Gener Comput Syst 87:136–151
13.
go back to reference De Sensi D, Torquati M, Danelutto M (2016) A reconfiguration algorithm for power–aware parallel applications. ACM Trans Archit Code Optim 13(4):43:1–43:25 De Sensi D, Torquati M, Danelutto M (2016) A reconfiguration algorithm for power–aware parallel applications. ACM Trans Archit Code Optim 13(4):43:1–43:25
14.
go back to reference Delimitrou C, Kozyrakis C (2014) Quasar: resource-efficient and qos-aware cluster management. SIGARCH Comput Archit News 42(1):127–144 Delimitrou C, Kozyrakis C (2014) Quasar: resource-efficient and qos-aware cluster management. SIGARCH Comput Archit News 42(1):127–144
15.
go back to reference Ding Y, Kandemir M, Raghavan P, Irwin MJ (2008) A helper thread based edp reduction scheme for adapting application execution in cmps. In: IEEE International Symposium on Parallel and Distributed Processing, 2008. IPDPS 2008, pp 1–14 Ding Y, Kandemir M, Raghavan P, Irwin MJ (2008) A helper thread based edp reduction scheme for adapting application execution in cmps. In: IEEE International Symposium on Parallel and Distributed Processing, 2008. IPDPS 2008, pp 1–14
16.
go back to reference Floratou A, Agrawal A, Graham B, Rao S, Ramasamy K (2017) Dhalion: self-regulating stream processing in heron. Proc VLDB Endow 10:1825–1836 Floratou A, Agrawal A, Graham B, Rao S, Ramasamy K (2017) Dhalion: self-regulating stream processing in heron. Proc VLDB Endow 10:1825–1836
17.
go back to reference Griebler D, Danelutto M, Torquati M, Fernandes LG (2017) SPar: a DSL for high-level and productive stream parallelism. Parallel Proc Lett 27(01):1740005MathSciNet Griebler D, Danelutto M, Torquati M, Fernandes LG (2017) SPar: a DSL for high-level and productive stream parallelism. Parallel Proc Lett 27(01):1740005MathSciNet
18.
go back to reference Griebler D, De Sensi D, Vogel A, Danelutto M, Fernandes LG (2018) Service level objectives via C++11 attributes. In: Euro-Par 2018: parallel processing workshops. Springer, Turin, pp 12 Griebler D, De Sensi D, Vogel A, Danelutto M, Fernandes LG (2018) Service level objectives via C++11 attributes. In: Euro-Par 2018: parallel processing workshops. Springer, Turin, pp 12
19.
go back to reference Griebler D, Hoffmann RB, Danelutto M, Fernandes LG (2017) Higher-level parallelism abstractions for video applications with SPar. In: Parallel Computing is Everywhere, Proceedings of the International Conference on Parallel Computing, ParCo’17. IOS Press, Bologna, pp 698–707 Griebler D, Hoffmann RB, Danelutto M, Fernandes LG (2017) Higher-level parallelism abstractions for video applications with SPar. In: Parallel Computing is Everywhere, Proceedings of the International Conference on Parallel Computing, ParCo’17. IOS Press, Bologna, pp 698–707
20.
go back to reference Griebler D, Hoffmann RB, Danelutto M, Fernandes LG (2018) High-level and productive stream parallelism for Dedup, Ferret, and Bzip2. Int J Parallel Program 47:253–271 Griebler D, Hoffmann RB, Danelutto M, Fernandes LG (2018) High-level and productive stream parallelism for Dedup, Ferret, and Bzip2. Int J Parallel Program 47:253–271
21.
go back to reference Hellerstein JL, Diao Y, Parekh S, Tilbury DM (2004) Feedback control of computing systems. Wiley, New York Hellerstein JL, Diao Y, Parekh S, Tilbury DM (2004) Feedback control of computing systems. Wiley, New York
22.
go back to reference Hoffmann H, Sidiroglou S, Carbin M, Misailovic S, Agarwal A, Rinard M (2011) Dynamic knobs for responsive power-aware computing. SIGPLAN Not 46(3):199–212 Hoffmann H, Sidiroglou S, Carbin M, Misailovic S, Agarwal A, Rinard M (2011) Dynamic knobs for responsive power-aware computing. SIGPLAN Not 46(3):199–212
23.
go back to reference Kephart JO, Chess DM (2003) The vision of autonomic computing. Computer 36(1):41–50MathSciNet Kephart JO, Chess DM (2003) The vision of autonomic computing. Computer 36(1):41–50MathSciNet
24.
go back to reference Li J, Martínez JF (2006) Dynamic power-performance adaptation of parallel computation on chip multiprocessors. In: Proceedings of the International Symposium on High-Performance Computer Architecture, pp 77–87 Li J, Martínez JF (2006) Dynamic power-performance adaptation of parallel computation on chip multiprocessors. In: Proceedings of the International Symposium on High-Performance Computer Architecture, pp 77–87
25.
go back to reference Maggio M, Hoffmann H, Santambrogio MD, Agarwal A, Leva A (2010) Controlling software applications via resource allocation within the heartbeats framework. In: IEEE Conference on Decision and Control. IEEE, pp 3736–3741 Maggio M, Hoffmann H, Santambrogio MD, Agarwal A, Leva A (2010) Controlling software applications via resource allocation within the heartbeats framework. In: IEEE Conference on Decision and Control. IEEE, pp 3736–3741
26.
go back to reference Maurer J, Wong M (2008) Towards support for attributes in C++ (revision 6). Technical report, The C++ Standards Committee Maurer J, Wong M (2008) Towards support for attributes in C++ (revision 6). Technical report, The C++ Standards Committee
27.
go back to reference McCool M, Robison AD, Reinders J (2012) Structured parallel programming: patterns for efficient computation. Morgan Kaufmann, Burlington McCool M, Robison AD, Reinders J (2012) Structured parallel programming: patterns for efficient computation. Morgan Kaufmann, Burlington
28.
go back to reference Petrica P, Izraelevitz AM, Albonesi DH, Shoemaker CA (2013) Flicker: a dynamically adaptive architecture for power limited multicore systems. ACM SIGARCH Comput Archit News 41(3):13 Petrica P, Izraelevitz AM, Albonesi DH, Shoemaker CA (2013) Flicker: a dynamically adaptive architecture for power limited multicore systems. ACM SIGARCH Comput Archit News 41(3):13
29.
go back to reference Pusukuri KK, Gupta R, Bhuyan LN (2011) Thread reinforcer: dynamically determining number of threads via os level monitoring. In: Proceedings of the 2011 IEEE international symposium on workload characterization, IISWC ’11. IEEE Computer Society, Washington, DC, pp 116–125 Pusukuri KK, Gupta R, Bhuyan LN (2011) Thread reinforcer: dynamically determining number of threads via os level monitoring. In: Proceedings of the 2011 IEEE international symposium on workload characterization, IISWC ’11. IEEE Computer Society, Washington, DC, pp 116–125
30.
go back to reference Reinders J (2007) Intel threading building blocks. O’Reilly, New York Reinders J (2007) Intel threading building blocks. O’Reilly, New York
31.
go back to reference Shafik RA, Das A, Yang S, Merrett G, Al-Hashimi BM (2015) Adaptive energy minimization of OpenMP parallel applications on many-core systems. In: Parallel programming and run-time management techniques, pp 19–24 Shafik RA, Das A, Yang S, Merrett G, Al-Hashimi BM (2015) Adaptive energy minimization of OpenMP parallel applications on many-core systems. In: Parallel programming and run-time management techniques, pp 19–24
32.
go back to reference Sridharan S, Gupta G, Sohi GS (2013) Holistic run-time parallelism management for time and energy efficiency. In: Proceedings of the 27th International ACM Conference on International Conference on Supercomputing-ICS ’13. ACM Press, New York, pp 337 Sridharan S, Gupta G, Sohi GS (2013) Holistic run-time parallelism management for time and energy efficiency. In: Proceedings of the 27th International ACM Conference on International Conference on Supercomputing-ICS ’13. ACM Press, New York, pp 337
33.
go back to reference Sturm R, Morris W, Jander M (2000) Foundations of service level management. SAMS, Boston Sturm R, Morris W, Jander M (2000) Foundations of service level management. SAMS, Boston
34.
go back to reference Suleman MA, Qureshi MK, Patt YN (2008) Feedback-driven threading. In: Proceedings of the 13th International Conference on Architectural Support for Programming Languages and Operating Systems-ASPLOS XIII, vol 42. ACM Press, New York, pp 277 Suleman MA, Qureshi MK, Patt YN (2008) Feedback-driven threading. In: Proceedings of the 13th International Conference on Architectural Support for Programming Languages and Operating Systems-ASPLOS XIII, vol 42. ACM Press, New York, pp 277
35.
go back to reference Thies W, Karczmarek M, Amarasinghe SP (2002) StreamIt: a language for streaming applications. In: Proceedings of the International Conference on Compiler Construction. Springer, Grenoble, pp 179–196 Thies W, Karczmarek M, Amarasinghe SP (2002) StreamIt: a language for streaming applications. In: Proceedings of the International Conference on Compiler Construction. Springer, Grenoble, pp 179–196
36.
go back to reference Totoni E, Jain N, Kalé LV (2015) Power management of extreme-scale networks with on/off links in runtime systems. TOPC 1(2):16 Totoni E, Jain N, Kalé LV (2015) Power management of extreme-scale networks with on/off links in runtime systems. TOPC 1(2):16
37.
go back to reference Totoni E, Torrellas J, Kale LV (2014) Using an adaptive hpc runtime system to reconfigure the cache hierarchy. In: Proceedings of SC 2014. IEEE Press, pp 1047–1058 Totoni E, Torrellas J, Kale LV (2014) Using an adaptive hpc runtime system to reconfigure the cache hierarchy. In: Proceedings of SC 2014. IEEE Press, pp 1047–1058
38.
go back to reference Vassiliadis V, Parasyris K, Chalios C, Antonopoulos CD, Lalis S, Bellas N, Vandierendonck H, Nikolopoulos DS (2015) A programming model and runtime system for significance-aware energy-efficient computing. SIGPLAN Not 50(8):275–276 Vassiliadis V, Parasyris K, Chalios C, Antonopoulos CD, Lalis S, Bellas N, Vandierendonck H, Nikolopoulos DS (2015) A programming model and runtime system for significance-aware energy-efficient computing. SIGPLAN Not 50(8):275–276
39.
go back to reference Vogel A, Griebler D, Sensi DD, Danelutto M, Fernandes LG (2018) Autonomic and latency-aware degree of parallelism management in SPar. In: Euro-Par 2018: parallel processing workshop. Springer, Turin, pp 12 Vogel A, Griebler D, Sensi DD, Danelutto M, Fernandes LG (2018) Autonomic and latency-aware degree of parallelism management in SPar. In: Euro-Par 2018: parallel processing workshop. Springer, Turin, pp 12
40.
go back to reference Weyuker EJ (1988) Evaluating software complexity measures. IEEE Trans Softw Eng 14(9):1357–1365MathSciNet Weyuker EJ (1988) Evaluating software complexity measures. IEEE Trans Softw Eng 14(9):1357–1365MathSciNet
Metadata
Title
Simplifying and implementing service level objectives for stream parallelism
Authors
Dalvan Griebler
Adriano Vogel
Daniele De Sensi
Marco Danelutto
Luiz G. Fernandes
Publication date
05-06-2019
Publisher
Springer US
Published in
The Journal of Supercomputing / Issue 6/2020
Print ISSN: 0920-8542
Electronic ISSN: 1573-0484
DOI
https://doi.org/10.1007/s11227-019-02914-6

Other articles of this Issue 6/2020

The Journal of Supercomputing 6/2020 Go to the issue

Premium Partner