Conferencia

Chari, G.; Garbervetsky, D.; Marr, S.; Ierusalimschy R.; ACM SIGPLAN "Building efficient and highly run-time adaptable virtual machines" (2016) 12th Symposium on Dynamic Languages, DLS 2016:60-71
Estamos trabajando para incorporar este artículo al repositorio
Consulte el artículo en la página del editor

Abstract:

Programming language virtual machines (VMs) realize language semantics, enforce security properties, and execute applications efficiently. Fully Reflective Execution Environments (EEs) are VMs that additionally expose their whole structure and behavior to applications. This enables developers to observe and adapt VMs at run time. However, there is a belief that reflective EEs are not viable for practical usages because such flexibility would incur a high performance overhead. To refute this belief, we built a reflective EE on top of a highly optimizing dynamic compiler. We introduced a new optimization model that, based on the conjecture that variability of low-level (EE-level) reflective behavior is low in many scenarios, mitigates the most significant sources of the performance overheads related to the reflective capabilities in the EE. Our experiments indicate that reflective EEs can reach peak performance in the order of standard VMs. Concretely, that a) if reflective mechanisms are not used the execution overhead is negligible compared to standard VMs, b) VM operations can be redefined at language-level without incurring in significant overheads, c) for several software adaptation tasks, applying the reflection at the VM level is not only lightweight in terms of engineering effort, but also competitive in terms of performance in comparison to other ad-hoc solutions.

Registro:

Documento: Conferencia
Título:Building efficient and highly run-time adaptable virtual machines
Autor:Chari, G.; Garbervetsky, D.; Marr, S.; Ierusalimschy R.; ACM SIGPLAN
Filiación:Departamento de Computación, FCEyN, UBA, CONICET, Argentina
Johannes Kepler University Linz, Linz, Austria
Palabras clave:Metaobject protocols; Performance; Reflection; Virtual machines; Dynamic light scattering; Optimization; Program compilers; Reflection; Semantics; Execution environments; Language semantics; Metaobject protocol; Optimization modeling; Performance; Security properties; Software adaptation; Virtual machines; C (programming language)
Año:2016
Página de inicio:60
Página de fin:71
DOI: http://dx.doi.org/10.1145/2989225.2989234
Título revista:12th Symposium on Dynamic Languages, DLS 2016
Título revista abreviado:DLS - Proc. Symp. Dyn. Lang., co-located SPLASH
Registro:https://bibliotecadigital.exactas.uba.ar/collection/paper/document/paper_97814503_v_n_p60_Chari

