2 resultados para run-time allocation
em Université de Montréal
Resumo:
Les langages de programmation typés dynamiquement tels que JavaScript et Python repoussent la vérification de typage jusqu’au moment de l’exécution. Afin d’optimiser la performance de ces langages, les implémentations de machines virtuelles pour langages dynamiques doivent tenter d’éliminer les tests de typage dynamiques redondants. Cela se fait habituellement en utilisant une analyse d’inférence de types. Cependant, les analyses de ce genre sont souvent coûteuses et impliquent des compromis entre le temps de compilation et la précision des résultats obtenus. Ceci a conduit à la conception d’architectures de VM de plus en plus complexes. Nous proposons le versionnement paresseux de blocs de base, une technique de compilation à la volée simple qui élimine efficacement les tests de typage dynamiques redondants sur les chemins d’exécution critiques. Cette nouvelle approche génère paresseusement des versions spécialisées des blocs de base tout en propageant de l’information de typage contextualisée. Notre technique ne nécessite pas l’utilisation d’analyses de programme coûteuses, n’est pas contrainte par les limitations de précision des analyses d’inférence de types traditionnelles et évite la complexité des techniques d’optimisation spéculatives. Trois extensions sont apportées au versionnement de blocs de base afin de lui donner des capacités d’optimisation interprocédurale. Une première extension lui donne la possibilité de joindre des informations de typage aux propriétés des objets et aux variables globales. Puis, la spécialisation de points d’entrée lui permet de passer de l’information de typage des fonctions appellantes aux fonctions appellées. Finalement, la spécialisation des continuations d’appels permet de transmettre le type des valeurs de retour des fonctions appellées aux appellants sans coût dynamique. Nous démontrons empiriquement que ces extensions permettent au versionnement de blocs de base d’éliminer plus de tests de typage dynamiques que toute analyse d’inférence de typage statique.
Resumo:
Les modèles d'optimalité postulent que les animaux en quête de ressources utilisent le taux de gain de valeur adaptative pour optimiser plusieurs comportements tels que la répartition du temps lors de l’exploitation d‘un agrégat et l'investissement en progénitures. Bien que la durée de plusieurs comportements doit être régulée, peu d’évidences de la perception du temps sont actuellement disponibles pour les insectes et aucune pour les guêpes parasitoïdes, et ce malgré leur importance en tant que modèles écologiques. De plus, puisque les guêpes parasitoïdes sont poïkilothermes, cette capacité pourrait être affectée par la température. Nous avons supposé que les guêpes parasitoïdes auraient la capacité de percevoir le temps, à la fois de façon prospective (mesure du temps écoulé) et rétrospective (durée d'un événement passé), afin d'optimiser les décisions liées à l'exploitation d’agrégats d’hôtes et à la reproduction. Nous avons également émis l'hypothèse que la température aurait une incidence sur la perception du temps des guêpes parasitoïdes. Pour la mesure prospective du temps, nous avons utilisé la capacité d’apprentissage associatif de Microplitis croceipes (Hymenoptera: Braconidae). Les guêpes ont été entraînées à associer une odeur à la durée d'un intervalle entre des hôtes. Après leur entraînement, elles ont été testées dans un tunnel de vol avec un choix d’odeurs. Les guêpes ont choisi majoritairement l'odeur associée à l'intervalle de temps auquel elles étaient testées. Nous avons également investigué le rôle de la dépense énergétique sur la mesure du temps. Suite à une restriction de mouvement des guêpes pendant l'intervalle de temps entre les hôtes, elles choisissaient aléatoirement dans le tunnel de vol. L'absence de dépense énergétique les aurait rendues incapables de mesurer le temps. La dépense d'énergie est donc un substitut essentiel pour mesurer le temps. Pour la mesure rétrospective du temps, nous avons utilisé le processus d'évaluation de l'hôte de Trichogramma euproctidis (Hymenoptera: Trichogrammatidae). Certains trichogrammes utilisent la durée du transit initial sur l'œuf hôte afin d’en évaluer la taille et d’ajuster le nombre d’œufs à y pondre. Nous avons augmenté artificiellement la durée de transit initiale de T. euproctidis en suspendant l'œuf hôte pour le faire paraître plus gros qu'un œuf de taille similaire. Une augmentation de la durée de transit initiale a augmenté la taille de la ponte. Ceci démontre la capacité de T. euproctidis de mesurer la durée du transit initial, et donc d’une mesure du temps rétrospective. Pour déterminer si la température modifie la mesure du temps dans les espèces poïkilothermes, nous avons utilisé le comportement d’exploitation d’agrégats d’hôtes de T. euproctidis. Les modèles d’optimalités prédisent que les guêpes devraient rester plus longtemps et quitter à un faible taux de gain de valeur adaptative suite à un déplacement de longue durée plutôt que pour un déplacement de courte durée. Nous avons testé l'impact d'un déplacement de 24 h à différentes températures sur l'exploitation d’agrégats d’hôtes. Un déplacement à température chaude augmente le temps de résidence dans l’agrégat et diminue le taux de gain de valeur adaptative au moment de quitter ; ces comportements sont associés à un trajet de longue durée. L'inverse a été observé lors d’un déplacement à une température froide. Les températures chaude et froide ont modulé la mesure du temps en accélérant ou ralentissant l'horloge biologique, faisant paraître le déplacement respectivement plus long ou plus court qu’il ne l’était réellement. Ces résultats démontrent clairement que les guêpes parasitoïdes ont la capacité de mesurer le temps, autant rétrospectivement que prospectivement. Des preuves directes de leur capacité sont maintenant disponibles pour au moins deux espèces de guêpes parasitoïdes, une composante essentielle des modèles d'optimalité. Le rôle de la dépense énergétique dans la mesure du temps a aussi été démontré. Nos résultats fournissent également la preuve de l'impact de la température sur la perception du temps chez les insectes. L'utilisation de la dépense énergétique en tant que proxy pour mesurer le temps pourrait expliquer une partie de sa thermosensibilité, puisque les guêpes parasitoïdes sont poïkilothermes. Cette mesure du temps sensible à la température pourrait affecter des stratégies de lutte biologique. Sur le terrain, au début de la journée, la température de l'air sera similaire à la température de l'air autour des plantes infestées par des parasites, alors qu'elle sera plus chaude pendant la journée. En lutte biologique augmentative, les guêpes parasitoïdes libérées resteraient plus longtemps dans les agrégats d’hôtes que celles relâchées en début de journée.