CoreTool: Identificação e Análise de Threads em Sistemas Multicore

  • Camila Koike UFMS
  • Eduardo Max UFMS
  • Rodolpho Gheleri UFMS
  • Ricardo Santos UFMS

Abstract


The availability of processing resources in current processors platforms along with the increase of software complexity reinforce the demands for tools on monitoring multithreaded applications. This paper presents CoreTool, a tool for threads behavior analysis in multicore systems. CoreTool monitors threads scheduling and execution providing useful information on cores utilization and threads load balancing (instructions per thread, threads scheduling on cores). CoreTool has been built on the top of the Pin dynamic binary instrumentation framework targeted to multithreaded applications. We have performed a set of experiments using Linux applications and programs from the Splash-2 benchmark. Our experiments were carried out on configurations of multicore processors with four (2 physical and 2 virtual) and eight (4 physical and 4 virtual) cores.

References

Bach, M., Charney, M., Cohn, R., Demikhovsky, E., Devor, T., Hazelwood, K., Jaleel, A., Luk, C. -K., Lyons, G., Patil, H. Tal, A. (2010) “Analyzing Parallel Programs with Pin”, IEEE Computer Society.

Biena, C., Kumar, S., Singh, J. P., Li, K. (2008). “The PARSEC Benchmark Suite: Characterization ad Architectural Implications”. In Proceedings of the 17th International Conference on Parallel Architectures and Compilation Techniques, pp. 72-81, ACM.

Jaleel, A., Cohn, R. S., Luk, C. K., Jacob, B. (2008). “CMP$im: A Pin-Based On-theFly Multi-Core Cache Simulator”. In Proceedings of the Fourth Annual Workshop on Modeling, Benchmarking and Simulation (MoBS), co-located with ISCA, pp. 28-36.

Kim, M., Kim, H., & Luk, C. K. (2010). “Prospector: A Dynamic Data-Dependence Profiler to Help Parallel Programming”. In Proceedings of the USENIX Workshop on Hot Topics in Parallelism.

Luk, C.-K., Cohn, R., Muth, R., Patil, H., Klauser, A., Lowney, G., Wallace, S., Reddi,V. J., Azelwood, K. (2005). “Pin: Building Customized Program Analysis Tools with Dynamic Instrumentation”. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 190–200, ACM.

Patil, H., Pereira, C., Stallcup, M., Lueck, G., Cownie, J. (2010). “Pinplay: A Framework for Deterministic Replay and Reproducible Analysis of Parallel Programs”. In Proceedings of the 8th annual IEEE/ACM International Symposium on Code Generation and Optimization, pp. 2-11, ACM.

Pin. (2012). Pin 2.13 User Guide. Disponível em: https://software.intel.com/enus/articles/pintool. Acesso em: 23/05/2014

Reddi, V., Settle, A. M., Connors, D. A., Cohn, R. S. (2004) “Pin: A Binary Instrumentation Tool for Computer Architecture Research and Education.” In Proceedings of the Workshop on Computer Architecture Education, June.

SPLASH-2 (2007). The Modified SPLASH-2. Disponível em: http://www.capsl.udel.edu/splash/. Acesso em 16/07/2014.

Treibig, J., Hager, G., Wellein, G. (2010). “ LIKWID: A Lightweight PerformanceOriented Tool Suite for x86 Multicore Environments”. In Proceedings of the 39th International Conference on Parallel Processing Workshops, pp. 207-216.

Wallace, S. and Hazelwood, K. (2007). “Superpin: Parallelizing Dynamic Instrumentation for Real-Time Performance”. In Proceedings of the International Symposium on Code Generation and Optimization, pp. 209–220, IEEE Computer Society.
Published
2014-10-08
KOIKE, Camila; MAX, Eduardo; GHELERI, Rodolpho; SANTOS, Ricardo. CoreTool: Identificação e Análise de Threads em Sistemas Multicore. In: SYMPOSIUM ON HIGH PERFORMANCE COMPUTING SYSTEMS (SSCAD), 15. , 2014, São José dos Campos. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2014 . p. 192-203. DOI: https://doi.org/10.5753/wscad.2014.15011.