skip to main content
article

Actor profiling in virtual execution environments

Published:20 October 2016Publication History
Skip Abstract Section

Abstract

Nowadays, many virtual execution environments benefit from concurrency offered by the actor model. Unfortunately, while actors are used in many applications, existing profiling tools are not much effective in analyzing the performance of applications using actors. In this paper, we present a new instrumentation-based technique to profile actors in virtual execution environments. Our technique adopts platform-independent profiling metrics that minimize the perturbations induced by the instrumentation logic and allow comparing profiling results across different platforms. In particular, our technique measures the initialization cost, the amount of executed computations, and the messages sent and received by each actor. We implement our technique within a profiling tool for Akka actors on the Java platform. Evaluation results show that our profiling technique helps performance analysis of actor utilization and communication between actors in large-scale computing frameworks.

References

  1. Akka. http://akka.io.Google ScholarGoogle Scholar
  2. Elixir. http://elixir-lang.org.Google ScholarGoogle Scholar
  3. Apache Flink. https://flink.apache.org.Google ScholarGoogle Scholar
  4. GPars. http://gparsdocs.de.a9sapp.eu.Google ScholarGoogle Scholar
  5. Jetlang. https://github.com/jetlang/.Google ScholarGoogle Scholar
  6. mpiP. http://mpip.sourceforge.net.Google ScholarGoogle Scholar
  7. Zipkin. http://zipkin.io.Google ScholarGoogle Scholar
  8. G. Agha. Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J. Armstrong. Programming Erlang: Software for a Concurrent World. Pragmatic Bookshelf, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. L. Backstrom, D. Huttenlocher, J. Kleinberg, and X. Lan. Group Formation in Large Social Networks: Membership, Growth, and Evolution. In KDD, pages 44–54, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. P. Barham, A. Donnelly, R. Isaacs, and R. Mortier. Using Magpie for Request Extraction and Workload Modelling. In OSDI, pages 259–272, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. W. Binder, J. G. Hulaas, and A. Villazón. Portable Resource Control in Java. In OOPSLA, pages 139–155, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. J. Dedecker, T. Van Cutsem, S. Mostinckx, T. D’Hondt, and W. De Meuter. Ambient-Oriented Programming in Ambienttalk. In ECOOP, pages 230–254, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. K. Du Bois, J. B. Sartor, S. Eyerman, and L. Eeckhout. Bottle Graphs: Visualizing Scalability Bottlenecks in Multi-threaded Applications. In OOPSLA, pages 355–372, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. R. Fonseca, G. Porter, R. H. Katz, S. Shenker, and I. Stoica. X-trace: A Pervasive Network Tracing Framework. In NSDI, pages 271–284, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. K. Hammond, H.-W. Loidl, and A. S. Partridge. Visualising granularity in parallel programs: A graphical winnowing system for Haskell. In HPFC, volume 95, pages 208–221, 1995.Google ScholarGoogle Scholar
  17. Y. He, C. E. Leiserson, and W. M. Leiserson. The Cilkview Scalability Analyzer. In SPAA, pages 145–156, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. C. Hewitt, P. Bishop, and R. Steiger. A Universal Modular ACTOR Formalism for Artificial Intelligence. In IJCAI, pages 235–245, 1973. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. S. M. Imam and V. Sarkar. Savina - An Actor Benchmark Suite: Enabling Empirical Evaluation of Actor Libraries. In AGERE!, pages 67–80, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. M. Kambadur, K. Tang, and M. A. Kim. Harmony: Collection and Analysis of Parallel Block Vectors. In ISCA, pages 452– 463, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. L. Marek, A. Villazón, Y. Zheng, D. Ansaloni, W. Binder, and Z. Qi. DiSL: A Domain-specific Language for Bytecode Instrumentation. In AOSD, pages 239–250, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. M. L. Massie, B. N. Chun, and D. E. Culler. The ganglia distributed monitoring system: design, implementation, and experience. Parallel Computing, 30(7):817 – 840, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  23. T. Mytkowicz, A. Diwan, M. Hauswirth, and P. F. Sweeney. Evaluating the Accuracy of Java Profilers. In PLDI, pages 187–197, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. A. Rosà, L. Y. Chen, and W. Binder. Profiling Actor Utilization and Communication in Akka. In Erlang, pages 24–32, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. R. Schöne, R. Tschüter, T. Ilsche, and D. Hackenberg. The VampirTrace Plugin Counter Interface: Introduction and Examples. In Euro-Par 2010 Parallel Processing Workshops, pages 501–511, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. B. H. Sigelman, L. A. Barroso, M. Burrows, P. Stephenson, M. Plakal, D. Beaver, S. Jaspan, and C. Shanbhag. Dapper, a Large-Scale Distributed Systems Tracing Infrastructure. Technical report, Google, Inc., 2010.Google ScholarGoogle Scholar
  27. P. Stutz, A. Bernstein, and W. Cohen. Signal/Collect: Graph Algorithms for the (Semantic) Web. In ISWC, pages 764–780, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. S. Tasharofi, P. Dinges, and R. E. Johnson. Why Do Scala Developers Mix the Actor Model with Other Concurrency Models? In ECOOP, pages 302–326, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. J. Vetter. Dynamic Statistical Profiling of Communication Activity in Distributed Applications. In SIGMETRICS, pages 240–250, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. M. Yu, A. Greenberg, D. Maltz, J. Rexford, L. Yuan, S. Kandula, and C. Kim. Profiling Network Performance for Multi-tier Data Center Applications. In NSDI, pages 57–70, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. M. Zaharia, M. Chowdhury, T. Das, A. Dave, J. Ma, M. Mc-Cauley, M. J. Franklin, S. Shenker, and I. Stoica. Resilient Distributed Datasets: A Fault-tolerant Abstraction for In-memory Cluster Computing. In NSDI, pages 2:1–2:14, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Actor profiling in virtual execution environments

    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

    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!