skip to main content
research-article

Coordination of Independent Loops in Self-Adaptive Systems

Published:04 July 2014Publication History
Skip Abstract Section

Abstract

Nowadays, the same piece of code should run on different architectures, providing performance guarantees in a variety of environments and situations. To this end, designers often integrate existing systems with ad-hoc adaptive strategies able to tune specific parameters that impact performance or energy—for example, frequency scaling. However, these strategies interfere with one another and unpredictable performance degradation may occur due to the interaction between different entities. In this article, we propose a software approach to reconfiguration when different strategies, called loops, are encapsulated in the system and are available to be activated. Our solution to loop coordination is based on machine learning and it selects a policy for the activation of loops inside of a system without prior knowledge. We implemented our solution on top of GNU/Linux and evaluated it with a significant subset of the PARSEC benchmark suite.

References

  1. Peter Bailis, Vijay Janapa Reddi, Sanjay Gandhi, David Brooks, and Margo Seltzer. 2011. Dimetrodon: Processor-level preventive thermal management via idle cycle injection. In Proceedings of the 48th Design Automation Conference (DAC'11). ACM, New York, 89--94. DOI:http://dx.doi.org/10.1145/2024724.2024745 Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Christian Bienia. 2011. Benchmarking modern multiprocessors. Ph.D. Dissertation, Princeton University. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. C. Chang, J. Wawrzynek, and R. W. Brodersen. 2005. BEE2: A high-end reconfigurable computing system. IEEE Des. Test Comput. 22, 2, 114--125. DOI:http://dx.doi.org/10.1109/MDT.2005.30 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Alberto Donato, Fabrizio Ferrandi, Massimo Redaelli, Marco D. Santambrogio, and Donatella Sciuto. 2007. Exploiting partial dynamic reconfiguration for SoC design of complex application on FPGA platforms. http://www.dresd.org/files/IFIP_VLSI_02.pdf.Google ScholarGoogle Scholar
  5. Jin Heo and Tarek Abdelzaher. 2009. AdaptGuard: Guarding adaptive systems from instability. In Proceedings of the 6th International Conference on Autonomic Computing. 77--86. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Henry Hoffmann, Jonathan Eastep, Marco D. Santambrogio, Jason E. Miller, and Anant Agarwal. 2010a. Application heartbeats for software performance and health. In Proceedings of the 15th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming. 347--348. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Henry Hoffmann, Jonathan Eastep, Marco D. Santambrogio, Jason E. Miller, and Anant Agarwal. 2010b. Application heartbeats: A generic interface for specifying program performance and goals in autonomous computing environments. In Proceedings of the 7th International Conference on Autonomic Computing. 79--88. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Henry Hoffmann, Jonathan Eastep, Marco D. Santambrogio, Jason E. Miller, and Anant Agarwal. 2010c. Application heartbeats for software performance and health. In Proceedings of the 15th Symposium on Principles and Practice of Parallel Programming. 347--348. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Henry Hoffmann, Jim Holt, George Kurian, et al. 2012. Self-aware computing in the Angstrom processor. In Proceedings of the IEEE/ACM Design Automation Conference, Patrick Groeneveld, Donatella Sciuto, and Soha Hassoun, Eds. ACM, 259--264. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Henry Hoffmann, Martina Maggio, Marco D. Santambrogio, Alberto Leva, and Anant Agarwal. 2011. SEEC: A framework for self-aware management of multicore resources. Tech. Rep., MIT--CSAIL--TR--2011--016, Massachusetts Institute of Technology, Computer Science and Artificial Intelligence Laboratory.Google ScholarGoogle Scholar
  11. Leslie Pack Kaelbling, Michael L. Littman, and Andrew W. Moore. 1996. Reinforcement learning: A survey. J. Artif. Int. Res. 4, 1, 237--285. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Jeffrey O. Kephart and David M. Chess. 2003. The vision of autonomic computing. Computer 36, 1, 41--50. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. O. Krieger, M. Auslander, B. Rosenburg, R. J. W. Wisniewski, Xenidis, D. Da Silva, M. Ostrowski, J. Appavoo, M. Butrico, M. Mergen, A. Waterland, and V. Uhlig. 2006. K42: Building a complete operating system. In Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems. 133--145. DOI:http://dx.doi.org/10.1145/1217935.1217949 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Martina Maggio, Henry Hoffmann, Alessandro V. Papadopoulos, Jacopo Panerati, Marco D. Santambrogio, Anant Agarwal, and Alberto Leva. 2012. Comparison of decision-making strategies for self-optimization in autonomic computing systems. ACM Trans. Auton. Adapt. Syst. 7, 4, Article 36. DOI:http://dx.doi.org/10.1145/2382570.2382572 Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. M. Maggio, H. Hoffmann, M. D. Santambrogio, A. Agarwal, and A. Leva. 2010. Controlling software applications via resource allocation within the Heartbeats framework. In Proceedings of the 49th Conference on Decision and Control. 3736--3741.Google ScholarGoogle Scholar
  16. Martina Maggio, Henry Hoffmann, Marco D. Santambrogio, Anant Agarwal, and Alberto Leva. 2011. Decision making in autonomic computing systems: Comparison of approaches and techniques. In Proceedings of the 8th International Conference on Autonomic Computing. 201--204. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. L. Palopoli, T. Cucinotta, L. Marzario, and G. Lipari. 2009. AQuoSA - adaptive quality of service architecture. Softw. Pract. Exper. 39, 1, 1--31. DOI:http://dx.doi.org/10.1002/spe.v39:1 Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Jacopo Panerati, Filippo Sironi, Matteo Carminati, Martina Maggio, Giovanni Beltrame, Piotr J. Gmytrasiewicz, Donatella Sciuto, and Marco Domenico Santambrogio. 2013. On Self-adaptive resource allocation through reinforcement learning. In Proceedings of the NASA/ESA Conference on Adaptive Hardware and Systems.Google ScholarGoogle ScholarCross RefCross Ref
  19. Stuart Russell and Peter Norvig. 2009. Artificial Intelligence: A Modern Approach 3rd ED. Prentice Hall. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. M. D. Santambrogio and D. Sciuto. 2008. Design methodology for partial dynamic reconfiguration: A new degree of freedom in the HW/SW codesign. In Proceedings of the IEEE International Symposium on Parallel and Distributed Processing (IPDPS'08). 1--8. DOI:http://dx.doi.org/10.1109/IPDPS.2008.4536542Google ScholarGoogle Scholar
  21. Marco D. Santambrogio, Seda Ogrenci Memik, Vincenzo Rana, Umut A. Acar, and Donatella Sciuto. 2007. A novel SoC design methodology combining adaptive software and reconfigurable hardware. In Proceedings of the IEEE/ACM International Conference on Computer-Aided Design (ICCAD'07). IEEE, 303--308. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Kamana Sigdel, Mark Thompson, Andy Pimente, Koen Bertels, and Carlo Galuzzi. 2009. System level runtime mapping exploration of reconfigurable architectures. In Proceedings of the IEEE International Symposium on Parallel and Distributed Processing (IPDPS'09). Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Vlad Sima and Koen Bertels. 2009. Runtime decision of hardware or software execution on a heterogeneous reconfigurable platform. In Proceedings of the IEEE International Symposium on Parallel and Distributed Processing (IPDPS'09). Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Filippo Sironi, Davide B. Bartolini, Simone Campanoni, Fabio Cancare, Henry Hoffman, Donatella Sciuto, and Marco D. Santambrogio. 2012. Metronome: Operating system level performance management via self-adaptive computing. In Proceedings of the 49th Design Automation Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. H. K.-H. So and R. Brodersen. 2008. A unified hardware/software runtime environment for FPGA-based reconfigurable computers using BORPH. ACM Trans. Embed. Comput. Syst. 7, 2, 14:1--14:28. DOI:http://dx.doi.org/10.1145/1331331.1331338 Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. H. K.-H. So and R. W. Brodersen. 2007. BORPH: An operating system for FPGA-based reconfigurable computers. Tech. Rep., UCB/EECS-2007-92, University of California, Berkeley.Google ScholarGoogle Scholar
  27. R. Sterritt and D. Bustard. 2003. Towards an autonomic computing environment. In Proceedings of the 14th International Workshop on Database and Expert Systems Applications. 694--698. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Ying Tan, Wei Liu, and Qinru Qiu. 2009. Adaptive power management using reinforcement learning. In Proceedings of the International Conference on Computer-Aided Design. 461--467. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Gerald Tesauro. 2007. Reinforcement learning in autonomic computing: A manifesto and case studies. IEEE Internet Comput. 11, 1, 22--30. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. G. Tesauro, R. Das, W. E. Walsh, and J. O. Kephart. 2005. Utility-function-driven resource allocation in autonomic systems. In Proceedings of the 2nd International Conference on Autonomic Computing. 342--343. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Yanzhi Wang, Qing Xie, Ahmed Ammari, and Massoud Pedram. 2011. Deriving a near-optimal power management policy using model-free reinforcement learning and Bayesian classification. In Proceedings of the 48th Design Automation Conference. 41--46. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Christopher J. C. H. Watkins and Peter Dayan. 1992. Technical note Q-Learning. Machine Learn. 8, 279--292. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. J. Williams and N. Bergmann. 2004. Embedded Linux as a platform for dynamically self-reconfiguring systems-on-chip. In Proceedings of the International Conference on Engineering of Reconfigurable Systems and Algorithms. Toomas P. Plaks (Ed.), CSREA Press, 163--169.Google ScholarGoogle Scholar

Index Terms

  1. Coordination of Independent Loops in Self-Adaptive Systems

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • Published in

              cover image ACM Transactions on Reconfigurable Technology and Systems
              ACM Transactions on Reconfigurable Technology and Systems  Volume 7, Issue 2
              June 2014
              199 pages
              ISSN:1936-7406
              EISSN:1936-7414
              DOI:10.1145/2638850
              Issue’s Table of Contents

              Copyright © 2014 ACM

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 4 July 2014
              • Accepted: 1 November 2013
              • Revised: 1 June 2013
              • Received: 1 December 2012
              Published in trets Volume 7, Issue 2

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article
              • Research
              • Refereed

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader
            About Cookies On This Site

            We use cookies to ensure that we give you the best experience on our website.

            Learn more

            Got it!