Advertisement

Machine Learning Based Performance Prediction for Multi-core Simulation

  • Jitendra Kumar Rai
  • Atul Negi
  • Rajeev Wankar
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7080)

Abstract

Programs co-running on cores share resources on multi-core processor systems. It is now well known that interference between the programs arising from the sharing may result in severe performance degradations. It is the objective of recent research in system scheduling to be aware of shared resource requirements of the running programs (threads). To this end AKULA is a toolset recently developed that provides a platform for experiments and developing thread scheduling algorithms on multi-core processors. In AKULA a bootstrapping module works on the basis of previously collected performance data of programs to simulate program execution on multi-cores. In this paper we describe a different approach where that augments such a bootstrapping module with a model built using machine learning techniques. The proposed model will extend the bootstrapping module’s ability to predict degradation in performance due to sharing where previous performance data is not available for pairing /co-scheduling of applications. Also the proposed approach allows greater scalability for variable number of processor cores sharing the resources.

Keywords

Multi-core simulation Performance prediction Machine learning techniques AKULA toolset CPU Scheduling Co-runner interference 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Zhuravlev, S., Blagodurov, S., Fedorova, A.: Addressing Shared Resource Contention in Multicore Processors via Scheduling. In: Fifteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2010), Pittsburgh, Pennsylvania, USA, pp. 129–142 (March 2010)Google Scholar
  2. 2.
    Rai, J.K., Negi, A., Wankar, R., Nayak, K.D.: A Machine Learning based Meta-Scheduler for Multi-core Processors. International Journal of Adaptive, Resilient and Autonomic Systems (IJARAS) 1(4), 46–59 (2010)CrossRefGoogle Scholar
  3. 3.
    Zhuravlev, S., Blagodurov, S., Fedorova, A.: AKULA: A Toolset for Experimenting and Developing Thread Placement Algorithms on Multicore Systems. In: Proceedings of the 19th International Conference on Parallel Architectures and Compilation Techniques (PACT 2010), Vienna, Austria, pp. 249–260 (2010)Google Scholar
  4. 4.
    Intel® 64 and IA-32 Architectures Software Developer’s Manuals, http://www.intel.com/products/processor/manuals
  5. 5.
  6. 6.
    Rai, J.K., Negi, A., Wankar, R., Nayak, K.D.: Performance Prediction on Multi-core Processors. In: The IEEE 2010 International Conference on Computational Intelligence, Communication Systems and Networks (CICN 2010), Bhopal, India, November 26-28, pp. 633–637 (2010)Google Scholar
  7. 7.
    Eranian, S.: Perfmon2: The Hardware-based Performance Monitoring Interface for Linux. In: 2006 Linux Symposium, vol. 1, pp. 269–288 (2006)Google Scholar
  8. 8.
    Standard performance evaluation corporation. SPEC CPU2006, http://www.spec.org/cpu2006/
  9. 9.
    Witten, I.H., Frank, E.: Data Mining: Practical machine learning tools and techniques, 2nd edn. Morgan Kaufmann, San Francisco (2005)zbMATHGoogle Scholar
  10. 10.
    Sherwood, T., Perelman, E., Hamerly, G., Sair, S., Calder, B.: Discovering and Exploiting Program Phases. IEEE Micro 23(6), 84–93 (2003)CrossRefGoogle Scholar
  11. 11.
    Poonacha, K., Kathirgamar, A., Kunle, O.: Niagara, a 32-way Multithreaded Sparc Processor. IEEE Micro, 21–29 (March-April 2005)Google Scholar
  12. 12.
    Niagara2: A Highly Threaded Server-on-a-Chip, http://www.opensparc.net/pubs/preszo/06/04-Sun-Golla.pdf
  13. 13.
    BIOS and Kernel Developer’s Guide (BKDG) For AMD Family 10h Processors, http://developer.amd.com/documentation/guides/pages/default.aspx
  14. 14.
    Eranian, S.: (on mailing list) Re: [perfmon2] CORE_0_SELECT Umask for L3 events on AMD F10h (2011), http://permalink.gmane.org/gmane.comp.linux.perfmon2.devel/3014
  15. 15.
    Revision Guide for AMD Family 10h Processors 41322 Rev. 3.82 (2011), support.amd.com/us/Processor_TechDocs/41322.pdf
  16. 16.
    Chandra, D., Guo, F., Kim, S., Solihin, Y.: Predicting Inter-Thread Cache Contenton on a Chip Multi-Processor Architecture. In: Proceedings of the 11th International Symposium on High Performance Computer Architecture, HPCA 2005, San Francisco, CA, USA, pp. 340–351 (2005)Google Scholar
  17. 17.
    Zhuravlev, S., Blagodurov, S., Fedorova, A.: Addressing Shared Resource Contention in Multicore Processors via Scheduling. In: Proceedings of the 15th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2010, Pittsburgh, Pennsylvania, USA, pp. 129–142 (2010)Google Scholar
  18. 18.
    Luk, C.K., Cohn, R., Muth, R., Patil, H., Klauser, A., Lowney, G., Wallace, S., Reddi, V.J., Hazelwood, K.: Pin: Building Customized Program Analysis Tools with Dynamic Instrumentation. In: Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2005, pp. 190–200 (2005)Google Scholar
  19. 19.
    Hoste, K., Eeckhout, L.: Microarchitecture-Independent Workload Characterization. IEEE Micro 27(3), 63–72 (2007)CrossRefGoogle Scholar
  20. 20.
    Xu, C., Chen, X., Dick, R.P., Mao, Z.M.: Cache Contention and Application Performance Prediction for Multi-Core Systems. In: Proceedings of the 2010 IEEE International Symposium on Performance Analysis of Systems and Softwares IEEE ISPASS 2010, White Plains NY, USA, pp. 76–86 (2010)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Jitendra Kumar Rai
    • 1
    • 2
  • Atul Negi
    • 2
  • Rajeev Wankar
    • 2
  1. 1.ANURAGHyderabadIndia
  2. 2.Department of Computer & Information SciencesUniversity of HyderabadHyderabadIndia

Personalised recommendations