Skip to main content

AkkaProf: A Profiler for Akka Actors in Parallel and Distributed Applications

  • Conference paper
  • First Online:
Programming Languages and Systems (APLAS 2016)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 10017))

Included in the following conference series:

  • 639 Accesses

Abstract

Nowadays, numerous programming languages and frameworks offer concurrency based on the actor model. Among the actor libraries for the Java Virtual Machine, Akka is the most used one, as it is employed in various parallel and distributed applications and frameworks. Unfortunately, despite the spread of actors libraries, Akka in particular, existing profiling tools are not very effective at identifying performance drawbacks in applications using actors. In this tool paper, we aim at filling this gap by presenting AkkaProf, a profiling tool for Akka actors. AkkaProf provides detailed metrics on actor utilization and on the communication between them, two fundamental aspects of actor-based applications that are overlooked by other profilers. AkkaProf aids performance analysis in several applications and frameworks in both parallel and distributed environments.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    http://akka.io.

  2. 2.

    Akka actors have replaced Scala actors since Scala 2.10.

  3. 3.

    All evaluation results are measured on a multicore platform (Intel Xeon E5-2680 2.7 GHz with 16 cores, 128 GB of RAM, CPU frequency scaling and Turbo mode disabled, Oracle JDK 1.8.0_66 b17 Hotspot Server VM 64-bit, Ubuntu Linux Server 64-bit version 14.04.3 64-bit). Each Spark o Flink worker is deployed on one such platform.

  4. 4.

    We applied the algorithm on a reduced set of 20k webpages taken from a public data source [18].

  5. 5.

    With this term, we refer to the Pearson product-moment correlation coefficient.

References

  1. Hewitt, C., Bishop, P., Steiger, R.: A universal modular ACTOR formalism for artificial intelligence. In: IJCAI, pp. 235–245 (1973)

    Google Scholar 

  2. Tasharofi, S., Dinges, P., Johnson, R.E.: Why do scala developers mix the actor model with other concurrency models? In: Castagna, G. (ed.) ECOOP 2013. LNCS, vol. 7920, pp. 302–326. Springer, Heidelberg (2013). doi:10.1007/978-3-642-39038-8_13

    Chapter  Google Scholar 

  3. Stutz, P., Bernstein, A., Cohen, W.: Signal/collect: graph algorithms for the (semantic) web. In: Patel-Schneider, P.F., Pan, Y., Hitzler, P., Mika, P., Zhang, L., Pan, J.Z., Horrocks, I., Glimm, B. (eds.) ISWC 2010. LNCS, vol. 6496, pp. 764–780. Springer, Heidelberg (2010). doi:10.1007/978-3-642-17746-0_48

    Chapter  Google Scholar 

  4. Zaharia, M., Chowdhury, M., Das, T., Dave, A., Ma, J., McCauley, M., Franklin, M.J., Shenker, S., Stoica, I.: Resilient distributed datasets: a fault-tolerant abstraction for in-memory cluster computing. In: NSDI, pp. 2:1–2:14 (2012)

    Google Scholar 

  5. Apache: Flink. https://flink.apache.org

  6. Lightbend Monitoring. https://www.lightbend.com/products/monitoring

  7. Akka Tracing. https://github.com/levkhomich/akka-tracing

  8. YourKit. https://www.yourkit.com

  9. VisualVM. https://visualvm.java.net

  10. Bestavros, A.: Load profiling in distributed real-time systems. Inf. Sci. 101, 1–27 (1997)

    Article  Google Scholar 

  11. Vetter, J.: Dynamic statistical profiling of communication activity in distributed applications. In: SIGMETRICS, pp. 240–250 (2002)

    Google Scholar 

  12. Marek, L., Villazón, A., Zheng, Y., Ansaloni, D., Binder, W., Qi, Z.: DiSL: a domain-specific language for bytecode instrumentation. In: AOSD, pp. 239–250 (2012)

    Google Scholar 

  13. Tallent, N.R., Adhianto, L., Mellor-Crummey, J.M.: Scalable identification of load imbalance in parallel executions using call path profiles. In: SC, pp. 1–11 (2010)

    Google Scholar 

  14. Yu, M., Greenberg, A., Maltz, D., Rexford, J., Yuan, L., Kandula, S., Kim, C.: Profiling network performance for multi-tier data center applications. In: NSDI, pp. 57–70 (2011)

    Google Scholar 

  15. Fonseca, R., Porter, G., Katz, R.H., Shenker, S., Stoica, I.: X-trace: a pervasive network tracing framework. In: NSDI, pp. 271–284 (2007)

    Google Scholar 

  16. Binder, W., Hulaas, J.G., Villazón, A.: Portable resource control in java. In: OOPSLA, pp. 139–155 (2001)

    Google Scholar 

  17. Imam, S.M., Sarkar, V.: Savina - an actor benchmark suite: enabling empirical evaluation of actor libraries. In: AGERE!, pp. 67–80 (2014)

    Google Scholar 

  18. Backstrom, L., Huttenlocher, D., Kleinberg, J., Lan, X.: Group formation in large social networks: membership, growth, and evolution. In: KDD, pp. 44–54 (2006)

    Google Scholar 

  19. Rosà, A., Chen, L.Y., Binder, W.: Profiling actor utilization and communication in Akka. In: Erlang, pp. 1–9 (2016)

    Google Scholar 

Download references

Acknowledgments

This work has been supported by the Swiss National Science Foundation (project 200021_141002) and by the European Commission (contract ACP2-GA-2013-605442).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Andrea Rosà .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this paper

Cite this paper

Rosà, A., Chen, L.Y., Binder, W. (2016). AkkaProf: A Profiler for Akka Actors in Parallel and Distributed Applications. In: Igarashi, A. (eds) Programming Languages and Systems. APLAS 2016. Lecture Notes in Computer Science(), vol 10017. Springer, Cham. https://doi.org/10.1007/978-3-319-47958-3_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-47958-3_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-47957-6

  • Online ISBN: 978-3-319-47958-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics