Remarkable Challenges of High-Performance ...
Document type :
Rapport de recherche
Title :
Remarkable Challenges of High-Performance Language Virtual Machines
Author(s) :
Polito, Guillermo [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Ducasse, Stephane [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Tesone, Pablo [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Fabresse, Luc [Auteur]
Ecole nationale supérieure Mines-Télécom Lille Douai [IMT Nord Europe]
Thomas, G [Auteur]
Institut Mines-Télécom [Paris] [IMT]
Bacou, M [Auteur]
Institut Mines-Télécom [Paris] [IMT]
Lagadec, Loïc [Auteur]
École Nationale Supérieure de Techniques Avancées Bretagne [ENSTA Bretagne]
Equipe Hardware ARchitectures and CAD tools [Lab-STICC_ARCAD]
Cotret, Pascal [Auteur]
École Nationale Supérieure de Techniques Avancées Bretagne [ENSTA Bretagne]
Equipe Hardware ARchitectures and CAD tools [Lab-STICC_ARCAD]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Ducasse, Stephane [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Tesone, Pablo [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Fabresse, Luc [Auteur]
Ecole nationale supérieure Mines-Télécom Lille Douai [IMT Nord Europe]
Thomas, G [Auteur]
Institut Mines-Télécom [Paris] [IMT]
Bacou, M [Auteur]
Institut Mines-Télécom [Paris] [IMT]
Lagadec, Loïc [Auteur]
École Nationale Supérieure de Techniques Avancées Bretagne [ENSTA Bretagne]
Equipe Hardware ARchitectures and CAD tools [Lab-STICC_ARCAD]
Cotret, Pascal [Auteur]
École Nationale Supérieure de Techniques Avancées Bretagne [ENSTA Bretagne]
Equipe Hardware ARchitectures and CAD tools [Lab-STICC_ARCAD]
Institution :
Inria Lille - Nord Europe
Publication date :
2022-09-06
HAL domain(s) :
Informatique [cs]/Langage de programmation [cs.PL]
English abstract : [en]
Language Virtual Machines (VMs) are pervasive in every laptop, server, and smartphone, as is the case with Java or Javascript. They allow application portability between different platforms and better usage of resources. ...
Show more >Language Virtual Machines (VMs) are pervasive in every laptop, server, and smartphone, as is the case with Java or Javascript. They allow application portability between different platforms and better usage of resources. They are used in critical applications such as stock exchange, banking, insurance, and health [25]. Virtual machines are an important asset in companies because they allow the efficient execution of high-level programming languages. Nowadays, they even attract investments from large non-system companies, e.g., Netflix 1 , Meta 2 , Shopify 3 and Amazon 4. VMs achieve high-performance thanks to aggressive optimization techniques that observe and adapt the execution dynamically, either by doing just-in-time compilation [5] or by adapting the memory management strategies at runtime [90, 91]. For all these reasons Virtual Machines are highly-complex engineering pieces, often handcrafted by experts, that mix state-of-the-art compilation techniques with complex memory management that collaborate with the underlying operating systems and hardware. However, besides some well-known techniques that are published in research venues, most knowledge and technology around virtual machines are highly concentrated in large companies such as Microsoft, Google, and Oracle, making Virtual Machine construction difficult, and experiments difficult to reproduce and replicate. Language VMs present many multidisciplinary scientific challenges that appear at the intersection of fields such as hardware, system software, compiler, and software language engineering. This document aims to give a brief overview of the current challenges the VM community faces. To keep this document short, we selected remarkable challenges in managed execution, managed memory, performance evaluation, software engineering and security.Show less >
Show more >Language Virtual Machines (VMs) are pervasive in every laptop, server, and smartphone, as is the case with Java or Javascript. They allow application portability between different platforms and better usage of resources. They are used in critical applications such as stock exchange, banking, insurance, and health [25]. Virtual machines are an important asset in companies because they allow the efficient execution of high-level programming languages. Nowadays, they even attract investments from large non-system companies, e.g., Netflix 1 , Meta 2 , Shopify 3 and Amazon 4. VMs achieve high-performance thanks to aggressive optimization techniques that observe and adapt the execution dynamically, either by doing just-in-time compilation [5] or by adapting the memory management strategies at runtime [90, 91]. For all these reasons Virtual Machines are highly-complex engineering pieces, often handcrafted by experts, that mix state-of-the-art compilation techniques with complex memory management that collaborate with the underlying operating systems and hardware. However, besides some well-known techniques that are published in research venues, most knowledge and technology around virtual machines are highly concentrated in large companies such as Microsoft, Google, and Oracle, making Virtual Machine construction difficult, and experiments difficult to reproduce and replicate. Language VMs present many multidisciplinary scientific challenges that appear at the intersection of fields such as hardware, system software, compiler, and software language engineering. This document aims to give a brief overview of the current challenges the VM community faces. To keep this document short, we selected remarkable challenges in managed execution, managed memory, performance evaluation, software engineering and security.Show less >
Language :
Anglais
Collections :
Source :
Files
- https://hal.inria.fr/hal-03770065/document
- Open access
- Access the document
- https://hal.inria.fr/hal-03770065/document
- Open access
- Access the document
- document
- Open access
- Access the document
- main.pdf
- Open access
- Access the document