Javascript must be enabled to continue!
Virtualization support for application runtime specialization and extension
View through CrossRef
Virtualisation pour spécialisation et extension d'environnements d'exécution
Un environnement d'exécution est l'ensemble des éléments logiciels qui représentent une application pendant son exécution. Les environnements d'exécution doivent être adaptables à différents contextes. Les progrès des technologies de l'information, tant au niveau logiciel qu'au niveau matériel, rendent ces adaptations nécessaires. Par exemple, nous pouvons envisager d'étendre un langage de programmation pour améliorer la productivité des développeurs. Aussi, nous pouvons envisager de réduire la consommation mémoire des applications de manière transparente afin de les adapter à certaines contraintes d'exécution e.g., des réseaux lents ou de la mémoire limités. Nous proposons Espell, une infrastructure pour la virtualisation d'environnement d'éxécution de langages orienté-objets haut-niveau. Espell fournit une infrastructure généraliste pour le contrôle et la manipulation d'environnements d'exécution pour différentes situations. Une représentation de "premier-ordre" de l'environnement d'exécution orienté-objet, que nous appelons "object space", fournit une interface haut-niveau qui permet la manipulation de ces environnements et clarifie le contrat entre le langage et la machine virtuelle. Un hyperviseur est client d'un object space et le manipule soit directement au travers d'objets "miroirs", soit en y exécutant des expressions arbitraires. Nous avons implémenté un prototype de Espell sur Pharo. Nous montrons au travers de notre prototype que cet infrastructure supporte le "bootstrapping" (i.e., l'amorçage ou initialisation circulaire) des langages et le "tailoring"~(i.e., la construction sur-mesure ou "taille") d'environnement d'exécution. En utilisant l'amorçage nous initialisons un langage orienté-objet haut-niveau qui est auto-décrit. Un langage amorcé profite de ses propres abstractions se montrant donc plus simple à étendre. Nous avons amorcé quatre langages qui présentent des modèles de programmation différents e.g., avec des "traits", avec des variables d'instance de 'premier-ordre' ou avec une couche réflexive basé sur le concept de "miroirs". La taille d'environnements d'exécution est une technique qui génère une application spécialisé en extrayant seulement le code utilisé pendant l'exécution d'un programme. Une application taillée inclut seulement les classes et méthodes qu'elle nécessite, et évite que des librairies et des frameworks externes surchargent inutilement la base de code. Notre technique de taille basé sur Espell, que nous appelons "run-fail-grow" (i.e., exécuter-échouer-grandir), créé des versions spécialisées des applications, en sauvant entre un 95% et 99% de la mémoire en comparaison avec la distribution officielle de Pharo.
Title: Virtualization support for application runtime specialization and extension
Description:
Virtualisation pour spécialisation et extension d'environnements d'exécution
Un environnement d'exécution est l'ensemble des éléments logiciels qui représentent une application pendant son exécution.
Les environnements d'exécution doivent être adaptables à différents contextes.
Les progrès des technologies de l'information, tant au niveau logiciel qu'au niveau matériel, rendent ces adaptations nécessaires.
Par exemple, nous pouvons envisager d'étendre un langage de programmation pour améliorer la productivité des développeurs.
Aussi, nous pouvons envisager de réduire la consommation mémoire des applications de manière transparente afin de les adapter à certaines contraintes d'exécution e.
g.
, des réseaux lents ou de la mémoire limités.
Nous proposons Espell, une infrastructure pour la virtualisation d'environnement d'éxécution de langages orienté-objets haut-niveau.
Espell fournit une infrastructure généraliste pour le contrôle et la manipulation d'environnements d'exécution pour différentes situations.
Une représentation de "premier-ordre" de l'environnement d'exécution orienté-objet, que nous appelons "object space", fournit une interface haut-niveau qui permet la manipulation de ces environnements et clarifie le contrat entre le langage et la machine virtuelle.
Un hyperviseur est client d'un object space et le manipule soit directement au travers d'objets "miroirs", soit en y exécutant des expressions arbitraires.
Nous avons implémenté un prototype de Espell sur Pharo.
Nous montrons au travers de notre prototype que cet infrastructure supporte le "bootstrapping" (i.
e.
, l'amorçage ou initialisation circulaire) des langages et le "tailoring"~(i.
e.
, la construction sur-mesure ou "taille") d'environnement d'exécution.
En utilisant l'amorçage nous initialisons un langage orienté-objet haut-niveau qui est auto-décrit.
Un langage amorcé profite de ses propres abstractions se montrant donc plus simple à étendre.
Nous avons amorcé quatre langages qui présentent des modèles de programmation différents e.
g.
, avec des "traits", avec des variables d'instance de 'premier-ordre' ou avec une couche réflexive basé sur le concept de "miroirs".
La taille d'environnements d'exécution est une technique qui génère une application spécialisé en extrayant seulement le code utilisé pendant l'exécution d'un programme.
Une application taillée inclut seulement les classes et méthodes qu'elle nécessite, et évite que des librairies et des frameworks externes surchargent inutilement la base de code.
Notre technique de taille basé sur Espell, que nous appelons "run-fail-grow" (i.
e.
, exécuter-échouer-grandir), créé des versions spécialisées des applications, en sauvant entre un 95% et 99% de la mémoire en comparaison avec la distribution officielle de Pharo.
Related Results
Emerging Virtualization Technology
Emerging Virtualization Technology
Virtualization represents a class of technologies that covers a wide range of applications and implementations. Virtualization can be applied to hardware or s...
Assessment of Network & Processor Virtualization in Cloud Computing
Assessment of Network & Processor Virtualization in Cloud Computing
Cloud Computing is an emerging field in applied computer science. Cloud computing depends on virtualization, where a sole physical resource is virtualized into numerous virtual res...
Ada runtime environment working group—a framework for describing Ada runtime environment
Ada runtime environment working group—a framework for describing Ada runtime environment
The concept of a runtime environment to support program execution has always been associated with application software - it has only been with programming languages like Ada that t...
Are Hypervisors Microkernels Done Right? An Architectural Analysis
Are Hypervisors Microkernels Done Right? An Architectural Analysis
Abstract
Modern computing infrastructures increasingly rely on virtualization technologies to improve resource utilization, system scalability, a...
Runtime Verification on Robotics Systems
Runtime Verification on Robotics Systems
Runtime verification is a technique for generating monitors from formal specification of expected behaviors for the underlying system. It can be applied to automatically evaluate s...
A Survey of Middleware for Sensor and Network Virtualization
A Survey of Middleware for Sensor and Network Virtualization
Wireless Sensor Network (WSN) is leading to a new paradigm of Internet of Everything (IoE). WSNs have a wide range of applications but are usually deployed in a particular applicat...
Comparative analysis for the selection of a virtualization tool using the AHP Model
Comparative analysis for the selection of a virtualization tool using the AHP Model
This paper presents a comprehensive comparative analysis of virtualization tools, grounding its study on applying the AHP model. Virtualization is introduced as an emerging technol...
Pengukuran Kinerja Kubernetes Cluster pada Nested Virtualization Berbasi KVM
Pengukuran Kinerja Kubernetes Cluster pada Nested Virtualization Berbasi KVM
Kubernetes sebagai sistem orkestrasi container open-source yang dapat diimplementasikan dalam infrastruktur fisik dan infrastruktur tervisualisasi. Dalam implementasi virtualisasi,...

