Abstract:
Just-in-Time compilers and their aggressive speculative optimizations reduced the performance gap between dynamic and static languages drastically. To successfully speculate, compilers rely on the program variability observed at run time to be low, and use heuristics to determine when optimization is beneficial. However, some variability patterns are hard to capture with heuristics. Specifically, ephemeral, warmup, rare, and highly indirect variability are challenges for today's compiler heuristics. As a consequence, they can lead to reduced application performance. However, these types of variability are identi€able at the application level and could be mitigated with information provided by developers. As a solution, we propose a metaobject protocol for dynamic compilation systems to enable application developers to provide such information at run time. As a proof of concept, we demonstrate performance improvements for a few scenarios in a dynamic language built on top of the Truffle and Graal system. © 2017 ACM.
Registro:
Documento: |
Conferencia
|
Título: | A metaobject protocol for optimizing application-speci€c run-Time variability |
Autor: | Chari, G.; Garbervetsky, D.; Marr, S.; ACM Special Interest Group on Programming Languages (SIGPLAN); Assoc Internationale por les Technologies Objects (AITO) |
Filiación: | Departamento de Computacíon. ICC-CONICET, UBA, FCEN, Argentina Johannes Kepler University Linz, Austria
|
Palabras clave: | Object oriented programming; Optimization; Application developers; Application level; Application performance; Dynamic compilation; Just in time compilers; Metaobject protocol; Speculative optimization; Variability patterns; Program compilers |
Año: | 2017
|
DOI: |
http://dx.doi.org/10.1145/3098572.3098577 |
Título revista: | 12th Workshop on Implementation, Compilation and Optimization of Object-Oriented Languages, Programs and Systems, ICOOOLPS 2017
|
Título revista abreviado: | Proc. Workshop Implement., Compil. Optim. Object-Oriented Lang., Programs Syst., ICOOOLPS
|
Registro: | https://bibliotecadigital.exactas.uba.ar/collection/paper/document/paper_97814503_v_n_p_Chari |
Referencias:
- Chambers, C., Ungar, D., Lee, E., An efficient implementation of self a dynamically-Typed object-oriented language based on prototypes (1989) OOPSLA, pp. 49-70. , ACM, October
- Chari, G., Garbervetsky, D., Marr, S., Ducasse, S., Towards fully resective environments (2015) Onward! ACM
- Chari, G., Garbervetsky, D., Marr, S., Building efficient and highly run-Time adaptable virtual machines (2016) Proceedings of the 12th Symposium on Dynamic Languages, DLS, pp. 60-71. , http://doi.acm.org/10.1145/2989225.2989234, New York, NY, USA, 2016. ACM
- Holzle, U., Ungar, D.M., (1994) Adaptive Optimization for SELF: Reconciling High Performance with Exploratory Programming, (1520). , Department of Computer Science, Stanford University
- Holzle, U., Chambers, C., Ungar, D., Optimizing dynamically-Typed objectoriented languages with polymorphic inline caches (1991) ECOOP, pp. 21-38. , Springer
- Kiczales, G., Rivieres, J.D., (1991) E Art of the Metaobject Protocol, , MIT Press
- Marr, S., Seaton, C., Ducasse, S., Zero-overhead metaprogramming: Reection and metaobject protocols fast and without compromises (2015) PLDI, pp. 545-554. , ACM
- Pape, T., Felgentre, T., Hirschfeld, R., Optimizing sideways composition: Fast context-oriented programming in contextpypy (2016) Proceedings of the 8th International Workshop on Context-Oriented Programming, COP'16, pp. 13-20. , http://doi.acm.org/10.1145/2951965.2951967, New York, NY, USA, ACM
- Rompf, T., Sujeeth, A.K., Brown, K.J., Lee, H., Chafi, H., Olukotun, K., Surgical precision jit compilers (2014) Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI '14, pp. 41-52. , http://doi.acm.org/10.1145/2594291.2594316, ACM
- Woß, A., Wirth, C., Bonea, D., Seaton, C., Humer, C., Mossenbock, H., An object storage model for the tru.e language implementation framework (2014) PPPJ, pp. 133-144. , ACM
- Wurthinger, T., Wimmer, C., Woß, A., Stadler, L., Duboscq, G., Humer, C., Richards, G., Wolczko, M., One vm to rule them all (2013) Onward!, pp. 187-204. , ACMA4 - ACM Special Interest Group on Programming Languages (SIGPLAN); Assoc Internationale por les Technologies Objects (AITO)
Citas:
---------- APA ----------
Chari, G., Garbervetsky, D., Marr, S. & ACM Special Interest Group on Programming Languages (SIGPLAN); Assoc Internationale por les Technologies Objects (AITO)
(2017)
. A metaobject protocol for optimizing application-speci€c run-Time variability. 12th Workshop on Implementation, Compilation and Optimization of Object-Oriented Languages, Programs and Systems, ICOOOLPS 2017.
http://dx.doi.org/10.1145/3098572.3098577---------- CHICAGO ----------
Chari, G., Garbervetsky, D., Marr, S., ACM Special Interest Group on Programming Languages (SIGPLAN); Assoc Internationale por les Technologies Objects (AITO)
"A metaobject protocol for optimizing application-speci€c run-Time variability"
. 12th Workshop on Implementation, Compilation and Optimization of Object-Oriented Languages, Programs and Systems, ICOOOLPS 2017
(2017).
http://dx.doi.org/10.1145/3098572.3098577---------- MLA ----------
Chari, G., Garbervetsky, D., Marr, S., ACM Special Interest Group on Programming Languages (SIGPLAN); Assoc Internationale por les Technologies Objects (AITO)
"A metaobject protocol for optimizing application-speci€c run-Time variability"
. 12th Workshop on Implementation, Compilation and Optimization of Object-Oriented Languages, Programs and Systems, ICOOOLPS 2017, 2017.
http://dx.doi.org/10.1145/3098572.3098577---------- VANCOUVER ----------
Chari, G., Garbervetsky, D., Marr, S., ACM Special Interest Group on Programming Languages (SIGPLAN); Assoc Internationale por les Technologies Objects (AITO) A metaobject protocol for optimizing application-speci€c run-Time variability. Proc. Workshop Implement., Compil. Optim. Object-Oriented Lang., Programs Syst., ICOOOLPS. 2017.
http://dx.doi.org/10.1145/3098572.3098577