Search engine for discovering works of Art, research articles, and books related to Art and Culture
ShareThis
Javascript must be enabled to continue!

Scheduler guided OpenMP execution in cloud VMs

View through CrossRef
Exécution OpenMP guidée par le ordonnanceur dans les machines virtuelles cloud OpenMP est un cadre largement utilisé pour paralléliser les applications, permettant le parallélisme au niveau des threads via de simples annotations dans le code source. Il suit le modèle fork-join et s'appuie fortement sur la synchronisation par barrières entre les threads de travail. L'exécution d'applications compatibles OpenMP dans le cloud est de plus en plus répandue grâce à l'élasticité, aux démarrages rapides et à la tarification à l'usage. Dans ce contexte, la synchronisation par barrières, dont l'efficacité dépend de décisions d'ordonnancement prises en temps opportun, est vulnérable au double ordonnancement et demeure peu étudiée. Dans une exécution sur le cloud, les threads de travail s'exécutent à l'intérieur d'une machine virtuelle (VM) et subissent deux niveaux d'ordonnancement : les threads sont placés sur des processeurs virtuels invités (vCPU), et ces vCPU s'exécutent comme des tâches ordinaires sur les processeurs physiques de l'hôte (pCPU). L'ordonnanceur invité place les threads sur les vCPU, tandis que l'ordonnanceur de l'hôte place les vCPU sur les pCPU. Agissant indépendamment, ces ordonnanceurs créent un écart sémantique susceptible de dégrader les performances des applications. Cette thèse introduit la notion de vCPU fantômes pour désigner des préemptions problématiques au niveau de l'hôte, où des vCPU invités restent en file d'attente sur des pCPU occupés, bloquant la progression. Nous montrons que les performances peuvent être sensiblement améliorées en (1) adaptant dynamiquement le degré de parallélisation (DoP) au début de chaque région parallèle et (2) choisissant dynamiquement entre l'attente active (spinning)et le blocage aux barrières, par thread et par barrière. Nous proposons des techniques paravirtualisées, informées par l'ordonnancement, qui guident avec précision ces décisions et en démontrons l'efficacité dans des déploiements réalistes. Les principales contributions de cette thèse sont résumées ci-dessous : 1. Une analyse inédite de l'influence de l'écart sémantique sur les applications OpenMP, rendue possible par notre outil interne de traçage et de visualisation de l'ordonnancement hôte-invité, dispel_tracer. 2. Phantom Tracker, une solution algorithmique s'appuyant sur un ordonnancement paravirtualisé pour détecter et quantifier avec précision les vCPU fantômes. 3. pv-Barrier-Sync, un mécanisme de synchronisation par barrière dynamique piloté par les informations d'ordonnancement fournies par Phantom Tracker. 4. Juunansei, une extension de l'environnement d'exécution OpenMP qui illustre l'utilité pratique de Phantom Tracker et pv-Barrier-Sync. 5. Une évaluation détaillée de Juunansei à l'aide de la suite de micro-benchmarks OpenMPEPCC et de charges représentatives de la suite NAS Parallel Benchmarks (NPB).
Agence Bibliographique de l'Enseignement Supérieur
Title: Scheduler guided OpenMP execution in cloud VMs
Description:
Exécution OpenMP guidée par le ordonnanceur dans les machines virtuelles cloud OpenMP est un cadre largement utilisé pour paralléliser les applications, permettant le parallélisme au niveau des threads via de simples annotations dans le code source.
Il suit le modèle fork-join et s'appuie fortement sur la synchronisation par barrières entre les threads de travail.
L'exécution d'applications compatibles OpenMP dans le cloud est de plus en plus répandue grâce à l'élasticité, aux démarrages rapides et à la tarification à l'usage.
Dans ce contexte, la synchronisation par barrières, dont l'efficacité dépend de décisions d'ordonnancement prises en temps opportun, est vulnérable au double ordonnancement et demeure peu étudiée.
Dans une exécution sur le cloud, les threads de travail s'exécutent à l'intérieur d'une machine virtuelle (VM) et subissent deux niveaux d'ordonnancement : les threads sont placés sur des processeurs virtuels invités (vCPU), et ces vCPU s'exécutent comme des tâches ordinaires sur les processeurs physiques de l'hôte (pCPU).
L'ordonnanceur invité place les threads sur les vCPU, tandis que l'ordonnanceur de l'hôte place les vCPU sur les pCPU.
Agissant indépendamment, ces ordonnanceurs créent un écart sémantique susceptible de dégrader les performances des applications.
Cette thèse introduit la notion de vCPU fantômes pour désigner des préemptions problématiques au niveau de l'hôte, où des vCPU invités restent en file d'attente sur des pCPU occupés, bloquant la progression.
Nous montrons que les performances peuvent être sensiblement améliorées en (1) adaptant dynamiquement le degré de parallélisation (DoP) au début de chaque région parallèle et (2) choisissant dynamiquement entre l'attente active (spinning)et le blocage aux barrières, par thread et par barrière.
Nous proposons des techniques paravirtualisées, informées par l'ordonnancement, qui guident avec précision ces décisions et en démontrons l'efficacité dans des déploiements réalistes.
Les principales contributions de cette thèse sont résumées ci-dessous : 1.
Une analyse inédite de l'influence de l'écart sémantique sur les applications OpenMP, rendue possible par notre outil interne de traçage et de visualisation de l'ordonnancement hôte-invité, dispel_tracer.
2.
Phantom Tracker, une solution algorithmique s'appuyant sur un ordonnancement paravirtualisé pour détecter et quantifier avec précision les vCPU fantômes.
3.
pv-Barrier-Sync, un mécanisme de synchronisation par barrière dynamique piloté par les informations d'ordonnancement fournies par Phantom Tracker.
4.
Juunansei, une extension de l'environnement d'exécution OpenMP qui illustre l'utilité pratique de Phantom Tracker et pv-Barrier-Sync.
5.
Une évaluation détaillée de Juunansei à l'aide de la suite de micro-benchmarks OpenMPEPCC et de charges représentatives de la suite NAS Parallel Benchmarks (NPB).

