Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Actor profiling in virtual execution environments

Published: 20 October 2016 Publication History

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.
[2]
Elixir. http://elixir-lang.org.
[3]
Apache Flink. https://flink.apache.org.
[4]
GPars. http://gparsdocs.de.a9sapp.eu.
[5]
Jetlang. https://github.com/jetlang/.
[6]
mpiP. http://mpip.sourceforge.net.
[7]
Zipkin. http://zipkin.io.
[8]
G. Agha. Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, 1986.
[9]
J. Armstrong. Programming Erlang: Software for a Concurrent World. Pragmatic Bookshelf, 2007.
[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.
[11]
P. Barham, A. Donnelly, R. Isaacs, and R. Mortier. Using Magpie for Request Extraction and Workload Modelling. In OSDI, pages 259–272, 2004.
[12]
W. Binder, J. G. Hulaas, and A. Villazón. Portable Resource Control in Java. In OOPSLA, pages 139–155, 2001.
[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.
[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.
[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.
[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.
[17]
Y. He, C. E. Leiserson, and W. M. Leiserson. The Cilkview Scalability Analyzer. In SPAA, pages 145–156, 2010.
[18]
C. Hewitt, P. Bishop, and R. Steiger. A Universal Modular ACTOR Formalism for Artificial Intelligence. In IJCAI, pages 235–245, 1973.
[19]
S. M. Imam and V. Sarkar. Savina - An Actor Benchmark Suite: Enabling Empirical Evaluation of Actor Libraries. In AGERE!, pages 67–80, 2014.
[20]
M. Kambadur, K. Tang, and M. A. Kim. Harmony: Collection and Analysis of Parallel Block Vectors. In ISCA, pages 452– 463, 2012.
[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.
[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.
[23]
T. Mytkowicz, A. Diwan, M. Hauswirth, and P. F. Sweeney. Evaluating the Accuracy of Java Profilers. In PLDI, pages 187–197, 2010.
[24]
A. Rosà, L. Y. Chen, and W. Binder. Profiling Actor Utilization and Communication in Akka. In Erlang, pages 24–32, 2016.
[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.
[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.
[27]
P. Stutz, A. Bernstein, and W. Cohen. Signal/Collect: Graph Algorithms for the (Semantic) Web. In ISWC, pages 764–780, 2010.
[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.
[29]
J. Vetter. Dynamic Statistical Profiling of Communication Activity in Distributed Applications. In SIGMETRICS, pages 240–250, 2002.
[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.
[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.

Cited By

View all
  • (2020)$$\mathsf{P}^{3}$$: A Profiler Suite for Parallel Applications on the Java Virtual MachineProgramming Languages and Systems10.1007/978-3-030-64437-6_19(364-372)Online publication date: 24-Nov-2020
  • (2018)Analyzing and optimizing task granularity on the JVMProceedings of the 2018 International Symposium on Code Generation and Optimization10.1145/3168828(27-37)Online publication date: 24-Feb-2018
  • (2018)Optimizing type-specific instrumentation on the JVM with reflective supertype informationJournal of Visual Languages & Computing10.1016/j.jvlc.2018.10.00749(29-45)Online publication date: Dec-2018
  • Show More Cited By

Index Terms

  1. Actor profiling in virtual execution environments

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 52, Issue 3
    GPCE '16
    March 2017
    212 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/3093335
    Issue’s Table of Contents
    • cover image ACM Conferences
      GPCE 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences
      October 2016
      212 pages
      ISBN:9781450344463
      DOI:10.1145/2993236
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 20 October 2016
    Published in SIGPLAN Volume 52, Issue 3

    Check for updates

    Author Tags

    1. actors
    2. bytecode instrumentation
    3. performance analysis
    4. profiling
    5. virtual execution environments

    Qualifiers

    • Article

    Funding Sources

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)3
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 18 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2020)$$\mathsf{P}^{3}$$: A Profiler Suite for Parallel Applications on the Java Virtual MachineProgramming Languages and Systems10.1007/978-3-030-64437-6_19(364-372)Online publication date: 24-Nov-2020
    • (2018)Analyzing and optimizing task granularity on the JVMProceedings of the 2018 International Symposium on Code Generation and Optimization10.1145/3168828(27-37)Online publication date: 24-Feb-2018
    • (2018)Optimizing type-specific instrumentation on the JVM with reflective supertype informationJournal of Visual Languages & Computing10.1016/j.jvlc.2018.10.00749(29-45)Online publication date: Dec-2018
    • (2017)Accurate reification of complete supertype information for dynamic analysis on the JVMACM SIGPLAN Notices10.1145/3170492.313606152:12(104-116)Online publication date: 23-Oct-2017
    • (2017)Accurate reification of complete supertype information for dynamic analysis on the JVMProceedings of the 16th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences10.1145/3136040.3136061(104-116)Online publication date: 23-Oct-2017
    • (2017)Speeding Up Type-Specific Instrumentation for the Analysis of Complex Systems2017 22nd International Conference on Engineering of Complex Computer Systems (ICECCS)10.1109/ICECCS.2017.14(138-141)Online publication date: Nov-2017
    • (2023)DJXPerf: Identifying Memory Inefficiencies via Object-Centric Profiling for JavaProceedings of the 21st ACM/IEEE International Symposium on Code Generation and Optimization10.1145/3579990.3580010(81-94)Online publication date: 17-Feb-2023
    • (2022)Accelerating Smart City SimulationsHigh Performance Computing10.1007/978-3-031-04209-6_11(148-162)Online publication date: 12-Apr-2022
    • (2019)Analysis and Optimization of Task Granularity on the Java Virtual MachineACM Transactions on Programming Languages and Systems10.1145/333849741:3(1-47)Online publication date: 16-Jul-2019
    • (2018)Efficient and deterministic record & replay for actor languagesProceedings of the 15th International Conference on Managed Languages & Runtimes10.1145/3237009.3237015(1-14)Online publication date: 12-Sep-2018
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media