Referencias:

  • (2012) Bridging the Gap between Machine and Language using First- Class Building Blocks, , PhD thesis, University of Bern
  • Arnaud, J.-B., Denker, M., Ducasse, S., Pollet, D., Bergel, A., Suen, M., Read-only execution for dynamic languages (2010) TOOLS, pp. 117-136. , Springer
  • Asai, K., Compiling a reflective language using metaocaml (2014) GPCE, pp. 113-122. , ACM
  • Chambers, C., Ungar, D., Lee, J.-B.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 reflective environments (2015) Onward! ACM
  • Deutsch, L.P., Schiffman, A.M., Efficient implementation of the Smalltalk-80 system (1984) POPL, , Jan
  • De Vito, Z., Ritchie, D., Fisher, M., Aiken, A., Hanrahan, P., First-class runtime generation of high-performance types using exotypes (2014) PLDI, pp. 77-88. , ACM
  • Goldberg, A., Robson, D., (1983) Smalltalk-80: The language and its implementation, , Addison-Wesley
  • Haupt, M., Hirschfeld, R., Pape, T., Gabrysiak, G., Marr, S., Bergmann, A., Heise, A., Krahn, R., The som family: Virtual machines for teaching and research (2010) ITiCSE, pp. 18-22. , ACM
  • Hölzle, U., Chambers, C., Ungar, D., Optimizing dynamically-typed object-oriented languages with polymorphic inline caches (1991) ECOOP, pp. 21-38. , Springer
  • Kiczales, G., Rivieres, J.D., (1991) The Art of the Metaobject Protocol, , MIT Press
  • Marr, S., Ducasse, S., Tracing vs. Partial evaluation: Comparing meta-compilation approaches for self-optimizing interpreters (2015) OOPSLA, pp. 821-839. , ACM
  • Marr, S., Pape, T., De Meuter, W., AreWe there yet? Simple language implementation techniques for the 21st century (2014) IEEE Software, 31 (5), pp. 60-67
  • Marr, S., Seaton, C., Ducasse, S., Zero-overhead metaprogramming: Reflection and metaobject protocols fast and without compromises (2015) PLDI, pp. 545-554. , ACM
  • Rothlisberger, D., Harry, M., Villazon, A., Ansaloni, D., Binder, W., Nierstrasz, O., Moret, P., Augmenting static source views in ides with dynamic metrics (2009) ICSM '09, pp. 253-262. , Sept
  • Salvaneschi, G., Ghezzi, C., Pradella, M., An analysis of language-level support for self-adaptive software (2013) TAAS, 8 (2), p. 7
  • Seaton, C., Van De Vanter, M.L., Haupt, M., Debugging at full speed (2014) DLYA, pp. 1-13. , ACM
  • Shali, A., Cook, W.R., Hybrid partial evaluation (2011) OOPSLA, pp. 375-390. , ACM
  • Simon, D., Wimmer, C., Urban, B., Duboscq, G., Stadler, L., Würthinger, T., Snippets: Taking the high road to a low level (2015) ACM Trans. Archit. Code Optim., 12 (2), pp. 201-2025. , June
  • Ungar, D., Spitz, A., Ausch, A., Constructing a metacircular virtual machine in an exploratory programming environment (2005) OOPSLA, pp. 11-20. , ACM
  • Verwaest, T., Bruni, C., Gurtner, D., Lienhard, A., Niestrasz, O., Pinocchio: Bringing reflection to life with first-class interpreters (2010) OOPSLA, pp. 774-789. , ACM
  • Wernli, E., Nierstrasz, O., Teruel, C., Ducasse, S., Delegation proxies: The power of propagation (2014) Modularity, pp. 1-12. , ACM
  • Wöß, A., Wirth, C., Bonetta, D., Seaton, C., Humer, C., Mössenböck, H., An object storage model for the truffle language implementation framework (2014) PPPJ, pp. 133-144. , ACM
  • Würthinger, T., Wimmer, C., Wöß, A., Stadler, L., Duboscq, G., Humer, C., Richards, G., Wolczko, M., One vm to rule them all (2013) Onward!, pp. 187-204. , ACM
  • Würthinger, T., Wöß, A., Stadler, L., Duboscq, G., Simon, D., Wimmer, C., Self-optimizing ast interpreters (2012) DLS, pp. 73-82. , ACMA4 - ACM SIGPLAN

Citas:

---------- APA ----------
Chari, G., Garbervetsky, D., Marr, S., Ierusalimschy R. & ACM SIGPLAN (2016) . Building efficient and highly run-time adaptable virtual machines. 12th Symposium on Dynamic Languages, DLS 2016, 60-71.
http://dx.doi.org/10.1145/2989225.2989234
---------- CHICAGO ----------
Chari, G., Garbervetsky, D., Marr, S., Ierusalimschy R., ACM SIGPLAN "Building efficient and highly run-time adaptable virtual machines" . 12th Symposium on Dynamic Languages, DLS 2016 (2016) : 60-71.
http://dx.doi.org/10.1145/2989225.2989234
---------- MLA ----------
Chari, G., Garbervetsky, D., Marr, S., Ierusalimschy R., ACM SIGPLAN "Building efficient and highly run-time adaptable virtual machines" . 12th Symposium on Dynamic Languages, DLS 2016, 2016, pp. 60-71.
http://dx.doi.org/10.1145/2989225.2989234
---------- VANCOUVER ----------
Chari, G., Garbervetsky, D., Marr, S., Ierusalimschy R., ACM SIGPLAN Building efficient and highly run-time adaptable virtual machines. DLS - Proc. Symp. Dyn. Lang., co-located SPLASH. 2016:60-71.
http://dx.doi.org/10.1145/2989225.2989234