Related Results

High-level compiler analysis for OpenMP
High-level compiler analysis for OpenMP
Nowadays, applications from dissimilar domains, such as high-performance computing and high-integrity systems, require levels of performance that can only be achieved by means of s...
Towards a safe and efficient OpenMP
Towards a safe and efficient OpenMP
(English) The growing complexity of contemporary multi-core and heterogeneous architectures necessitates parallel programming models capable of efficiently leveraging the available...
CLOUD COMPUTING - NAVIGATING THE DIGITAL SKY
CLOUD COMPUTING - NAVIGATING THE DIGITAL SKY
“Cloud Computing – Navigating the Digital Sky” is an extensive guide designed to provide a thorough understanding of cloud computing, an essential technology in today’s digital age...
Clustering based EO with MRF technique for effective load balancing in cloud computing
Clustering based EO with MRF technique for effective load balancing in cloud computing
Purpose Cloud computing (CC) refers to the usage of virtualization technology to share computing resources through the internet. Task scheduling (TS) is used to assign computationa...
Causal Relationship Between Metabolites and Vasomotor Symptoms in Menopause: A Two-Sample Mendelian Randomization Analysis Study
Causal Relationship Between Metabolites and Vasomotor Symptoms in Menopause: A Two-Sample Mendelian Randomization Analysis Study
Abstract Objective: Perimenopause represents a critical phase in a woman's reproductive journey characterized by a myriad of challenges, with vasomotor symptoms (VMS) emerg...
Automatic Parallelization for Heterogeneous Embedded Systems
Automatic Parallelization for Heterogeneous Embedded Systems
Parallélisation automatique pour systèmes hétérogènes embarqués L'utilisation d'architectures hétérogènes, combinant des processeurs multicoeurs avec des accélérate...

Back to Top